1 // Copyright 2019 Google LLC
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
7 // https://www.apache.org/licenses/LICENSE-2.0
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 // Note: this file is purely for documentation. Any contents are not expected
16 // to be loaded as the JS file.
19 * `Struct` represents a structured data value, consisting of fields
20 * which map to dynamically typed values. In some languages, `Struct`
21 * might be supported by a native representation. For example, in
22 * scripting languages like JS a struct is represented as an
23 * object. The details of that representation are described together
24 * with the proto support for the language.
26 * The JSON representation for `Struct` is JSON object.
28 * @property {Object.<string, Object>} fields
29 * Unordered map of dynamically typed values.
32 * @memberof google.protobuf
33 * @see [google.protobuf.Struct definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto}
36 // This is for documentation. Actual contents will be loaded by gRPC.
40 * `Value` represents a dynamically typed value which can be either
41 * null, a number, a string, a boolean, a recursive struct value, or a
42 * list of values. A producer of value is expected to set one of that
43 * variants, absence of any variant indicates an error.
45 * The JSON representation for `Value` is JSON value.
47 * @property {number} nullValue
48 * Represents a null value.
50 * The number should be among the values of [NullValue]{@link google.protobuf.NullValue}
52 * @property {number} numberValue
53 * Represents a double value.
55 * @property {string} stringValue
56 * Represents a string value.
58 * @property {boolean} boolValue
59 * Represents a boolean value.
61 * @property {Object} structValue
62 * Represents a structured value.
64 * This object should have the same structure as [Struct]{@link google.protobuf.Struct}
66 * @property {Object} listValue
67 * Represents a repeated `Value`.
69 * This object should have the same structure as [ListValue]{@link google.protobuf.ListValue}
72 * @memberof google.protobuf
73 * @see [google.protobuf.Value definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto}
76 // This is for documentation. Actual contents will be loaded by gRPC.
80 * `ListValue` is a wrapper around a repeated field of values.
82 * The JSON representation for `ListValue` is JSON array.
84 * @property {Object[]} values
85 * Repeated field of dynamically typed values.
87 * This object should have the same structure as [Value]{@link google.protobuf.Value}
90 * @memberof google.protobuf
91 * @see [google.protobuf.ListValue definition in proto format]{@link https://github.com/google/protobuf/blob/master/src/google/protobuf/struct.proto}
94 // This is for documentation. Actual contents will be loaded by gRPC.
98 * `NullValue` is a singleton enumeration to represent the null value for the
101 * The JSON representation for `NullValue` is JSON `null`.
104 * @memberof google.protobuf