// Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: // protoc-gen-ts_proto v2.11.2 // protoc v5.28.2 // source: provision_definitions.proto /* eslint-disable */ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { ConsumableTankFilter } from "./consumable_definitions"; import { I18nString } from "./i18n"; export const protobufPackage = "blitzkit"; export interface ProvisionDefinitions { provisions: { [key: number]: Provision }; } export interface ProvisionDefinitions_ProvisionsEntry { key: number; value: Provision | undefined; } export interface Provision { id: number; name: I18nString | undefined; crew?: number | undefined; game_mode_exclusive: boolean; include: ConsumableTankFilter[]; exclude: ConsumableTankFilter[]; } function createBaseProvisionDefinitions(): ProvisionDefinitions { return { provisions: {} }; } export const ProvisionDefinitions: MessageFns = { encode(message: ProvisionDefinitions, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { globalThis.Object.entries(message.provisions).forEach(([key, value]: [string, Provision]) => { ProvisionDefinitions_ProvisionsEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).join(); }); return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ProvisionDefinitions { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseProvisionDefinitions(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } const entry1 = ProvisionDefinitions_ProvisionsEntry.decode(reader, reader.uint32()); if (entry1.value !== undefined) { message.provisions[entry1.key] = entry1.value; } continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): ProvisionDefinitions { return { provisions: isObject(object.provisions) ? (globalThis.Object.entries(object.provisions) as [string, any][]).reduce( (acc: { [key: number]: Provision }, [key, value]: [string, any]) => { acc[globalThis.Number(key)] = Provision.fromJSON(value); return acc; }, {}, ) : {}, }; }, toJSON(message: ProvisionDefinitions): unknown { const obj: any = {}; if (message.provisions) { const entries = globalThis.Object.entries(message.provisions) as [string, Provision][]; if (entries.length > 0) { obj.provisions = {}; entries.forEach(([k, v]) => { obj.provisions[k] = Provision.toJSON(v); }); } } return obj; }, create, I>>(base?: I): ProvisionDefinitions { return ProvisionDefinitions.fromPartial(base ?? ({} as any)); }, fromPartial, I>>(object: I): ProvisionDefinitions { const message = createBaseProvisionDefinitions(); message.provisions = (globalThis.Object.entries(object.provisions ?? {}) as [string, Provision][]).reduce( (acc: { [key: number]: Provision }, [key, value]: [string, Provision]) => { if (value !== undefined) { acc[globalThis.Number(key)] = Provision.fromPartial(value); } return acc; }, {}, ); return message; }, }; function createBaseProvisionDefinitions_ProvisionsEntry(): ProvisionDefinitions_ProvisionsEntry { return { key: 0, value: undefined }; } export const ProvisionDefinitions_ProvisionsEntry: MessageFns = { encode(message: ProvisionDefinitions_ProvisionsEntry, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.key !== 0) { writer.uint32(8).uint32(message.key); } if (message.value !== undefined) { Provision.encode(message.value, writer.uint32(18).fork()).join(); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ProvisionDefinitions_ProvisionsEntry { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseProvisionDefinitions_ProvisionsEntry(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 8) { break; } message.key = reader.uint32(); continue; } case 2: { if (tag !== 18) { break; } message.value = Provision.decode(reader, reader.uint32()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): ProvisionDefinitions_ProvisionsEntry { return { key: isSet(object.key) ? globalThis.Number(object.key) : 0, value: isSet(object.value) ? Provision.fromJSON(object.value) : undefined, }; }, toJSON(message: ProvisionDefinitions_ProvisionsEntry): unknown { const obj: any = {}; if (message.key !== 0) { obj.key = Math.round(message.key); } if (message.value !== undefined) { obj.value = Provision.toJSON(message.value); } return obj; }, create, I>>( base?: I, ): ProvisionDefinitions_ProvisionsEntry { return ProvisionDefinitions_ProvisionsEntry.fromPartial(base ?? ({} as any)); }, fromPartial, I>>( object: I, ): ProvisionDefinitions_ProvisionsEntry { const message = createBaseProvisionDefinitions_ProvisionsEntry(); message.key = object.key ?? 0; message.value = (object.value !== undefined && object.value !== null) ? Provision.fromPartial(object.value) : undefined; return message; }, }; function createBaseProvision(): Provision { return { id: 0, name: undefined, crew: 0, game_mode_exclusive: false, include: [], exclude: [] }; } export const Provision: MessageFns = { encode(message: Provision, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.id !== 0) { writer.uint32(8).uint32(message.id); } if (message.name !== undefined) { I18nString.encode(message.name, writer.uint32(18).fork()).join(); } if (message.crew !== undefined && message.crew !== 0) { writer.uint32(29).float(message.crew); } if (message.game_mode_exclusive !== false) { writer.uint32(40).bool(message.game_mode_exclusive); } for (const v of message.include) { ConsumableTankFilter.encode(v!, writer.uint32(50).fork()).join(); } for (const v of message.exclude) { ConsumableTankFilter.encode(v!, writer.uint32(58).fork()).join(); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): Provision { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseProvision(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 8) { break; } message.id = reader.uint32(); continue; } case 2: { if (tag !== 18) { break; } message.name = I18nString.decode(reader, reader.uint32()); continue; } case 3: { if (tag !== 29) { break; } message.crew = reader.float(); continue; } case 5: { if (tag !== 40) { break; } message.game_mode_exclusive = reader.bool(); continue; } case 6: { if (tag !== 50) { break; } message.include.push(ConsumableTankFilter.decode(reader, reader.uint32())); continue; } case 7: { if (tag !== 58) { break; } message.exclude.push(ConsumableTankFilter.decode(reader, reader.uint32())); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): Provision { return { id: isSet(object.id) ? globalThis.Number(object.id) : 0, name: isSet(object.name) ? I18nString.fromJSON(object.name) : undefined, crew: isSet(object.crew) ? globalThis.Number(object.crew) : 0, game_mode_exclusive: isSet(object.gameModeExclusive) ? globalThis.Boolean(object.gameModeExclusive) : isSet(object.game_mode_exclusive) ? globalThis.Boolean(object.game_mode_exclusive) : false, include: globalThis.Array.isArray(object?.include) ? object.include.map((e: any) => ConsumableTankFilter.fromJSON(e)) : [], exclude: globalThis.Array.isArray(object?.exclude) ? object.exclude.map((e: any) => ConsumableTankFilter.fromJSON(e)) : [], }; }, toJSON(message: Provision): unknown { const obj: any = {}; if (message.id !== 0) { obj.id = Math.round(message.id); } if (message.name !== undefined) { obj.name = I18nString.toJSON(message.name); } if (message.crew !== undefined && message.crew !== 0) { obj.crew = message.crew; } if (message.game_mode_exclusive !== false) { obj.gameModeExclusive = message.game_mode_exclusive; } if (message.include?.length) { obj.include = message.include.map((e) => ConsumableTankFilter.toJSON(e)); } if (message.exclude?.length) { obj.exclude = message.exclude.map((e) => ConsumableTankFilter.toJSON(e)); } return obj; }, create, I>>(base?: I): Provision { return Provision.fromPartial(base ?? ({} as any)); }, fromPartial, I>>(object: I): Provision { const message = createBaseProvision(); message.id = object.id ?? 0; message.name = (object.name !== undefined && object.name !== null) ? I18nString.fromPartial(object.name) : undefined; message.crew = object.crew ?? 0; message.game_mode_exclusive = object.game_mode_exclusive ?? false; message.include = object.include?.map((e) => ConsumableTankFilter.fromPartial(e)) || []; message.exclude = object.exclude?.map((e) => ConsumableTankFilter.fromPartial(e)) || []; return message; }, }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends { $case: string; value: unknown } ? { $case: T["$case"]; value?: DeepPartial } : T extends {} ? { [K in keyof T]?: DeepPartial } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; function isObject(value: any): boolean { return typeof value === "object" && value !== null; } function isSet(value: any): boolean { return value !== null && value !== undefined; } export interface MessageFns { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create, I>>(base?: I): T; fromPartial, I>>(object: I): T; }