#[allow(unused_imports)]
use super::*;
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::AnnotateVideoRequest {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__input_uri,
__input_content,
__features,
__video_context,
__output_uri,
__location_id,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for AnnotateVideoRequest")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"inputUri" => Ok(__FieldTag::__input_uri),
"input_uri" => Ok(__FieldTag::__input_uri),
"inputContent" => Ok(__FieldTag::__input_content),
"input_content" => Ok(__FieldTag::__input_content),
"features" => Ok(__FieldTag::__features),
"videoContext" => Ok(__FieldTag::__video_context),
"video_context" => Ok(__FieldTag::__video_context),
"outputUri" => Ok(__FieldTag::__output_uri),
"output_uri" => Ok(__FieldTag::__output_uri),
"locationId" => Ok(__FieldTag::__location_id),
"location_id" => Ok(__FieldTag::__location_id),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::AnnotateVideoRequest;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct AnnotateVideoRequest")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__input_uri => {
if !fields.insert(__FieldTag::__input_uri) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for input_uri",
));
}
result.input_uri = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__input_content => {
if !fields.insert(__FieldTag::__input_content) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for input_content",
));
}
struct __With(std::option::Option<::bytes::Bytes>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<serde_with::base64::Base64> >::deserialize(deserializer).map(__With)
}
}
result.input_content =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__features => {
if !fields.insert(__FieldTag::__features) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for features",
));
}
result.features = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Feature>>>()?.unwrap_or_default();
}
__FieldTag::__video_context => {
if !fields.insert(__FieldTag::__video_context) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for video_context",
));
}
result.video_context = map
.next_value::<std::option::Option<crate::model::VideoContext>>()?;
}
__FieldTag::__output_uri => {
if !fields.insert(__FieldTag::__output_uri) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for output_uri",
));
}
result.output_uri = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__location_id => {
if !fields.insert(__FieldTag::__location_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for location_id",
));
}
result.location_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::VideoContext {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__segments,
__label_detection_config,
__shot_change_detection_config,
__explicit_content_detection_config,
__face_detection_config,
__speech_transcription_config,
__text_detection_config,
__person_detection_config,
__object_tracking_config,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for VideoContext")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"segments" => Ok(__FieldTag::__segments),
"labelDetectionConfig" => Ok(__FieldTag::__label_detection_config),
"label_detection_config" => Ok(__FieldTag::__label_detection_config),
"shotChangeDetectionConfig" => {
Ok(__FieldTag::__shot_change_detection_config)
}
"shot_change_detection_config" => {
Ok(__FieldTag::__shot_change_detection_config)
}
"explicitContentDetectionConfig" => {
Ok(__FieldTag::__explicit_content_detection_config)
}
"explicit_content_detection_config" => {
Ok(__FieldTag::__explicit_content_detection_config)
}
"faceDetectionConfig" => Ok(__FieldTag::__face_detection_config),
"face_detection_config" => Ok(__FieldTag::__face_detection_config),
"speechTranscriptionConfig" => {
Ok(__FieldTag::__speech_transcription_config)
}
"speech_transcription_config" => {
Ok(__FieldTag::__speech_transcription_config)
}
"textDetectionConfig" => Ok(__FieldTag::__text_detection_config),
"text_detection_config" => Ok(__FieldTag::__text_detection_config),
"personDetectionConfig" => Ok(__FieldTag::__person_detection_config),
"person_detection_config" => Ok(__FieldTag::__person_detection_config),
"objectTrackingConfig" => Ok(__FieldTag::__object_tracking_config),
"object_tracking_config" => Ok(__FieldTag::__object_tracking_config),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::VideoContext;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct VideoContext")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__segments => {
if !fields.insert(__FieldTag::__segments) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segments",
));
}
result.segments = map.next_value::<std::option::Option<std::vec::Vec<crate::model::VideoSegment>>>()?.unwrap_or_default();
}
__FieldTag::__label_detection_config => {
if !fields.insert(__FieldTag::__label_detection_config) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for label_detection_config",
));
}
result.label_detection_config = map.next_value::<std::option::Option<crate::model::LabelDetectionConfig>>()?
;
}
__FieldTag::__shot_change_detection_config => {
if !fields.insert(__FieldTag::__shot_change_detection_config) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for shot_change_detection_config",
));
}
result.shot_change_detection_config = map.next_value::<std::option::Option<crate::model::ShotChangeDetectionConfig>>()?
;
}
__FieldTag::__explicit_content_detection_config => {
if !fields.insert(__FieldTag::__explicit_content_detection_config) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for explicit_content_detection_config",
));
}
result.explicit_content_detection_config =
map.next_value::<std::option::Option<
crate::model::ExplicitContentDetectionConfig,
>>()?;
}
__FieldTag::__face_detection_config => {
if !fields.insert(__FieldTag::__face_detection_config) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for face_detection_config",
));
}
result.face_detection_config = map.next_value::<std::option::Option<crate::model::FaceDetectionConfig>>()?
;
}
__FieldTag::__speech_transcription_config => {
if !fields.insert(__FieldTag::__speech_transcription_config) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for speech_transcription_config",
));
}
result.speech_transcription_config = map.next_value::<std::option::Option<crate::model::SpeechTranscriptionConfig>>()?
;
}
__FieldTag::__text_detection_config => {
if !fields.insert(__FieldTag::__text_detection_config) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for text_detection_config",
));
}
result.text_detection_config = map.next_value::<std::option::Option<crate::model::TextDetectionConfig>>()?
;
}
__FieldTag::__person_detection_config => {
if !fields.insert(__FieldTag::__person_detection_config) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for person_detection_config",
));
}
result.person_detection_config = map.next_value::<std::option::Option<crate::model::PersonDetectionConfig>>()?
;
}
__FieldTag::__object_tracking_config => {
if !fields.insert(__FieldTag::__object_tracking_config) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for object_tracking_config",
));
}
result.object_tracking_config = map.next_value::<std::option::Option<crate::model::ObjectTrackingConfig>>()?
;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::LabelDetectionConfig {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__label_detection_mode,
__stationary_camera,
__model,
__frame_confidence_threshold,
__video_confidence_threshold,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for LabelDetectionConfig")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"labelDetectionMode" => Ok(__FieldTag::__label_detection_mode),
"label_detection_mode" => Ok(__FieldTag::__label_detection_mode),
"stationaryCamera" => Ok(__FieldTag::__stationary_camera),
"stationary_camera" => Ok(__FieldTag::__stationary_camera),
"model" => Ok(__FieldTag::__model),
"frameConfidenceThreshold" => {
Ok(__FieldTag::__frame_confidence_threshold)
}
"frame_confidence_threshold" => {
Ok(__FieldTag::__frame_confidence_threshold)
}
"videoConfidenceThreshold" => {
Ok(__FieldTag::__video_confidence_threshold)
}
"video_confidence_threshold" => {
Ok(__FieldTag::__video_confidence_threshold)
}
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::LabelDetectionConfig;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct LabelDetectionConfig")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__label_detection_mode => {
if !fields.insert(__FieldTag::__label_detection_mode) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for label_detection_mode",
));
}
result.label_detection_mode = map.next_value::<std::option::Option<crate::model::LabelDetectionMode>>()?.unwrap_or_default();
}
__FieldTag::__stationary_camera => {
if !fields.insert(__FieldTag::__stationary_camera) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for stationary_camera",
));
}
result.stationary_camera = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__model => {
if !fields.insert(__FieldTag::__model) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for model",
));
}
result.model = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__frame_confidence_threshold => {
if !fields.insert(__FieldTag::__frame_confidence_threshold) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for frame_confidence_threshold",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.frame_confidence_threshold =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__video_confidence_threshold => {
if !fields.insert(__FieldTag::__video_confidence_threshold) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for video_confidence_threshold",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.video_confidence_threshold =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ShotChangeDetectionConfig {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__model,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ShotChangeDetectionConfig")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"model" => Ok(__FieldTag::__model),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::ShotChangeDetectionConfig;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ShotChangeDetectionConfig")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__model => {
if !fields.insert(__FieldTag::__model) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for model",
));
}
result.model = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ObjectTrackingConfig {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__model,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ObjectTrackingConfig")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"model" => Ok(__FieldTag::__model),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::ObjectTrackingConfig;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ObjectTrackingConfig")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__model => {
if !fields.insert(__FieldTag::__model) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for model",
));
}
result.model = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::FaceDetectionConfig {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__model,
__include_bounding_boxes,
__include_attributes,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for FaceDetectionConfig")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"model" => Ok(__FieldTag::__model),
"includeBoundingBoxes" => Ok(__FieldTag::__include_bounding_boxes),
"include_bounding_boxes" => Ok(__FieldTag::__include_bounding_boxes),
"includeAttributes" => Ok(__FieldTag::__include_attributes),
"include_attributes" => Ok(__FieldTag::__include_attributes),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::FaceDetectionConfig;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct FaceDetectionConfig")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__model => {
if !fields.insert(__FieldTag::__model) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for model",
));
}
result.model = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__include_bounding_boxes => {
if !fields.insert(__FieldTag::__include_bounding_boxes) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for include_bounding_boxes",
));
}
result.include_bounding_boxes = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__include_attributes => {
if !fields.insert(__FieldTag::__include_attributes) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for include_attributes",
));
}
result.include_attributes = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::PersonDetectionConfig {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__include_bounding_boxes,
__include_pose_landmarks,
__include_attributes,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for PersonDetectionConfig")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"includeBoundingBoxes" => Ok(__FieldTag::__include_bounding_boxes),
"include_bounding_boxes" => Ok(__FieldTag::__include_bounding_boxes),
"includePoseLandmarks" => Ok(__FieldTag::__include_pose_landmarks),
"include_pose_landmarks" => Ok(__FieldTag::__include_pose_landmarks),
"includeAttributes" => Ok(__FieldTag::__include_attributes),
"include_attributes" => Ok(__FieldTag::__include_attributes),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::PersonDetectionConfig;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct PersonDetectionConfig")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__include_bounding_boxes => {
if !fields.insert(__FieldTag::__include_bounding_boxes) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for include_bounding_boxes",
));
}
result.include_bounding_boxes = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__include_pose_landmarks => {
if !fields.insert(__FieldTag::__include_pose_landmarks) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for include_pose_landmarks",
));
}
result.include_pose_landmarks = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__include_attributes => {
if !fields.insert(__FieldTag::__include_attributes) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for include_attributes",
));
}
result.include_attributes = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ExplicitContentDetectionConfig {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__model,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ExplicitContentDetectionConfig")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"model" => Ok(__FieldTag::__model),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::ExplicitContentDetectionConfig;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ExplicitContentDetectionConfig")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__model => {
if !fields.insert(__FieldTag::__model) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for model",
));
}
result.model = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::TextDetectionConfig {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__language_hints,
__model,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for TextDetectionConfig")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"languageHints" => Ok(__FieldTag::__language_hints),
"language_hints" => Ok(__FieldTag::__language_hints),
"model" => Ok(__FieldTag::__model),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::TextDetectionConfig;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct TextDetectionConfig")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__language_hints => {
if !fields.insert(__FieldTag::__language_hints) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for language_hints",
));
}
result.language_hints = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
}
__FieldTag::__model => {
if !fields.insert(__FieldTag::__model) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for model",
));
}
result.model = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::VideoSegment {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__start_time_offset,
__end_time_offset,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for VideoSegment")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"startTimeOffset" => Ok(__FieldTag::__start_time_offset),
"start_time_offset" => Ok(__FieldTag::__start_time_offset),
"endTimeOffset" => Ok(__FieldTag::__end_time_offset),
"end_time_offset" => Ok(__FieldTag::__end_time_offset),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::VideoSegment;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct VideoSegment")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__start_time_offset => {
if !fields.insert(__FieldTag::__start_time_offset) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for start_time_offset",
));
}
result.start_time_offset =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::__end_time_offset => {
if !fields.insert(__FieldTag::__end_time_offset) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for end_time_offset",
));
}
result.end_time_offset =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::LabelSegment {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__segment,
__confidence,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for LabelSegment")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"segment" => Ok(__FieldTag::__segment),
"confidence" => Ok(__FieldTag::__confidence),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::LabelSegment;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct LabelSegment")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__segment => {
if !fields.insert(__FieldTag::__segment) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segment",
));
}
result.segment = map
.next_value::<std::option::Option<crate::model::VideoSegment>>()?;
}
__FieldTag::__confidence => {
if !fields.insert(__FieldTag::__confidence) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for confidence",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.confidence = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::LabelFrame {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__time_offset,
__confidence,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for LabelFrame")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"timeOffset" => Ok(__FieldTag::__time_offset),
"time_offset" => Ok(__FieldTag::__time_offset),
"confidence" => Ok(__FieldTag::__confidence),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::LabelFrame;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct LabelFrame")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__time_offset => {
if !fields.insert(__FieldTag::__time_offset) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for time_offset",
));
}
result.time_offset =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::__confidence => {
if !fields.insert(__FieldTag::__confidence) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for confidence",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.confidence = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::Entity {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__entity_id,
__description,
__language_code,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for Entity")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"entityId" => Ok(__FieldTag::__entity_id),
"entity_id" => Ok(__FieldTag::__entity_id),
"description" => Ok(__FieldTag::__description),
"languageCode" => Ok(__FieldTag::__language_code),
"language_code" => Ok(__FieldTag::__language_code),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::Entity;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct Entity")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__entity_id => {
if !fields.insert(__FieldTag::__entity_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for entity_id",
));
}
result.entity_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__description => {
if !fields.insert(__FieldTag::__description) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for description",
));
}
result.description = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__language_code => {
if !fields.insert(__FieldTag::__language_code) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for language_code",
));
}
result.language_code = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::LabelAnnotation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__entity,
__category_entities,
__segments,
__frames,
__version,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for LabelAnnotation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"entity" => Ok(__FieldTag::__entity),
"categoryEntities" => Ok(__FieldTag::__category_entities),
"category_entities" => Ok(__FieldTag::__category_entities),
"segments" => Ok(__FieldTag::__segments),
"frames" => Ok(__FieldTag::__frames),
"version" => Ok(__FieldTag::__version),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::LabelAnnotation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct LabelAnnotation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__entity => {
if !fields.insert(__FieldTag::__entity) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for entity",
));
}
result.entity =
map.next_value::<std::option::Option<crate::model::Entity>>()?;
}
__FieldTag::__category_entities => {
if !fields.insert(__FieldTag::__category_entities) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for category_entities",
));
}
result.category_entities = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Entity>>>()?.unwrap_or_default();
}
__FieldTag::__segments => {
if !fields.insert(__FieldTag::__segments) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segments",
));
}
result.segments = map.next_value::<std::option::Option<std::vec::Vec<crate::model::LabelSegment>>>()?.unwrap_or_default();
}
__FieldTag::__frames => {
if !fields.insert(__FieldTag::__frames) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for frames",
));
}
result.frames = map.next_value::<std::option::Option<std::vec::Vec<crate::model::LabelFrame>>>()?.unwrap_or_default();
}
__FieldTag::__version => {
if !fields.insert(__FieldTag::__version) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for version",
));
}
result.version = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ExplicitContentFrame {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__time_offset,
__pornography_likelihood,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ExplicitContentFrame")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"timeOffset" => Ok(__FieldTag::__time_offset),
"time_offset" => Ok(__FieldTag::__time_offset),
"pornographyLikelihood" => Ok(__FieldTag::__pornography_likelihood),
"pornography_likelihood" => Ok(__FieldTag::__pornography_likelihood),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::ExplicitContentFrame;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ExplicitContentFrame")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__time_offset => {
if !fields.insert(__FieldTag::__time_offset) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for time_offset",
));
}
result.time_offset =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::__pornography_likelihood => {
if !fields.insert(__FieldTag::__pornography_likelihood) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for pornography_likelihood",
));
}
result.pornography_likelihood = map
.next_value::<std::option::Option<crate::model::Likelihood>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ExplicitContentAnnotation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__frames,
__version,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ExplicitContentAnnotation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"frames" => Ok(__FieldTag::__frames),
"version" => Ok(__FieldTag::__version),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::ExplicitContentAnnotation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ExplicitContentAnnotation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__frames => {
if !fields.insert(__FieldTag::__frames) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for frames",
));
}
result.frames = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::ExplicitContentFrame>,
>>()?
.unwrap_or_default();
}
__FieldTag::__version => {
if !fields.insert(__FieldTag::__version) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for version",
));
}
result.version = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::NormalizedBoundingBox {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__left,
__top,
__right,
__bottom,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for NormalizedBoundingBox")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"left" => Ok(__FieldTag::__left),
"top" => Ok(__FieldTag::__top),
"right" => Ok(__FieldTag::__right),
"bottom" => Ok(__FieldTag::__bottom),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::NormalizedBoundingBox;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct NormalizedBoundingBox")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__left => {
if !fields.insert(__FieldTag::__left) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for left",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.left = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__top => {
if !fields.insert(__FieldTag::__top) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for top",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.top = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__right => {
if !fields.insert(__FieldTag::__right) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for right",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.right = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__bottom => {
if !fields.insert(__FieldTag::__bottom) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for bottom",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.bottom = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::FaceDetectionAnnotation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__tracks,
__thumbnail,
__version,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for FaceDetectionAnnotation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"tracks" => Ok(__FieldTag::__tracks),
"thumbnail" => Ok(__FieldTag::__thumbnail),
"version" => Ok(__FieldTag::__version),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::FaceDetectionAnnotation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct FaceDetectionAnnotation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__tracks => {
if !fields.insert(__FieldTag::__tracks) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for tracks",
));
}
result.tracks = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Track>>>()?.unwrap_or_default();
}
__FieldTag::__thumbnail => {
if !fields.insert(__FieldTag::__thumbnail) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for thumbnail",
));
}
struct __With(std::option::Option<::bytes::Bytes>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<serde_with::base64::Base64> >::deserialize(deserializer).map(__With)
}
}
result.thumbnail = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__version => {
if !fields.insert(__FieldTag::__version) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for version",
));
}
result.version = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::PersonDetectionAnnotation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__tracks,
__version,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for PersonDetectionAnnotation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"tracks" => Ok(__FieldTag::__tracks),
"version" => Ok(__FieldTag::__version),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::PersonDetectionAnnotation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct PersonDetectionAnnotation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__tracks => {
if !fields.insert(__FieldTag::__tracks) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for tracks",
));
}
result.tracks = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Track>>>()?.unwrap_or_default();
}
__FieldTag::__version => {
if !fields.insert(__FieldTag::__version) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for version",
));
}
result.version = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::FaceSegment {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__segment,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for FaceSegment")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"segment" => Ok(__FieldTag::__segment),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::FaceSegment;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct FaceSegment")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__segment => {
if !fields.insert(__FieldTag::__segment) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segment",
));
}
result.segment = map
.next_value::<std::option::Option<crate::model::VideoSegment>>()?;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::FaceFrame {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__normalized_bounding_boxes,
__time_offset,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for FaceFrame")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"normalizedBoundingBoxes" => {
Ok(__FieldTag::__normalized_bounding_boxes)
}
"normalized_bounding_boxes" => {
Ok(__FieldTag::__normalized_bounding_boxes)
}
"timeOffset" => Ok(__FieldTag::__time_offset),
"time_offset" => Ok(__FieldTag::__time_offset),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::FaceFrame;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct FaceFrame")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__normalized_bounding_boxes => {
if !fields.insert(__FieldTag::__normalized_bounding_boxes) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for normalized_bounding_boxes",
));
}
result.normalized_bounding_boxes = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::NormalizedBoundingBox>,
>>()?
.unwrap_or_default();
}
__FieldTag::__time_offset => {
if !fields.insert(__FieldTag::__time_offset) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for time_offset",
));
}
result.time_offset =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::FaceAnnotation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__thumbnail,
__segments,
__frames,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for FaceAnnotation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"thumbnail" => Ok(__FieldTag::__thumbnail),
"segments" => Ok(__FieldTag::__segments),
"frames" => Ok(__FieldTag::__frames),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::FaceAnnotation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct FaceAnnotation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__thumbnail => {
if !fields.insert(__FieldTag::__thumbnail) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for thumbnail",
));
}
struct __With(std::option::Option<::bytes::Bytes>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<serde_with::base64::Base64> >::deserialize(deserializer).map(__With)
}
}
result.thumbnail = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__segments => {
if !fields.insert(__FieldTag::__segments) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segments",
));
}
result.segments = map.next_value::<std::option::Option<std::vec::Vec<crate::model::FaceSegment>>>()?.unwrap_or_default();
}
__FieldTag::__frames => {
if !fields.insert(__FieldTag::__frames) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for frames",
));
}
result.frames = map.next_value::<std::option::Option<std::vec::Vec<crate::model::FaceFrame>>>()?.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::TimestampedObject {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__normalized_bounding_box,
__time_offset,
__attributes,
__landmarks,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for TimestampedObject")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"normalizedBoundingBox" => Ok(__FieldTag::__normalized_bounding_box),
"normalized_bounding_box" => Ok(__FieldTag::__normalized_bounding_box),
"timeOffset" => Ok(__FieldTag::__time_offset),
"time_offset" => Ok(__FieldTag::__time_offset),
"attributes" => Ok(__FieldTag::__attributes),
"landmarks" => Ok(__FieldTag::__landmarks),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::TimestampedObject;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct TimestampedObject")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__normalized_bounding_box => {
if !fields.insert(__FieldTag::__normalized_bounding_box) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for normalized_bounding_box",
));
}
result.normalized_bounding_box = map.next_value::<std::option::Option<crate::model::NormalizedBoundingBox>>()?
;
}
__FieldTag::__time_offset => {
if !fields.insert(__FieldTag::__time_offset) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for time_offset",
));
}
result.time_offset =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::__attributes => {
if !fields.insert(__FieldTag::__attributes) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for attributes",
));
}
result.attributes =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::DetectedAttribute>,
>>()?
.unwrap_or_default();
}
__FieldTag::__landmarks => {
if !fields.insert(__FieldTag::__landmarks) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for landmarks",
));
}
result.landmarks =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::DetectedLandmark>,
>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::Track {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__segment,
__timestamped_objects,
__attributes,
__confidence,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for Track")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"segment" => Ok(__FieldTag::__segment),
"timestampedObjects" => Ok(__FieldTag::__timestamped_objects),
"timestamped_objects" => Ok(__FieldTag::__timestamped_objects),
"attributes" => Ok(__FieldTag::__attributes),
"confidence" => Ok(__FieldTag::__confidence),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::Track;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct Track")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__segment => {
if !fields.insert(__FieldTag::__segment) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segment",
));
}
result.segment = map
.next_value::<std::option::Option<crate::model::VideoSegment>>()?;
}
__FieldTag::__timestamped_objects => {
if !fields.insert(__FieldTag::__timestamped_objects) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for timestamped_objects",
));
}
result.timestamped_objects =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::TimestampedObject>,
>>()?
.unwrap_or_default();
}
__FieldTag::__attributes => {
if !fields.insert(__FieldTag::__attributes) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for attributes",
));
}
result.attributes =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::DetectedAttribute>,
>>()?
.unwrap_or_default();
}
__FieldTag::__confidence => {
if !fields.insert(__FieldTag::__confidence) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for confidence",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.confidence = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::DetectedAttribute {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__name,
__confidence,
__value,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for DetectedAttribute")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"name" => Ok(__FieldTag::__name),
"confidence" => Ok(__FieldTag::__confidence),
"value" => Ok(__FieldTag::__value),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::DetectedAttribute;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct DetectedAttribute")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__name => {
if !fields.insert(__FieldTag::__name) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for name",
));
}
result.name = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__confidence => {
if !fields.insert(__FieldTag::__confidence) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for confidence",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.confidence = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__value => {
if !fields.insert(__FieldTag::__value) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for value",
));
}
result.value = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::DetectedLandmark {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__name,
__point,
__confidence,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for DetectedLandmark")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"name" => Ok(__FieldTag::__name),
"point" => Ok(__FieldTag::__point),
"confidence" => Ok(__FieldTag::__confidence),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::DetectedLandmark;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct DetectedLandmark")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__name => {
if !fields.insert(__FieldTag::__name) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for name",
));
}
result.name = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__point => {
if !fields.insert(__FieldTag::__point) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for point",
));
}
result.point = map
.next_value::<std::option::Option<crate::model::NormalizedVertex>>(
)?;
}
__FieldTag::__confidence => {
if !fields.insert(__FieldTag::__confidence) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for confidence",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.confidence = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::VideoAnnotationResults {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__input_uri,
__segment,
__segment_label_annotations,
__segment_presence_label_annotations,
__shot_label_annotations,
__shot_presence_label_annotations,
__frame_label_annotations,
__face_annotations,
__face_detection_annotations,
__shot_annotations,
__explicit_annotation,
__speech_transcriptions,
__text_annotations,
__object_annotations,
__logo_recognition_annotations,
__person_detection_annotations,
__error,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for VideoAnnotationResults")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"inputUri" => Ok(__FieldTag::__input_uri),
"input_uri" => Ok(__FieldTag::__input_uri),
"segment" => Ok(__FieldTag::__segment),
"segmentLabelAnnotations" => {
Ok(__FieldTag::__segment_label_annotations)
}
"segment_label_annotations" => {
Ok(__FieldTag::__segment_label_annotations)
}
"segmentPresenceLabelAnnotations" => {
Ok(__FieldTag::__segment_presence_label_annotations)
}
"segment_presence_label_annotations" => {
Ok(__FieldTag::__segment_presence_label_annotations)
}
"shotLabelAnnotations" => Ok(__FieldTag::__shot_label_annotations),
"shot_label_annotations" => Ok(__FieldTag::__shot_label_annotations),
"shotPresenceLabelAnnotations" => {
Ok(__FieldTag::__shot_presence_label_annotations)
}
"shot_presence_label_annotations" => {
Ok(__FieldTag::__shot_presence_label_annotations)
}
"frameLabelAnnotations" => Ok(__FieldTag::__frame_label_annotations),
"frame_label_annotations" => Ok(__FieldTag::__frame_label_annotations),
"faceAnnotations" => Ok(__FieldTag::__face_annotations),
"face_annotations" => Ok(__FieldTag::__face_annotations),
"faceDetectionAnnotations" => {
Ok(__FieldTag::__face_detection_annotations)
}
"face_detection_annotations" => {
Ok(__FieldTag::__face_detection_annotations)
}
"shotAnnotations" => Ok(__FieldTag::__shot_annotations),
"shot_annotations" => Ok(__FieldTag::__shot_annotations),
"explicitAnnotation" => Ok(__FieldTag::__explicit_annotation),
"explicit_annotation" => Ok(__FieldTag::__explicit_annotation),
"speechTranscriptions" => Ok(__FieldTag::__speech_transcriptions),
"speech_transcriptions" => Ok(__FieldTag::__speech_transcriptions),
"textAnnotations" => Ok(__FieldTag::__text_annotations),
"text_annotations" => Ok(__FieldTag::__text_annotations),
"objectAnnotations" => Ok(__FieldTag::__object_annotations),
"object_annotations" => Ok(__FieldTag::__object_annotations),
"logoRecognitionAnnotations" => {
Ok(__FieldTag::__logo_recognition_annotations)
}
"logo_recognition_annotations" => {
Ok(__FieldTag::__logo_recognition_annotations)
}
"personDetectionAnnotations" => {
Ok(__FieldTag::__person_detection_annotations)
}
"person_detection_annotations" => {
Ok(__FieldTag::__person_detection_annotations)
}
"error" => Ok(__FieldTag::__error),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::VideoAnnotationResults;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct VideoAnnotationResults")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__input_uri => {
if !fields.insert(__FieldTag::__input_uri) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for input_uri",
));
}
result.input_uri = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__segment => {
if !fields.insert(__FieldTag::__segment) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segment",
));
}
result.segment = map
.next_value::<std::option::Option<crate::model::VideoSegment>>()?;
}
__FieldTag::__segment_label_annotations => {
if !fields.insert(__FieldTag::__segment_label_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segment_label_annotations",
));
}
result.segment_label_annotations =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::LabelAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__segment_presence_label_annotations => {
if !fields.insert(__FieldTag::__segment_presence_label_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segment_presence_label_annotations",
));
}
result.segment_presence_label_annotations =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::LabelAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__shot_label_annotations => {
if !fields.insert(__FieldTag::__shot_label_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for shot_label_annotations",
));
}
result.shot_label_annotations =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::LabelAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__shot_presence_label_annotations => {
if !fields.insert(__FieldTag::__shot_presence_label_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for shot_presence_label_annotations",
));
}
result.shot_presence_label_annotations =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::LabelAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__frame_label_annotations => {
if !fields.insert(__FieldTag::__frame_label_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for frame_label_annotations",
));
}
result.frame_label_annotations =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::LabelAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__face_annotations => {
if !fields.insert(__FieldTag::__face_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for face_annotations",
));
}
result.face_annotations =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::FaceAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__face_detection_annotations => {
if !fields.insert(__FieldTag::__face_detection_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for face_detection_annotations",
));
}
result.face_detection_annotations = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::FaceDetectionAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__shot_annotations => {
if !fields.insert(__FieldTag::__shot_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for shot_annotations",
));
}
result.shot_annotations = map.next_value::<std::option::Option<std::vec::Vec<crate::model::VideoSegment>>>()?.unwrap_or_default();
}
__FieldTag::__explicit_annotation => {
if !fields.insert(__FieldTag::__explicit_annotation) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for explicit_annotation",
));
}
result.explicit_annotation = map.next_value::<std::option::Option<crate::model::ExplicitContentAnnotation>>()?
;
}
__FieldTag::__speech_transcriptions => {
if !fields.insert(__FieldTag::__speech_transcriptions) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for speech_transcriptions",
));
}
result.speech_transcriptions = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::SpeechTranscription>,
>>()?
.unwrap_or_default();
}
__FieldTag::__text_annotations => {
if !fields.insert(__FieldTag::__text_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for text_annotations",
));
}
result.text_annotations =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::TextAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__object_annotations => {
if !fields.insert(__FieldTag::__object_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for object_annotations",
));
}
result.object_annotations = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::ObjectTrackingAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__logo_recognition_annotations => {
if !fields.insert(__FieldTag::__logo_recognition_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for logo_recognition_annotations",
));
}
result.logo_recognition_annotations = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::LogoRecognitionAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__person_detection_annotations => {
if !fields.insert(__FieldTag::__person_detection_annotations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for person_detection_annotations",
));
}
result.person_detection_annotations = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::PersonDetectionAnnotation>,
>>()?
.unwrap_or_default();
}
__FieldTag::__error => {
if !fields.insert(__FieldTag::__error) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for error",
));
}
result.error = map
.next_value::<std::option::Option<google_cloud_rpc::model::Status>>(
)?;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::AnnotateVideoResponse {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__annotation_results,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for AnnotateVideoResponse")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"annotationResults" => Ok(__FieldTag::__annotation_results),
"annotation_results" => Ok(__FieldTag::__annotation_results),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::AnnotateVideoResponse;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct AnnotateVideoResponse")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__annotation_results => {
if !fields.insert(__FieldTag::__annotation_results) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for annotation_results",
));
}
result.annotation_results = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::VideoAnnotationResults>,
>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::VideoAnnotationProgress {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__input_uri,
__progress_percent,
__start_time,
__update_time,
__feature,
__segment,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for VideoAnnotationProgress")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"inputUri" => Ok(__FieldTag::__input_uri),
"input_uri" => Ok(__FieldTag::__input_uri),
"progressPercent" => Ok(__FieldTag::__progress_percent),
"progress_percent" => Ok(__FieldTag::__progress_percent),
"startTime" => Ok(__FieldTag::__start_time),
"start_time" => Ok(__FieldTag::__start_time),
"updateTime" => Ok(__FieldTag::__update_time),
"update_time" => Ok(__FieldTag::__update_time),
"feature" => Ok(__FieldTag::__feature),
"segment" => Ok(__FieldTag::__segment),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::VideoAnnotationProgress;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct VideoAnnotationProgress")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__input_uri => {
if !fields.insert(__FieldTag::__input_uri) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for input_uri",
));
}
result.input_uri = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__progress_percent => {
if !fields.insert(__FieldTag::__progress_percent) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for progress_percent",
));
}
struct __With(std::option::Option<i32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
}
}
result.progress_percent =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__start_time => {
if !fields.insert(__FieldTag::__start_time) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for start_time",
));
}
result.start_time =
map.next_value::<std::option::Option<wkt::Timestamp>>()?;
}
__FieldTag::__update_time => {
if !fields.insert(__FieldTag::__update_time) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for update_time",
));
}
result.update_time =
map.next_value::<std::option::Option<wkt::Timestamp>>()?;
}
__FieldTag::__feature => {
if !fields.insert(__FieldTag::__feature) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for feature",
));
}
result.feature = map
.next_value::<std::option::Option<crate::model::Feature>>()?
.unwrap_or_default();
}
__FieldTag::__segment => {
if !fields.insert(__FieldTag::__segment) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segment",
));
}
result.segment = map
.next_value::<std::option::Option<crate::model::VideoSegment>>()?;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::AnnotateVideoProgress {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__annotation_progress,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for AnnotateVideoProgress")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"annotationProgress" => Ok(__FieldTag::__annotation_progress),
"annotation_progress" => Ok(__FieldTag::__annotation_progress),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::AnnotateVideoProgress;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct AnnotateVideoProgress")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__annotation_progress => {
if !fields.insert(__FieldTag::__annotation_progress) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for annotation_progress",
));
}
result.annotation_progress = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::VideoAnnotationProgress>,
>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::SpeechTranscriptionConfig {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__language_code,
__max_alternatives,
__filter_profanity,
__speech_contexts,
__enable_automatic_punctuation,
__audio_tracks,
__enable_speaker_diarization,
__diarization_speaker_count,
__enable_word_confidence,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for SpeechTranscriptionConfig")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"languageCode" => Ok(__FieldTag::__language_code),
"language_code" => Ok(__FieldTag::__language_code),
"maxAlternatives" => Ok(__FieldTag::__max_alternatives),
"max_alternatives" => Ok(__FieldTag::__max_alternatives),
"filterProfanity" => Ok(__FieldTag::__filter_profanity),
"filter_profanity" => Ok(__FieldTag::__filter_profanity),
"speechContexts" => Ok(__FieldTag::__speech_contexts),
"speech_contexts" => Ok(__FieldTag::__speech_contexts),
"enableAutomaticPunctuation" => {
Ok(__FieldTag::__enable_automatic_punctuation)
}
"enable_automatic_punctuation" => {
Ok(__FieldTag::__enable_automatic_punctuation)
}
"audioTracks" => Ok(__FieldTag::__audio_tracks),
"audio_tracks" => Ok(__FieldTag::__audio_tracks),
"enableSpeakerDiarization" => {
Ok(__FieldTag::__enable_speaker_diarization)
}
"enable_speaker_diarization" => {
Ok(__FieldTag::__enable_speaker_diarization)
}
"diarizationSpeakerCount" => {
Ok(__FieldTag::__diarization_speaker_count)
}
"diarization_speaker_count" => {
Ok(__FieldTag::__diarization_speaker_count)
}
"enableWordConfidence" => Ok(__FieldTag::__enable_word_confidence),
"enable_word_confidence" => Ok(__FieldTag::__enable_word_confidence),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::SpeechTranscriptionConfig;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct SpeechTranscriptionConfig")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__language_code => {
if !fields.insert(__FieldTag::__language_code) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for language_code",
));
}
result.language_code = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__max_alternatives => {
if !fields.insert(__FieldTag::__max_alternatives) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for max_alternatives",
));
}
struct __With(std::option::Option<i32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
}
}
result.max_alternatives =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__filter_profanity => {
if !fields.insert(__FieldTag::__filter_profanity) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for filter_profanity",
));
}
result.filter_profanity = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__speech_contexts => {
if !fields.insert(__FieldTag::__speech_contexts) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for speech_contexts",
));
}
result.speech_contexts = map.next_value::<std::option::Option<std::vec::Vec<crate::model::SpeechContext>>>()?.unwrap_or_default();
}
__FieldTag::__enable_automatic_punctuation => {
if !fields.insert(__FieldTag::__enable_automatic_punctuation) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for enable_automatic_punctuation",
));
}
result.enable_automatic_punctuation = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__audio_tracks => {
if !fields.insert(__FieldTag::__audio_tracks) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for audio_tracks",
));
}
struct __With(std::option::Option<std::vec::Vec<i32>>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::<
std::option::Option<std::vec::Vec<wkt::internal::I32>>,
>::deserialize(deserializer)
.map(__With)
}
}
result.audio_tracks = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__enable_speaker_diarization => {
if !fields.insert(__FieldTag::__enable_speaker_diarization) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for enable_speaker_diarization",
));
}
result.enable_speaker_diarization = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__diarization_speaker_count => {
if !fields.insert(__FieldTag::__diarization_speaker_count) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for diarization_speaker_count",
));
}
struct __With(std::option::Option<i32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
}
}
result.diarization_speaker_count =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__enable_word_confidence => {
if !fields.insert(__FieldTag::__enable_word_confidence) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for enable_word_confidence",
));
}
result.enable_word_confidence = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::SpeechContext {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__phrases,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for SpeechContext")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"phrases" => Ok(__FieldTag::__phrases),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::SpeechContext;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct SpeechContext")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__phrases => {
if !fields.insert(__FieldTag::__phrases) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for phrases",
));
}
result.phrases = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::SpeechTranscription {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__alternatives,
__language_code,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for SpeechTranscription")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"alternatives" => Ok(__FieldTag::__alternatives),
"languageCode" => Ok(__FieldTag::__language_code),
"language_code" => Ok(__FieldTag::__language_code),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::SpeechTranscription;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct SpeechTranscription")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__alternatives => {
if !fields.insert(__FieldTag::__alternatives) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for alternatives",
));
}
result.alternatives = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::SpeechRecognitionAlternative>,
>>()?
.unwrap_or_default();
}
__FieldTag::__language_code => {
if !fields.insert(__FieldTag::__language_code) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for language_code",
));
}
result.language_code = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::SpeechRecognitionAlternative {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__transcript,
__confidence,
__words,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for SpeechRecognitionAlternative")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"transcript" => Ok(__FieldTag::__transcript),
"confidence" => Ok(__FieldTag::__confidence),
"words" => Ok(__FieldTag::__words),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::SpeechRecognitionAlternative;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct SpeechRecognitionAlternative")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__transcript => {
if !fields.insert(__FieldTag::__transcript) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for transcript",
));
}
result.transcript = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__confidence => {
if !fields.insert(__FieldTag::__confidence) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for confidence",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.confidence = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__words => {
if !fields.insert(__FieldTag::__words) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for words",
));
}
result.words = map.next_value::<std::option::Option<std::vec::Vec<crate::model::WordInfo>>>()?.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::WordInfo {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__start_time,
__end_time,
__word,
__confidence,
__speaker_tag,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for WordInfo")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"startTime" => Ok(__FieldTag::__start_time),
"start_time" => Ok(__FieldTag::__start_time),
"endTime" => Ok(__FieldTag::__end_time),
"end_time" => Ok(__FieldTag::__end_time),
"word" => Ok(__FieldTag::__word),
"confidence" => Ok(__FieldTag::__confidence),
"speakerTag" => Ok(__FieldTag::__speaker_tag),
"speaker_tag" => Ok(__FieldTag::__speaker_tag),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::WordInfo;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct WordInfo")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__start_time => {
if !fields.insert(__FieldTag::__start_time) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for start_time",
));
}
result.start_time =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::__end_time => {
if !fields.insert(__FieldTag::__end_time) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for end_time",
));
}
result.end_time =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::__word => {
if !fields.insert(__FieldTag::__word) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for word",
));
}
result.word = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__confidence => {
if !fields.insert(__FieldTag::__confidence) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for confidence",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.confidence = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__speaker_tag => {
if !fields.insert(__FieldTag::__speaker_tag) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for speaker_tag",
));
}
struct __With(std::option::Option<i32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
}
}
result.speaker_tag = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::NormalizedVertex {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__x,
__y,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for NormalizedVertex")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"x" => Ok(__FieldTag::__x),
"y" => Ok(__FieldTag::__y),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::NormalizedVertex;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct NormalizedVertex")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__x => {
if !fields.insert(__FieldTag::__x) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for x",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.x = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__y => {
if !fields.insert(__FieldTag::__y) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for y",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.y = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::NormalizedBoundingPoly {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__vertices,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for NormalizedBoundingPoly")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"vertices" => Ok(__FieldTag::__vertices),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::NormalizedBoundingPoly;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct NormalizedBoundingPoly")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__vertices => {
if !fields.insert(__FieldTag::__vertices) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for vertices",
));
}
result.vertices =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::NormalizedVertex>,
>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::TextSegment {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__segment,
__confidence,
__frames,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for TextSegment")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"segment" => Ok(__FieldTag::__segment),
"confidence" => Ok(__FieldTag::__confidence),
"frames" => Ok(__FieldTag::__frames),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::TextSegment;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct TextSegment")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__segment => {
if !fields.insert(__FieldTag::__segment) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segment",
));
}
result.segment = map
.next_value::<std::option::Option<crate::model::VideoSegment>>()?;
}
__FieldTag::__confidence => {
if !fields.insert(__FieldTag::__confidence) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for confidence",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.confidence = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__frames => {
if !fields.insert(__FieldTag::__frames) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for frames",
));
}
result.frames = map.next_value::<std::option::Option<std::vec::Vec<crate::model::TextFrame>>>()?.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::TextFrame {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__rotated_bounding_box,
__time_offset,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for TextFrame")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"rotatedBoundingBox" => Ok(__FieldTag::__rotated_bounding_box),
"rotated_bounding_box" => Ok(__FieldTag::__rotated_bounding_box),
"timeOffset" => Ok(__FieldTag::__time_offset),
"time_offset" => Ok(__FieldTag::__time_offset),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::TextFrame;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct TextFrame")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__rotated_bounding_box => {
if !fields.insert(__FieldTag::__rotated_bounding_box) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for rotated_bounding_box",
));
}
result.rotated_bounding_box = map.next_value::<std::option::Option<crate::model::NormalizedBoundingPoly>>()?
;
}
__FieldTag::__time_offset => {
if !fields.insert(__FieldTag::__time_offset) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for time_offset",
));
}
result.time_offset =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::TextAnnotation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__text,
__segments,
__version,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for TextAnnotation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"text" => Ok(__FieldTag::__text),
"segments" => Ok(__FieldTag::__segments),
"version" => Ok(__FieldTag::__version),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::TextAnnotation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct TextAnnotation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__text => {
if !fields.insert(__FieldTag::__text) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for text",
));
}
result.text = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__segments => {
if !fields.insert(__FieldTag::__segments) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segments",
));
}
result.segments = map.next_value::<std::option::Option<std::vec::Vec<crate::model::TextSegment>>>()?.unwrap_or_default();
}
__FieldTag::__version => {
if !fields.insert(__FieldTag::__version) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for version",
));
}
result.version = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ObjectTrackingFrame {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__normalized_bounding_box,
__time_offset,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ObjectTrackingFrame")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"normalizedBoundingBox" => Ok(__FieldTag::__normalized_bounding_box),
"normalized_bounding_box" => Ok(__FieldTag::__normalized_bounding_box),
"timeOffset" => Ok(__FieldTag::__time_offset),
"time_offset" => Ok(__FieldTag::__time_offset),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::ObjectTrackingFrame;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ObjectTrackingFrame")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__normalized_bounding_box => {
if !fields.insert(__FieldTag::__normalized_bounding_box) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for normalized_bounding_box",
));
}
result.normalized_bounding_box = map.next_value::<std::option::Option<crate::model::NormalizedBoundingBox>>()?
;
}
__FieldTag::__time_offset => {
if !fields.insert(__FieldTag::__time_offset) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for time_offset",
));
}
result.time_offset =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ObjectTrackingAnnotation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__segment,
__track_id,
__entity,
__confidence,
__frames,
__version,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ObjectTrackingAnnotation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"segment" => Ok(__FieldTag::__segment),
"trackId" => Ok(__FieldTag::__track_id),
"track_id" => Ok(__FieldTag::__track_id),
"entity" => Ok(__FieldTag::__entity),
"confidence" => Ok(__FieldTag::__confidence),
"frames" => Ok(__FieldTag::__frames),
"version" => Ok(__FieldTag::__version),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::ObjectTrackingAnnotation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ObjectTrackingAnnotation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__segment => {
if !fields.insert(__FieldTag::__segment) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segment",
));
}
if result.track_info.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `track_info`, a oneof with full ID .google.cloud.videointelligence.v1.ObjectTrackingAnnotation.segment, latest field was segment",
));
}
result.track_info = std::option::Option::Some(
crate::model::object_tracking_annotation::TrackInfo::Segment(
map.next_value::<std::option::Option<
std::boxed::Box<crate::model::VideoSegment>,
>>()?
.unwrap_or_default(),
),
);
}
__FieldTag::__track_id => {
if !fields.insert(__FieldTag::__track_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for track_id",
));
}
struct __With(std::option::Option<i64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I64> >::deserialize(deserializer).map(__With)
}
}
if result.track_info.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `track_info`, a oneof with full ID .google.cloud.videointelligence.v1.ObjectTrackingAnnotation.track_id, latest field was trackId",
));
}
result.track_info = std::option::Option::Some(
crate::model::object_tracking_annotation::TrackInfo::TrackId(
map.next_value::<__With>()?.0.unwrap_or_default(),
),
);
}
__FieldTag::__entity => {
if !fields.insert(__FieldTag::__entity) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for entity",
));
}
result.entity =
map.next_value::<std::option::Option<crate::model::Entity>>()?;
}
__FieldTag::__confidence => {
if !fields.insert(__FieldTag::__confidence) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for confidence",
));
}
struct __With(std::option::Option<f32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F32> >::deserialize(deserializer).map(__With)
}
}
result.confidence = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__frames => {
if !fields.insert(__FieldTag::__frames) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for frames",
));
}
result.frames = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::ObjectTrackingFrame>,
>>()?
.unwrap_or_default();
}
__FieldTag::__version => {
if !fields.insert(__FieldTag::__version) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for version",
));
}
result.version = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::LogoRecognitionAnnotation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__entity,
__tracks,
__segments,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for LogoRecognitionAnnotation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"entity" => Ok(__FieldTag::__entity),
"tracks" => Ok(__FieldTag::__tracks),
"segments" => Ok(__FieldTag::__segments),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::LogoRecognitionAnnotation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct LogoRecognitionAnnotation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__entity => {
if !fields.insert(__FieldTag::__entity) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for entity",
));
}
result.entity =
map.next_value::<std::option::Option<crate::model::Entity>>()?;
}
__FieldTag::__tracks => {
if !fields.insert(__FieldTag::__tracks) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for tracks",
));
}
result.tracks = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Track>>>()?.unwrap_or_default();
}
__FieldTag::__segments => {
if !fields.insert(__FieldTag::__segments) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for segments",
));
}
result.segments = map.next_value::<std::option::Option<std::vec::Vec<crate::model::VideoSegment>>>()?.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}