# NOTE: This file is auto generated by googly. Do not edit it manually. defmodule Googly.CloudVision.Encoder do @moduledoc false @doc false # Encoding for every model is defined once via the `defimpl` below, which # delegates here: nil fields are dropped (so PATCH requests don't clobber # unset fields) and snake_case keys are mapped to their exact wire names. def to_map(struct) do wire = struct.__struct__.__wire__() struct |> Map.from_struct() |> Enum.reduce(%{}, fn {_key, nil}, acc -> acc {key, value}, acc -> Map.put(acc, Map.get(wire, key, Atom.to_string(key)), value) end) end end defimpl Jason.Encoder, for: [ Googly.CloudVision.Model.AddProductToProductSetRequest, Googly.CloudVision.Model.AnnotateFileRequest, Googly.CloudVision.Model.AnnotateFileResponse, Googly.CloudVision.Model.AnnotateImageRequest, Googly.CloudVision.Model.AnnotateImageResponse, Googly.CloudVision.Model.AsyncAnnotateFileRequest, Googly.CloudVision.Model.AsyncAnnotateFileResponse, Googly.CloudVision.Model.AsyncBatchAnnotateFilesRequest, Googly.CloudVision.Model.AsyncBatchAnnotateFilesResponse, Googly.CloudVision.Model.AsyncBatchAnnotateImagesRequest, Googly.CloudVision.Model.AsyncBatchAnnotateImagesResponse, Googly.CloudVision.Model.BatchAnnotateFilesRequest, Googly.CloudVision.Model.BatchAnnotateFilesResponse, Googly.CloudVision.Model.BatchAnnotateImagesRequest, Googly.CloudVision.Model.BatchAnnotateImagesResponse, Googly.CloudVision.Model.BatchOperationMetadata, Googly.CloudVision.Model.Block, Googly.CloudVision.Model.BoundingPoly, Googly.CloudVision.Model.CancelOperationRequest, Googly.CloudVision.Model.Color, Googly.CloudVision.Model.ColorInfo, Googly.CloudVision.Model.CropHint, Googly.CloudVision.Model.CropHintsAnnotation, Googly.CloudVision.Model.CropHintsParams, Googly.CloudVision.Model.DetectedBreak, Googly.CloudVision.Model.DetectedLanguage, Googly.CloudVision.Model.DominantColorsAnnotation, Googly.CloudVision.Model.Empty, Googly.CloudVision.Model.EntityAnnotation, Googly.CloudVision.Model.FaceAnnotation, Googly.CloudVision.Model.Feature, Googly.CloudVision.Model.GcsDestination, Googly.CloudVision.Model.GcsSource, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1AnnotateFileResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1AnnotateImageResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1AsyncAnnotateFileResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1AsyncBatchAnnotateFilesResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1Block, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1BoundingPoly, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1ColorInfo, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1CropHint, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1CropHintsAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1DominantColorsAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1EntityAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1FaceAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1FaceAnnotationLandmark, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1GcsDestination, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1GcsSource, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1ImageAnnotationContext, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1ImageProperties, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1InputConfig, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1LocalizedObjectAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1LocationInfo, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1NormalizedVertex, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1OperationMetadata, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1OutputConfig, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1Page, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1Paragraph, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1Position, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1Product, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1ProductKeyValue, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1ProductSearchResults, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1ProductSearchResultsGroupedResult, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1ProductSearchResultsObjectAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1ProductSearchResultsResult, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1Property, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1SafeSearchAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1Symbol, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1TextAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1TextAnnotationDetectedBreak, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1TextAnnotationDetectedLanguage, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1TextAnnotationTextProperty, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1Vertex, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1WebDetection, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1WebDetectionWebEntity, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1WebDetectionWebImage, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1WebDetectionWebLabel, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1WebDetectionWebPage, Googly.CloudVision.Model.GoogleCloudVisionV1p1beta1Word, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1AnnotateFileResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1AnnotateImageResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1AsyncAnnotateFileResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1AsyncBatchAnnotateFilesResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1Block, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1BoundingPoly, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1ColorInfo, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1CropHint, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1CropHintsAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1DominantColorsAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1EntityAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1FaceAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1FaceAnnotationLandmark, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1GcsDestination, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1GcsSource, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1ImageAnnotationContext, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1ImageProperties, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1InputConfig, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1LocalizedObjectAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1LocationInfo, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1NormalizedVertex, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1OperationMetadata, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1OutputConfig, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1Page, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1Paragraph, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1Position, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1Product, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1ProductKeyValue, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1ProductSearchResults, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1ProductSearchResultsGroupedResult, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1ProductSearchResultsObjectAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1ProductSearchResultsResult, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1Property, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1SafeSearchAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1Symbol, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1TextAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1TextAnnotationDetectedBreak, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1TextAnnotationDetectedLanguage, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1TextAnnotationTextProperty, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1Vertex, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1WebDetection, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1WebDetectionWebEntity, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1WebDetectionWebImage, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1WebDetectionWebLabel, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1WebDetectionWebPage, Googly.CloudVision.Model.GoogleCloudVisionV1p2beta1Word, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1AnnotateFileResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1AnnotateImageResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1AsyncAnnotateFileResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1AsyncBatchAnnotateFilesResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1BatchOperationMetadata, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1Block, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1BoundingPoly, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1ColorInfo, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1CropHint, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1CropHintsAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1DominantColorsAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1EntityAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1FaceAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1FaceAnnotationLandmark, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1GcsDestination, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1GcsSource, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1ImageAnnotationContext, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1ImageProperties, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1ImportProductSetsResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1InputConfig, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1LocalizedObjectAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1LocationInfo, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1NormalizedVertex, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1OperationMetadata, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1OutputConfig, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1Page, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1Paragraph, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1Position, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1Product, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1ProductKeyValue, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1ProductSearchResults, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1ProductSearchResultsGroupedResult, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1ProductSearchResultsObjectAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1ProductSearchResultsResult, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1Property, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1ReferenceImage, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1SafeSearchAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1Symbol, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1TextAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1TextAnnotationDetectedBreak, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1TextAnnotationDetectedLanguage, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1TextAnnotationTextProperty, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1Vertex, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1WebDetection, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1WebDetectionWebEntity, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1WebDetectionWebImage, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1WebDetectionWebLabel, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1WebDetectionWebPage, Googly.CloudVision.Model.GoogleCloudVisionV1p3beta1Word, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1AnnotateFileResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1AnnotateImageResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1AsyncAnnotateFileResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1AsyncBatchAnnotateFilesResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1AsyncBatchAnnotateImagesResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1BatchAnnotateFilesResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1BatchOperationMetadata, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1Block, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1BoundingPoly, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1Celebrity, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1ColorInfo, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1CropHint, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1CropHintsAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1DominantColorsAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1EntityAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1FaceAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1FaceAnnotationLandmark, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1FaceRecognitionResult, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1GcsDestination, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1GcsSource, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1ImageAnnotationContext, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1ImageProperties, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1ImportProductSetsResponse, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1InputConfig, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1LocalizedObjectAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1LocationInfo, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1NormalizedVertex, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1OperationMetadata, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1OutputConfig, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1Page, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1Paragraph, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1Position, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1Product, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1ProductKeyValue, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1ProductSearchResults, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1ProductSearchResultsGroupedResult, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1ProductSearchResultsObjectAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1ProductSearchResultsResult, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1Property, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1ReferenceImage, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1SafeSearchAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1Symbol, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1TextAnnotation, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1TextAnnotationDetectedBreak, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1TextAnnotationDetectedLanguage, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1TextAnnotationTextProperty, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1Vertex, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1WebDetection, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1WebDetectionWebEntity, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1WebDetectionWebImage, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1WebDetectionWebLabel, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1WebDetectionWebPage, Googly.CloudVision.Model.GoogleCloudVisionV1p4beta1Word, Googly.CloudVision.Model.GroupedResult, Googly.CloudVision.Model.Image, Googly.CloudVision.Model.ImageAnnotationContext, Googly.CloudVision.Model.ImageContext, Googly.CloudVision.Model.ImageProperties, Googly.CloudVision.Model.ImageSource, Googly.CloudVision.Model.ImportProductSetsGcsSource, Googly.CloudVision.Model.ImportProductSetsInputConfig, Googly.CloudVision.Model.ImportProductSetsRequest, Googly.CloudVision.Model.ImportProductSetsResponse, Googly.CloudVision.Model.InputConfig, Googly.CloudVision.Model.KeyValue, Googly.CloudVision.Model.Landmark, Googly.CloudVision.Model.LatLng, Googly.CloudVision.Model.LatLongRect, Googly.CloudVision.Model.ListOperationsResponse, Googly.CloudVision.Model.ListProductSetsResponse, Googly.CloudVision.Model.ListProductsInProductSetResponse, Googly.CloudVision.Model.ListProductsResponse, Googly.CloudVision.Model.ListReferenceImagesResponse, Googly.CloudVision.Model.LocalizedObjectAnnotation, Googly.CloudVision.Model.LocationInfo, Googly.CloudVision.Model.NormalizedVertex, Googly.CloudVision.Model.ObjectAnnotation, Googly.CloudVision.Model.Operation, Googly.CloudVision.Model.OperationMetadata, Googly.CloudVision.Model.OutputConfig, Googly.CloudVision.Model.Page, Googly.CloudVision.Model.Paragraph, Googly.CloudVision.Model.Position, Googly.CloudVision.Model.Product, Googly.CloudVision.Model.ProductSearchParams, Googly.CloudVision.Model.ProductSearchResults, Googly.CloudVision.Model.ProductSet, Googly.CloudVision.Model.ProductSetPurgeConfig, Googly.CloudVision.Model.Property, Googly.CloudVision.Model.PurgeProductsRequest, Googly.CloudVision.Model.ReferenceImage, Googly.CloudVision.Model.RemoveProductFromProductSetRequest, Googly.CloudVision.Model.Result, Googly.CloudVision.Model.SafeSearchAnnotation, Googly.CloudVision.Model.Status, Googly.CloudVision.Model.Symbol, Googly.CloudVision.Model.TextAnnotation, Googly.CloudVision.Model.TextDetectionParams, Googly.CloudVision.Model.TextProperty, Googly.CloudVision.Model.Vertex, Googly.CloudVision.Model.WebDetection, Googly.CloudVision.Model.WebDetectionParams, Googly.CloudVision.Model.WebEntity, Googly.CloudVision.Model.WebImage, Googly.CloudVision.Model.WebLabel, Googly.CloudVision.Model.WebPage, Googly.CloudVision.Model.Word ] do def encode(struct, opts), do: Googly.CloudVision.Encoder.to_map(struct) |> Jason.Encode.map(opts) end