// @generated by protobuf-ts 2.11.1 with parameter use_proto_field_name,keep_enum_prefix // @generated from protobuf file "google/protobuf/api.proto" (package "google.protobuf", syntax proto3) // tslint:disable // // 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. // import type { BinaryWriteOptions } from "@protobuf-ts/runtime"; import type { IBinaryWriter } from "@protobuf-ts/runtime"; import { WireType } from "@protobuf-ts/runtime"; import type { BinaryReadOptions } from "@protobuf-ts/runtime"; import type { IBinaryReader } from "@protobuf-ts/runtime"; import { UnknownFieldHandler } from "@protobuf-ts/runtime"; import type { PartialMessage } from "@protobuf-ts/runtime"; import { reflectionMergePartial } from "@protobuf-ts/runtime"; import { MessageType } from "@protobuf-ts/runtime"; import { Syntax } from "./type"; import { SourceContext } from "./source_context"; import { Option } from "./type"; /** * Api is a light-weight descriptor for an API Interface. * * Interfaces are also described as "protocol buffer services" in some contexts, * such as by the "service" keyword in a .proto file, but they are different * from API Services, which represent a concrete implementation of an interface * as opposed to simply a description of methods and bindings. They are also * sometimes simply referred to as "APIs" in other contexts, such as the name of * this message itself. See https://cloud.google.com/apis/design/glossary for * detailed terminology. * * New usages of this message as an alternative to ServiceDescriptorProto are * strongly discouraged. This message does not reliability preserve all * information necessary to model the schema and preserve semantics. Instead * make use of FileDescriptorSet which preserves the necessary information. * * @generated from protobuf message google.protobuf.Api */ export interface Api { /** * The fully qualified name of this interface, including package name * followed by the interface's simple name. * * @generated from protobuf field: string name = 1 */ name: string; /** * The methods of this interface, in unspecified order. * * @generated from protobuf field: repeated google.protobuf.Method methods = 2 */ methods: Method[]; /** * Any metadata attached to the interface. * * @generated from protobuf field: repeated google.protobuf.Option options = 3 */ options: Option[]; /** * A version string for this interface. If specified, must have the form * `major-version.minor-version`, as in `1.10`. If the minor version is * omitted, it defaults to zero. If the entire version field is empty, the * major version is derived from the package name, as outlined below. If the * field is not empty, the version in the package name will be verified to be * consistent with what is provided here. * * The versioning schema uses [semantic * versioning](http://semver.org) where the major version number * indicates a breaking change and the minor version an additive, * non-breaking change. Both version numbers are signals to users * what to expect from different versions, and should be carefully * chosen based on the product plan. * * The major version is also reflected in the package name of the * interface, which must end in `v`, as in * `google.feature.v1`. For major versions 0 and 1, the suffix can * be omitted. Zero major versions must only be used for * experimental, non-GA interfaces. * * * @generated from protobuf field: string version = 4 */ version: string; /** * Source context for the protocol buffer service represented by this * message. * * @generated from protobuf field: google.protobuf.SourceContext source_context = 5 */ source_context?: SourceContext; /** * Included interfaces. See [Mixin][]. * * @generated from protobuf field: repeated google.protobuf.Mixin mixins = 6 */ mixins: Mixin[]; /** * The source syntax of the service. * * @generated from protobuf field: google.protobuf.Syntax syntax = 7 */ syntax: Syntax; /** * The source edition string, only valid when syntax is SYNTAX_EDITIONS. * * @generated from protobuf field: string edition = 8 */ edition: string; } /** * Method represents a method of an API interface. * * New usages of this message as an alternative to MethodDescriptorProto are * strongly discouraged. This message does not reliability preserve all * information necessary to model the schema and preserve semantics. Instead * make use of FileDescriptorSet which preserves the necessary information. * * @generated from protobuf message google.protobuf.Method */ export interface Method { /** * The simple name of this method. * * @generated from protobuf field: string name = 1 */ name: string; /** * A URL of the input message type. * * @generated from protobuf field: string request_type_url = 2 */ request_type_url: string; /** * If true, the request is streamed. * * @generated from protobuf field: bool request_streaming = 3 */ request_streaming: boolean; /** * The URL of the output message type. * * @generated from protobuf field: string response_type_url = 4 */ response_type_url: string; /** * If true, the response is streamed. * * @generated from protobuf field: bool response_streaming = 5 */ response_streaming: boolean; /** * Any metadata attached to the method. * * @generated from protobuf field: repeated google.protobuf.Option options = 6 */ options: Option[]; /** * The source syntax of this method. * * This field should be ignored, instead the syntax should be inherited from * Api. This is similar to Field and EnumValue. * * @deprecated * @generated from protobuf field: google.protobuf.Syntax syntax = 7 [deprecated = true] */ syntax: Syntax; /** * The source edition string, only valid when syntax is SYNTAX_EDITIONS. * * This field should be ignored, instead the edition should be inherited from * Api. This is similar to Field and EnumValue. * * @deprecated * @generated from protobuf field: string edition = 8 [deprecated = true] */ edition: string; } /** * Declares an API Interface to be included in this interface. The including * interface must redeclare all the methods from the included interface, but * documentation and options are inherited as follows: * * - If after comment and whitespace stripping, the documentation * string of the redeclared method is empty, it will be inherited * from the original method. * * - Each annotation belonging to the service config (http, * visibility) which is not set in the redeclared method will be * inherited. * * - If an http annotation is inherited, the path pattern will be * modified as follows. Any version prefix will be replaced by the * version of the including interface plus the [root][] path if * specified. * * Example of a simple mixin: * * package google.acl.v1; * service AccessControl { * // Get the underlying ACL object. * rpc GetAcl(GetAclRequest) returns (Acl) { * option (google.api.http).get = "/v1/{resource=**}:getAcl"; * } * } * * package google.storage.v2; * service Storage { * rpc GetAcl(GetAclRequest) returns (Acl); * * // Get a data record. * rpc GetData(GetDataRequest) returns (Data) { * option (google.api.http).get = "/v2/{resource=**}"; * } * } * * Example of a mixin configuration: * * apis: * - name: google.storage.v2.Storage * mixins: * - name: google.acl.v1.AccessControl * * The mixin construct implies that all methods in `AccessControl` are * also declared with same name and request/response types in * `Storage`. A documentation generator or annotation processor will * see the effective `Storage.GetAcl` method after inheriting * documentation and annotations as follows: * * service Storage { * // Get the underlying ACL object. * rpc GetAcl(GetAclRequest) returns (Acl) { * option (google.api.http).get = "/v2/{resource=**}:getAcl"; * } * ... * } * * Note how the version in the path pattern changed from `v1` to `v2`. * * If the `root` field in the mixin is specified, it should be a * relative path under which inherited HTTP paths are placed. Example: * * apis: * - name: google.storage.v2.Storage * mixins: * - name: google.acl.v1.AccessControl * root: acls * * This implies the following inherited HTTP annotation: * * service Storage { * // Get the underlying ACL object. * rpc GetAcl(GetAclRequest) returns (Acl) { * option (google.api.http).get = "/v2/acls/{resource=**}:getAcl"; * } * ... * } * * @generated from protobuf message google.protobuf.Mixin */ export interface Mixin { /** * The fully qualified name of the interface which is included. * * @generated from protobuf field: string name = 1 */ name: string; /** * If non-empty specifies a path under which inherited HTTP paths * are rooted. * * @generated from protobuf field: string root = 2 */ root: string; } // @generated message type with reflection information, may provide speed optimized methods class Api$Type extends MessageType { constructor() { super("google.protobuf.Api", [ { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, { no: 2, name: "methods", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Method }, { no: 3, name: "options", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Option }, { no: 4, name: "version", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, { no: 5, name: "source_context", kind: "message", localName: "source_context", T: () => SourceContext }, { no: 6, name: "mixins", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Mixin }, { no: 7, name: "syntax", kind: "enum", T: () => ["google.protobuf.Syntax", Syntax] }, { no: 8, name: "edition", kind: "scalar", T: 9 /*ScalarType.STRING*/ } ]); } create(value?: PartialMessage): Api { const message = globalThis.Object.create((this.messagePrototype!)); message.name = ""; message.methods = []; message.options = []; message.version = ""; message.mixins = []; message.syntax = 0; message.edition = ""; if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Api): Api { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* string name */ 1: message.name = reader.string(); break; case /* repeated google.protobuf.Method methods */ 2: message.methods.push(Method.internalBinaryRead(reader, reader.uint32(), options)); break; case /* repeated google.protobuf.Option options */ 3: message.options.push(Option.internalBinaryRead(reader, reader.uint32(), options)); break; case /* string version */ 4: message.version = reader.string(); break; case /* google.protobuf.SourceContext source_context */ 5: message.source_context = SourceContext.internalBinaryRead(reader, reader.uint32(), options, message.source_context); break; case /* repeated google.protobuf.Mixin mixins */ 6: message.mixins.push(Mixin.internalBinaryRead(reader, reader.uint32(), options)); break; case /* google.protobuf.Syntax syntax */ 7: message.syntax = reader.int32(); break; case /* string edition */ 8: message.edition = reader.string(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message: Api, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { /* string name = 1; */ if (message.name !== "") writer.tag(1, WireType.LengthDelimited).string(message.name); /* repeated google.protobuf.Method methods = 2; */ for (let i = 0; i < message.methods.length; i++) Method.internalBinaryWrite(message.methods[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join(); /* repeated google.protobuf.Option options = 3; */ for (let i = 0; i < message.options.length; i++) Option.internalBinaryWrite(message.options[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join(); /* string version = 4; */ if (message.version !== "") writer.tag(4, WireType.LengthDelimited).string(message.version); /* google.protobuf.SourceContext source_context = 5; */ if (message.source_context) SourceContext.internalBinaryWrite(message.source_context, writer.tag(5, WireType.LengthDelimited).fork(), options).join(); /* repeated google.protobuf.Mixin mixins = 6; */ for (let i = 0; i < message.mixins.length; i++) Mixin.internalBinaryWrite(message.mixins[i], writer.tag(6, WireType.LengthDelimited).fork(), options).join(); /* google.protobuf.Syntax syntax = 7; */ if (message.syntax !== 0) writer.tag(7, WireType.Varint).int32(message.syntax); /* string edition = 8; */ if (message.edition !== "") writer.tag(8, WireType.LengthDelimited).string(message.edition); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message google.protobuf.Api */ export const Api = new Api$Type(); // @generated message type with reflection information, may provide speed optimized methods class Method$Type extends MessageType { constructor() { super("google.protobuf.Method", [ { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, { no: 2, name: "request_type_url", kind: "scalar", localName: "request_type_url", T: 9 /*ScalarType.STRING*/ }, { no: 3, name: "request_streaming", kind: "scalar", localName: "request_streaming", T: 8 /*ScalarType.BOOL*/ }, { no: 4, name: "response_type_url", kind: "scalar", localName: "response_type_url", T: 9 /*ScalarType.STRING*/ }, { no: 5, name: "response_streaming", kind: "scalar", localName: "response_streaming", T: 8 /*ScalarType.BOOL*/ }, { no: 6, name: "options", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Option }, { no: 7, name: "syntax", kind: "enum", T: () => ["google.protobuf.Syntax", Syntax] }, { no: 8, name: "edition", kind: "scalar", T: 9 /*ScalarType.STRING*/ } ]); } create(value?: PartialMessage): Method { const message = globalThis.Object.create((this.messagePrototype!)); message.name = ""; message.request_type_url = ""; message.request_streaming = false; message.response_type_url = ""; message.response_streaming = false; message.options = []; message.syntax = 0; message.edition = ""; if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Method): Method { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* string name */ 1: message.name = reader.string(); break; case /* string request_type_url */ 2: message.request_type_url = reader.string(); break; case /* bool request_streaming */ 3: message.request_streaming = reader.bool(); break; case /* string response_type_url */ 4: message.response_type_url = reader.string(); break; case /* bool response_streaming */ 5: message.response_streaming = reader.bool(); break; case /* repeated google.protobuf.Option options */ 6: message.options.push(Option.internalBinaryRead(reader, reader.uint32(), options)); break; case /* google.protobuf.Syntax syntax = 7 [deprecated = true] */ 7: message.syntax = reader.int32(); break; case /* string edition = 8 [deprecated = true] */ 8: message.edition = reader.string(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message: Method, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { /* string name = 1; */ if (message.name !== "") writer.tag(1, WireType.LengthDelimited).string(message.name); /* string request_type_url = 2; */ if (message.request_type_url !== "") writer.tag(2, WireType.LengthDelimited).string(message.request_type_url); /* bool request_streaming = 3; */ if (message.request_streaming !== false) writer.tag(3, WireType.Varint).bool(message.request_streaming); /* string response_type_url = 4; */ if (message.response_type_url !== "") writer.tag(4, WireType.LengthDelimited).string(message.response_type_url); /* bool response_streaming = 5; */ if (message.response_streaming !== false) writer.tag(5, WireType.Varint).bool(message.response_streaming); /* repeated google.protobuf.Option options = 6; */ for (let i = 0; i < message.options.length; i++) Option.internalBinaryWrite(message.options[i], writer.tag(6, WireType.LengthDelimited).fork(), options).join(); /* google.protobuf.Syntax syntax = 7 [deprecated = true]; */ if (message.syntax !== 0) writer.tag(7, WireType.Varint).int32(message.syntax); /* string edition = 8 [deprecated = true]; */ if (message.edition !== "") writer.tag(8, WireType.LengthDelimited).string(message.edition); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message google.protobuf.Method */ export const Method = new Method$Type(); // @generated message type with reflection information, may provide speed optimized methods class Mixin$Type extends MessageType { constructor() { super("google.protobuf.Mixin", [ { no: 1, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ }, { no: 2, name: "root", kind: "scalar", T: 9 /*ScalarType.STRING*/ } ]); } create(value?: PartialMessage): Mixin { const message = globalThis.Object.create((this.messagePrototype!)); message.name = ""; message.root = ""; if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Mixin): Mixin { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* string name */ 1: message.name = reader.string(); break; case /* string root */ 2: message.root = reader.string(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message: Mixin, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { /* string name = 1; */ if (message.name !== "") writer.tag(1, WireType.LengthDelimited).string(message.name); /* string root = 2; */ if (message.root !== "") writer.tag(2, WireType.LengthDelimited).string(message.root); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message google.protobuf.Mixin */ export const Mixin = new Mixin$Type();