// @generated by protobuf-ts 2.11.1 with parameter use_proto_field_name // @generated from protobuf file "google/protobuf/compiler/plugin.proto" (package "google.protobuf.compiler", syntax proto2) // 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. // // // Author: kenton@google.com (Kenton Varda) // // WARNING: The plugin interface is currently EXPERIMENTAL and is subject to // change. // // protoc (aka the Protocol Compiler) can be extended via plugins. A plugin is // just a program that reads a CodeGeneratorRequest from stdin and writes a // CodeGeneratorResponse to stdout. // // Plugins written using C++ can use google/protobuf/compiler/plugin.h instead // of dealing with the raw protocol defined here. // // A plugin executable needs only to be placed somewhere in the path. The // plugin should be named "protoc-gen-$NAME", and will then be used when the // flag "--${NAME}_out" is passed to protoc. // 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 { FileDescriptorProto } from "../descriptor"; /** * The version number of protocol compiler. * * @generated from protobuf message google.protobuf.compiler.Version */ export interface Version { /** * @generated from protobuf field: optional int32 major = 1 */ major?: number; /** * @generated from protobuf field: optional int32 minor = 2 */ minor?: number; /** * @generated from protobuf field: optional int32 patch = 3 */ patch?: number; /** * A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should * be empty for mainline stable releases. * * @generated from protobuf field: optional string suffix = 4 */ suffix?: string; } /** * An encoded CodeGeneratorRequest is written to the plugin's stdin. * * @generated from protobuf message google.protobuf.compiler.CodeGeneratorRequest */ export interface CodeGeneratorRequest { /** * The .proto files that were explicitly listed on the command-line. The * code generator should generate code only for these files. Each file's * descriptor will be included in proto_file, below. * * @generated from protobuf field: repeated string file_to_generate = 1 */ file_to_generate: string[]; /** * The generator parameter passed on the command-line. * * @generated from protobuf field: optional string parameter = 2 */ parameter?: string; /** * FileDescriptorProtos for all files in files_to_generate and everything * they import. The files will appear in topological order, so each file * appears before any file that imports it. * * protoc guarantees that all proto_files will be written after * the fields above, even though this is not technically guaranteed by the * protobuf wire format. This theoretically could allow a plugin to stream * in the FileDescriptorProtos and handle them one by one rather than read * the entire set into memory at once. However, as of this writing, this * is not similarly optimized on protoc's end -- it will store all fields in * memory at once before sending them to the plugin. * * Type names of fields and extensions in the FileDescriptorProto are always * fully qualified. * * @generated from protobuf field: repeated google.protobuf.FileDescriptorProto proto_file = 15 */ proto_file: FileDescriptorProto[]; /** * The version number of protocol compiler. * * @generated from protobuf field: optional google.protobuf.compiler.Version compiler_version = 3 */ compiler_version?: Version; } /** * The plugin writes an encoded CodeGeneratorResponse to stdout. * * @generated from protobuf message google.protobuf.compiler.CodeGeneratorResponse */ export interface CodeGeneratorResponse { /** * Error message. If non-empty, code generation failed. The plugin process * should exit with status code zero even if it reports an error in this way. * * This should be used to indicate errors in .proto files which prevent the * code generator from generating correct code. Errors which indicate a * problem in protoc itself -- such as the input CodeGeneratorRequest being * unparseable -- should be reported by writing a message to stderr and * exiting with a non-zero status code. * * @generated from protobuf field: optional string error = 1 */ error?: string; /** * @generated from protobuf field: repeated google.protobuf.compiler.CodeGeneratorResponse.File file = 15 */ file: CodeGeneratorResponse_File[]; } /** * Represents a single generated file. * * @generated from protobuf message google.protobuf.compiler.CodeGeneratorResponse.File */ export interface CodeGeneratorResponse_File { /** * The file name, relative to the output directory. The name must not * contain "." or ".." components and must be relative, not be absolute (so, * the file cannot lie outside the output directory). "/" must be used as * the path separator, not "\". * * If the name is omitted, the content will be appended to the previous * file. This allows the generator to break large files into small chunks, * and allows the generated text to be streamed back to protoc so that large * files need not reside completely in memory at one time. Note that as of * this writing protoc does not optimize for this -- it will read the entire * CodeGeneratorResponse before writing files to disk. * * @generated from protobuf field: optional string name = 1 */ name?: string; /** * If non-empty, indicates that the named file should already exist, and the * content here is to be inserted into that file at a defined insertion * point. This feature allows a code generator to extend the output * produced by another code generator. The original generator may provide * insertion points by placing special annotations in the file that look * like: * @@protoc_insertion_point(NAME) * The annotation can have arbitrary text before and after it on the line, * which allows it to be placed in a comment. NAME should be replaced with * an identifier naming the point -- this is what other generators will use * as the insertion_point. Code inserted at this point will be placed * immediately above the line containing the insertion point (thus multiple * insertions to the same point will come out in the order they were added). * The double-@ is intended to make it unlikely that the generated code * could contain things that look like insertion points by accident. * * For example, the C++ code generator places the following line in the * .pb.h files that it generates: * // @@protoc_insertion_point(namespace_scope) * This line appears within the scope of the file's package namespace, but * outside of any particular class. Another plugin can then specify the * insertion_point "namespace_scope" to generate additional classes or * other declarations that should be placed in this scope. * * Note that if the line containing the insertion point begins with * whitespace, the same whitespace will be added to every line of the * inserted text. This is useful for languages like Python, where * indentation matters. In these languages, the insertion point comment * should be indented the same amount as any inserted code will need to be * in order to work correctly in that context. * * The code generator that generates the initial file and the one which * inserts into it must both run as part of a single invocation of protoc. * Code generators are executed in the order in which they appear on the * command line. * * If |insertion_point| is present, |name| must also be present. * * @generated from protobuf field: optional string insertion_point = 2 */ insertion_point?: string; /** * The file contents. * * @generated from protobuf field: optional string content = 15 */ content?: string; } // @generated message type with reflection information, may provide speed optimized methods class Version$Type extends MessageType { constructor() { super("google.protobuf.compiler.Version", [ { no: 1, name: "major", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ }, { no: 2, name: "minor", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ }, { no: 3, name: "patch", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ }, { no: 4, name: "suffix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ } ]); } create(value?: PartialMessage): Version { const message = globalThis.Object.create((this.messagePrototype!)); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Version): Version { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* optional int32 major */ 1: message.major = reader.int32(); break; case /* optional int32 minor */ 2: message.minor = reader.int32(); break; case /* optional int32 patch */ 3: message.patch = reader.int32(); break; case /* optional string suffix */ 4: message.suffix = 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: Version, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { /* optional int32 major = 1; */ if (message.major !== undefined) writer.tag(1, WireType.Varint).int32(message.major); /* optional int32 minor = 2; */ if (message.minor !== undefined) writer.tag(2, WireType.Varint).int32(message.minor); /* optional int32 patch = 3; */ if (message.patch !== undefined) writer.tag(3, WireType.Varint).int32(message.patch); /* optional string suffix = 4; */ if (message.suffix !== undefined) writer.tag(4, WireType.LengthDelimited).string(message.suffix); 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.compiler.Version */ export const Version = new Version$Type(); // @generated message type with reflection information, may provide speed optimized methods class CodeGeneratorRequest$Type extends MessageType { constructor() { super("google.protobuf.compiler.CodeGeneratorRequest", [ { no: 1, name: "file_to_generate", kind: "scalar", localName: "file_to_generate", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }, { no: 2, name: "parameter", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }, { no: 15, name: "proto_file", kind: "message", localName: "proto_file", repeat: 2 /*RepeatType.UNPACKED*/, T: () => FileDescriptorProto }, { no: 3, name: "compiler_version", kind: "message", localName: "compiler_version", T: () => Version } ]); } create(value?: PartialMessage): CodeGeneratorRequest { const message = globalThis.Object.create((this.messagePrototype!)); message.file_to_generate = []; message.proto_file = []; if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CodeGeneratorRequest): CodeGeneratorRequest { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* repeated string file_to_generate */ 1: message.file_to_generate.push(reader.string()); break; case /* optional string parameter */ 2: message.parameter = reader.string(); break; case /* repeated google.protobuf.FileDescriptorProto proto_file */ 15: message.proto_file.push(FileDescriptorProto.internalBinaryRead(reader, reader.uint32(), options)); break; case /* optional google.protobuf.compiler.Version compiler_version */ 3: message.compiler_version = Version.internalBinaryRead(reader, reader.uint32(), options, message.compiler_version); 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: CodeGeneratorRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { /* repeated string file_to_generate = 1; */ for (let i = 0; i < message.file_to_generate.length; i++) writer.tag(1, WireType.LengthDelimited).string(message.file_to_generate[i]); /* optional string parameter = 2; */ if (message.parameter !== undefined) writer.tag(2, WireType.LengthDelimited).string(message.parameter); /* optional google.protobuf.compiler.Version compiler_version = 3; */ if (message.compiler_version) Version.internalBinaryWrite(message.compiler_version, writer.tag(3, WireType.LengthDelimited).fork(), options).join(); /* repeated google.protobuf.FileDescriptorProto proto_file = 15; */ for (let i = 0; i < message.proto_file.length; i++) FileDescriptorProto.internalBinaryWrite(message.proto_file[i], writer.tag(15, WireType.LengthDelimited).fork(), options).join(); 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.compiler.CodeGeneratorRequest */ export const CodeGeneratorRequest = new CodeGeneratorRequest$Type(); // @generated message type with reflection information, may provide speed optimized methods class CodeGeneratorResponse$Type extends MessageType { constructor() { super("google.protobuf.compiler.CodeGeneratorResponse", [ { no: 1, name: "error", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }, { no: 15, name: "file", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => CodeGeneratorResponse_File } ]); } create(value?: PartialMessage): CodeGeneratorResponse { const message = globalThis.Object.create((this.messagePrototype!)); message.file = []; if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CodeGeneratorResponse): CodeGeneratorResponse { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* optional string error */ 1: message.error = reader.string(); break; case /* repeated google.protobuf.compiler.CodeGeneratorResponse.File file */ 15: message.file.push(CodeGeneratorResponse_File.internalBinaryRead(reader, reader.uint32(), options)); 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: CodeGeneratorResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { /* optional string error = 1; */ if (message.error !== undefined) writer.tag(1, WireType.LengthDelimited).string(message.error); /* repeated google.protobuf.compiler.CodeGeneratorResponse.File file = 15; */ for (let i = 0; i < message.file.length; i++) CodeGeneratorResponse_File.internalBinaryWrite(message.file[i], writer.tag(15, WireType.LengthDelimited).fork(), options).join(); 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.compiler.CodeGeneratorResponse */ export const CodeGeneratorResponse = new CodeGeneratorResponse$Type(); // @generated message type with reflection information, may provide speed optimized methods class CodeGeneratorResponse_File$Type extends MessageType { constructor() { super("google.protobuf.compiler.CodeGeneratorResponse.File", [ { no: 1, name: "name", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }, { no: 2, name: "insertion_point", kind: "scalar", localName: "insertion_point", opt: true, T: 9 /*ScalarType.STRING*/ }, { no: 15, name: "content", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ } ]); } create(value?: PartialMessage): CodeGeneratorResponse_File { const message = globalThis.Object.create((this.messagePrototype!)); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CodeGeneratorResponse_File): CodeGeneratorResponse_File { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* optional string name */ 1: message.name = reader.string(); break; case /* optional string insertion_point */ 2: message.insertion_point = reader.string(); break; case /* optional string content */ 15: message.content = 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: CodeGeneratorResponse_File, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { /* optional string name = 1; */ if (message.name !== undefined) writer.tag(1, WireType.LengthDelimited).string(message.name); /* optional string insertion_point = 2; */ if (message.insertion_point !== undefined) writer.tag(2, WireType.LengthDelimited).string(message.insertion_point); /* optional string content = 15; */ if (message.content !== undefined) writer.tag(15, WireType.LengthDelimited).string(message.content); 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.compiler.CodeGeneratorResponse.File */ export const CodeGeneratorResponse_File = new CodeGeneratorResponse_File$Type();