// Metro module 6279 (f6280). import { MessageType, MESSAGE_TYPE, reflectionMergePartial, UnknownFieldHandler, WireType } from "./Module1307"; import { ThemeAwareAsset } from "./Module6278"; import { Gradient } from "./Module6276"; import { LocalizedString } from "./Module6268"; let c3995_3 = { UNSPECIFIED: 0, 0: "UNSPECIFIED", NORMAL: 1, 1: "NORMAL", LARGE_TILTED: 2, 2: "LARGE_TILTED" }; class GiftPlanSelectionCardBanner$Type extends MessageType { constructor() { const r2 = [{ no: 1, name: "header", kind: "scalar", T: 9 }, { no: 2, name: "desktop_body", kind: "scalar", T: 9 }, { no: 3, name: "mobile_body", kind: "scalar", T: 9 }, { no: 4, name: "avatar_asset", kind: "message", T: () => ThemeAwareAsset }, { no: 5, name: "banner_asset_url", kind: "scalar", T: 9 }, { no: 6, name: "background_asset_url", kind: "scalar", T: 9 }, { no: 7, name: "card_asset_url", kind: "scalar", T: 9 }, { no: 8, name: "gradient", kind: "message", T: () => Gradient }, { no: 9, name: "banner_asset", kind: "message", T: () => ThemeAwareAsset }, { no: 10, name: "background_asset", kind: "message", T: () => ThemeAwareAsset }, { no: 11, name: "card_asset", kind: "message", T: () => ThemeAwareAsset }, { no: 12, name: "mobile_banner_asset", kind: "message", T: () => ThemeAwareAsset }, { no: 13, name: "header_localized", kind: "message", T: () => LocalizedString }, { no: 14, name: "desktop_body_localized", kind: "message", T: () => LocalizedString }, { no: 15, name: "mobile_body_localized", kind: "message", T: () => LocalizedString }, { no: 16, name: "asset_variant", kind: "enum", T: () => ["discord_protos.premium_marketing.v1.GiftPlanSelectionCardBanner.AssetVariant", c3995_3, "ASSET_VARIANT_"] }]; super("discord_protos.premium_marketing.v1.GiftPlanSelectionCardBanner", r2); } create(a0) { const r1 = { header: "", desktopBody: "", mobileBody: "", bannerAssetUrl: "", backgroundAssetUrl: "", cardAssetUrl: "", assetVariant: 0 }; globalThis.globalThis.Object.defineProperty(r1, MESSAGE_TYPE, { enumerable: false, value: this }); if (a0 !== void 0) { reflectionMergePartial(this, r1, a0); } return r1; } internalBinaryRead(a0, a1, a2, a3) { const r4 = a3 == null ? this.create() : a3; const r8 = a0.pos + a1; while (a0.pos < r8) { L25: { const [r11, r30] = a0.tag(); switch (r11) { case 1: r4.header = a0.string(); break L25; case 2: r4.desktopBody = a0.string(); break L25; case 3: r4.mobileBody = a0.string(); break L25; case 4: r4.avatarAsset = ThemeAwareAsset.internalBinaryRead(a0, a0.uint32(), a2, r4.avatarAsset); break L25; case 5: r4.bannerAssetUrl = a0.string(); break L25; case 6: r4.backgroundAssetUrl = a0.string(); break L25; case 7: r4.cardAssetUrl = a0.string(); break L25; case 8: r4.gradient = Gradient.internalBinaryRead(a0, a0.uint32(), a2, r4.gradient); break L25; case 9: r4.bannerAsset = ThemeAwareAsset.internalBinaryRead(a0, a0.uint32(), a2, r4.bannerAsset); break L25; case 10: r4.backgroundAsset = ThemeAwareAsset.internalBinaryRead(a0, a0.uint32(), a2, r4.backgroundAsset); break L25; case 11: r4.cardAsset = ThemeAwareAsset.internalBinaryRead(a0, a0.uint32(), a2, r4.cardAsset); break L25; case 12: r4.mobileBannerAsset = ThemeAwareAsset.internalBinaryRead(a0, a0.uint32(), a2, r4.mobileBannerAsset); break L25; case 13: r4.headerLocalized = LocalizedString.internalBinaryRead(a0, a0.uint32(), a2, r4.headerLocalized); break L25; case 14: r4.desktopBodyLocalized = LocalizedString.internalBinaryRead(a0, a0.uint32(), a2, r4.desktopBodyLocalized); break L25; case 15: r4.mobileBodyLocalized = LocalizedString.internalBinaryRead(a0, a0.uint32(), a2, r4.mobileBodyLocalized); break L25; case 16: r4.assetVariant = a0.int32(); break L25; default: let readUnknownField = a2.readUnknownField; if (readUnknownField === "throw") { throw new globalThis.globalThis.Error(`Unknown field ${r11} (wire type ${r30}) for ${this.typeName}`); } const r156 = a0.skip(r30); if (readUnknownField !== false) { if (readUnknownField === true) { readUnknownField = UnknownFieldHandler.onRead; } readUnknownField(this.typeName, r4, r11, r30, r156); } } } } return r4; } internalBinaryWrite(a0, a1, a2) { if (a0.header !== "") { a1.tag(1, WireType.LengthDelimited).string(a0.header); } if (a0.desktopBody !== "") { a1.tag(2, WireType.LengthDelimited).string(a0.desktopBody); } if (a0.mobileBody !== "") { a1.tag(3, WireType.LengthDelimited).string(a0.mobileBody); } if (a0.avatarAsset) { ThemeAwareAsset.internalBinaryWrite(a0.avatarAsset, a1.tag(4, WireType.LengthDelimited).fork(), a2).join(); } if (a0.bannerAssetUrl !== "") { a1.tag(5, WireType.LengthDelimited).string(a0.bannerAssetUrl); } if (a0.backgroundAssetUrl !== "") { a1.tag(6, WireType.LengthDelimited).string(a0.backgroundAssetUrl); } if (a0.cardAssetUrl !== "") { a1.tag(7, WireType.LengthDelimited).string(a0.cardAssetUrl); } if (a0.gradient) { Gradient.internalBinaryWrite(a0.gradient, a1.tag(8, WireType.LengthDelimited).fork(), a2).join(); } if (a0.bannerAsset) { ThemeAwareAsset.internalBinaryWrite(a0.bannerAsset, a1.tag(9, WireType.LengthDelimited).fork(), a2).join(); } if (a0.backgroundAsset) { ThemeAwareAsset.internalBinaryWrite(a0.backgroundAsset, a1.tag(10, WireType.LengthDelimited).fork(), a2).join(); } if (a0.cardAsset) { ThemeAwareAsset.internalBinaryWrite(a0.cardAsset, a1.tag(11, WireType.LengthDelimited).fork(), a2).join(); } if (a0.mobileBannerAsset) { ThemeAwareAsset.internalBinaryWrite(a0.mobileBannerAsset, a1.tag(12, WireType.LengthDelimited).fork(), a2).join(); } if (a0.headerLocalized) { LocalizedString.internalBinaryWrite(a0.headerLocalized, a1.tag(13, WireType.LengthDelimited).fork(), a2).join(); } if (a0.desktopBodyLocalized) { LocalizedString.internalBinaryWrite(a0.desktopBodyLocalized, a1.tag(14, WireType.LengthDelimited).fork(), a2).join(); } if (a0.mobileBodyLocalized) { LocalizedString.internalBinaryWrite(a0.mobileBodyLocalized, a1.tag(15, WireType.LengthDelimited).fork(), a2).join(); } if (a0.assetVariant !== 0) { a1.tag(16, WireType.Varint).int32(a0.assetVariant); } let writeUnknownFields = a2.writeUnknownFields; if (writeUnknownFields !== false) { if (writeUnknownFields == 1) { writeUnknownFields = UnknownFieldHandler.onWrite; } writeUnknownFields(this.typeName, a0, a1); } return a1; } } const giftPlanSelectionCardBanner$Type = new GiftPlanSelectionCardBanner$Type(); export { c3995_3 as GiftPlanSelectionCardBanner_AssetVariant }; export { giftPlanSelectionCardBanner$Type as GiftPlanSelectionCardBanner };