Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/resources/contents/code/extensions/struct.proto
- This file was added.
// Protocol Buffers - Google's data interchange format | |||||
// Copyright 2008 Google Inc. All rights reserved. | |||||
// https://developers.google.com/protocol-buffers/ | |||||
// | |||||
// Redistribution and use in source and binary forms, with or without | |||||
// modification, are permitted provided that the following conditions are | |||||
// met: | |||||
// | |||||
// * Redistributions of source code must retain the above copyright | |||||
// notice, this list of conditions and the following disclaimer. | |||||
// * Redistributions in binary form must reproduce the above | |||||
// copyright notice, this list of conditions and the following disclaimer | |||||
// in the documentation and/or other materials provided with the | |||||
// distribution. | |||||
// * Neither the name of Google Inc. nor the names of its | |||||
// contributors may be used to endorse or promote products derived from | |||||
// this software without specific prior written permission. | |||||
// | |||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | |||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | |||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | |||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | |||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
syntax = "proto3"; | |||||
package google.protobuf; | |||||
option csharp_namespace = "Google.Protobuf.WellKnownTypes"; | |||||
option cc_enable_arenas = true; | |||||
option go_package = "github.com/golang/protobuf/ptypes/struct;structpb"; | |||||
option java_package = "com.google.protobuf"; | |||||
option java_outer_classname = "StructProto"; | |||||
option java_multiple_files = true; | |||||
option objc_class_prefix = "GPB"; | |||||
// `Struct` represents a structured data value, consisting of fields | |||||
// which map to dynamically typed values. In some languages, `Struct` | |||||
// might be supported by a native representation. For example, in | |||||
// scripting languages like JS a struct is represented as an | |||||
// object. The details of that representation are described together | |||||
// with the proto support for the language. | |||||
// | |||||
// The JSON representation for `Struct` is JSON object. | |||||
message Struct { | |||||
// Unordered map of dynamically typed values. | |||||
map<string, Value> fields = 1; | |||||
} | |||||
// `Value` represents a dynamically typed value which can be either | |||||
// null, a number, a string, a boolean, a recursive struct value, or a | |||||
// list of values. A producer of value is expected to set one of that | |||||
// variants, absence of any variant indicates an error. | |||||
// | |||||
// The JSON representation for `Value` is JSON value. | |||||
message Value { | |||||
// The kind of value. | |||||
oneof kind { | |||||
// Represents a null value. | |||||
NullValue null_value = 1; | |||||
// Represents a double value. | |||||
double number_value = 2; | |||||
// Represents a string value. | |||||
string string_value = 3; | |||||
// Represents a boolean value. | |||||
bool bool_value = 4; | |||||
// Represents a structured value. | |||||
Struct struct_value = 5; | |||||
// Represents a repeated `Value`. | |||||
ListValue list_value = 6; | |||||
} | |||||
} | |||||
// `NullValue` is a singleton enumeration to represent the null value for the | |||||
// `Value` type union. | |||||
// | |||||
// The JSON representation for `NullValue` is JSON `null`. | |||||
enum NullValue { | |||||
// Null value. | |||||
NULL_VALUE = 0; | |||||
} | |||||
// `ListValue` is a wrapper around a repeated field of values. | |||||
// | |||||
// The JSON representation for `ListValue` is JSON array. | |||||
message ListValue { | |||||
// Repeated field of dynamically typed values. | |||||
repeated Value values = 1; | |||||
} |