// @generated by protobuf-ts 2.9.0 // @generated from protobuf file "query.proto" (package "pb", syntax proto3) // tslint:disable 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 { MESSAGE_TYPE } from "@protobuf-ts/runtime"; import { MessageType } from "@protobuf-ts/runtime"; import { Tag } from "./tag"; /** * * A query represents a search of pieces by tags. * * @generated from protobuf message pb.Query */ export interface Query { /** * The ID of the bucket to search. * * @generated from protobuf field: uint32 bucketId = 1; */ bucketId: number; /** * A list of tags to match against the tags of stored pieces. * There can be multiple tags with the same key. * * @generated from protobuf field: repeated pb.Tag tags = 2; */ tags: Tag[]; /** * Skip piece data in search result. * * @generated from protobuf field: bool skipData = 3; */ skipData: boolean; } // @generated message type with reflection information, may provide speed optimized methods class Query$Type extends MessageType { constructor() { super("pb.Query", [ { no: 1, name: "bucketId", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }, { no: 2, name: "tags", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => Tag }, { no: 3, name: "skipData", kind: "scalar", T: 8 /*ScalarType.BOOL*/ } ]); } create(value?: PartialMessage): Query { const message = { bucketId: 0, tags: [], skipData: false }; globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); if (value !== undefined) reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Query): Query { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* uint32 bucketId */ 1: message.bucketId = reader.uint32(); break; case /* repeated pb.Tag tags */ 2: message.tags.push(Tag.internalBinaryRead(reader, reader.uint32(), options)); break; case /* bool skipData */ 3: message.skipData = reader.bool(); 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: Query, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter { /* uint32 bucketId = 1; */ if (message.bucketId !== 0) writer.tag(1, WireType.Varint).uint32(message.bucketId); /* repeated pb.Tag tags = 2; */ for (let i = 0; i < message.tags.length; i++) Tag.internalBinaryWrite(message.tags[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join(); /* bool skipData = 3; */ if (message.skipData !== false) writer.tag(3, WireType.Varint).bool(message.skipData); let u = options.writeUnknownFields; if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message pb.Query */ export const Query = new Query$Type();