/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/ "use strict"; var $protobuf = require("protobufjs/minimal"); // Common aliases var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; // Exported root namespace var $root = $protobuf.roots["default"] || ($protobuf.roots["default"] = {}); $root.proto = (function() { /** * Namespace proto. * @exports proto * @namespace */ var proto = {}; proto.WebFeatures = (function() { /** * Properties of a WebFeatures. * @memberof proto * @interface IWebFeatures * @property {proto.WebFeatures.WebFeaturesFlag|null} [labelsDisplay] WebFeatures labelsDisplay * @property {proto.WebFeatures.WebFeaturesFlag|null} [voipIndividualOutgoing] WebFeatures voipIndividualOutgoing * @property {proto.WebFeatures.WebFeaturesFlag|null} [groupsV3] WebFeatures groupsV3 * @property {proto.WebFeatures.WebFeaturesFlag|null} [groupsV3Create] WebFeatures groupsV3Create * @property {proto.WebFeatures.WebFeaturesFlag|null} [changeNumberV2] WebFeatures changeNumberV2 * @property {proto.WebFeatures.WebFeaturesFlag|null} [queryStatusV3Thumbnail] WebFeatures queryStatusV3Thumbnail * @property {proto.WebFeatures.WebFeaturesFlag|null} [liveLocations] WebFeatures liveLocations * @property {proto.WebFeatures.WebFeaturesFlag|null} [queryVname] WebFeatures queryVname * @property {proto.WebFeatures.WebFeaturesFlag|null} [voipIndividualIncoming] WebFeatures voipIndividualIncoming * @property {proto.WebFeatures.WebFeaturesFlag|null} [quickRepliesQuery] WebFeatures quickRepliesQuery * @property {proto.WebFeatures.WebFeaturesFlag|null} [payments] WebFeatures payments * @property {proto.WebFeatures.WebFeaturesFlag|null} [stickerPackQuery] WebFeatures stickerPackQuery * @property {proto.WebFeatures.WebFeaturesFlag|null} [liveLocationsFinal] WebFeatures liveLocationsFinal * @property {proto.WebFeatures.WebFeaturesFlag|null} [labelsEdit] WebFeatures labelsEdit * @property {proto.WebFeatures.WebFeaturesFlag|null} [mediaUpload] WebFeatures mediaUpload * @property {proto.WebFeatures.WebFeaturesFlag|null} [mediaUploadRichQuickReplies] WebFeatures mediaUploadRichQuickReplies * @property {proto.WebFeatures.WebFeaturesFlag|null} [vnameV2] WebFeatures vnameV2 * @property {proto.WebFeatures.WebFeaturesFlag|null} [videoPlaybackUrl] WebFeatures videoPlaybackUrl * @property {proto.WebFeatures.WebFeaturesFlag|null} [statusRanking] WebFeatures statusRanking * @property {proto.WebFeatures.WebFeaturesFlag|null} [voipIndividualVideo] WebFeatures voipIndividualVideo * @property {proto.WebFeatures.WebFeaturesFlag|null} [thirdPartyStickers] WebFeatures thirdPartyStickers * @property {proto.WebFeatures.WebFeaturesFlag|null} [frequentlyForwardedSetting] WebFeatures frequentlyForwardedSetting * @property {proto.WebFeatures.WebFeaturesFlag|null} [groupsV4JoinPermission] WebFeatures groupsV4JoinPermission * @property {proto.WebFeatures.WebFeaturesFlag|null} [recentStickers] WebFeatures recentStickers * @property {proto.WebFeatures.WebFeaturesFlag|null} [catalog] WebFeatures catalog * @property {proto.WebFeatures.WebFeaturesFlag|null} [starredStickers] WebFeatures starredStickers * @property {proto.WebFeatures.WebFeaturesFlag|null} [voipGroupCall] WebFeatures voipGroupCall * @property {proto.WebFeatures.WebFeaturesFlag|null} [templateMessage] WebFeatures templateMessage * @property {proto.WebFeatures.WebFeaturesFlag|null} [templateMessageInteractivity] WebFeatures templateMessageInteractivity * @property {proto.WebFeatures.WebFeaturesFlag|null} [ephemeralMessages] WebFeatures ephemeralMessages * @property {proto.WebFeatures.WebFeaturesFlag|null} [e2ENotificationSync] WebFeatures e2ENotificationSync * @property {proto.WebFeatures.WebFeaturesFlag|null} [recentStickersV2] WebFeatures recentStickersV2 * @property {proto.WebFeatures.WebFeaturesFlag|null} [syncdRelease1] WebFeatures syncdRelease1 * @property {proto.WebFeatures.WebFeaturesFlag|null} [recentStickersV3] WebFeatures recentStickersV3 * @property {proto.WebFeatures.WebFeaturesFlag|null} [userNotice] WebFeatures userNotice * @property {proto.WebFeatures.WebFeaturesFlag|null} [syncdRelease11] WebFeatures syncdRelease11 * @property {proto.WebFeatures.WebFeaturesFlag|null} [support] WebFeatures support */ /** * Constructs a new WebFeatures. * @memberof proto * @classdesc Represents a WebFeatures. * @implements IWebFeatures * @constructor * @param {proto.IWebFeatures=} [properties] Properties to set */ function WebFeatures(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * WebFeatures labelsDisplay. * @member {proto.WebFeatures.WebFeaturesFlag} labelsDisplay * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.labelsDisplay = 0; /** * WebFeatures voipIndividualOutgoing. * @member {proto.WebFeatures.WebFeaturesFlag} voipIndividualOutgoing * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.voipIndividualOutgoing = 0; /** * WebFeatures groupsV3. * @member {proto.WebFeatures.WebFeaturesFlag} groupsV3 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.groupsV3 = 0; /** * WebFeatures groupsV3Create. * @member {proto.WebFeatures.WebFeaturesFlag} groupsV3Create * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.groupsV3Create = 0; /** * WebFeatures changeNumberV2. * @member {proto.WebFeatures.WebFeaturesFlag} changeNumberV2 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.changeNumberV2 = 0; /** * WebFeatures queryStatusV3Thumbnail. * @member {proto.WebFeatures.WebFeaturesFlag} queryStatusV3Thumbnail * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.queryStatusV3Thumbnail = 0; /** * WebFeatures liveLocations. * @member {proto.WebFeatures.WebFeaturesFlag} liveLocations * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.liveLocations = 0; /** * WebFeatures queryVname. * @member {proto.WebFeatures.WebFeaturesFlag} queryVname * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.queryVname = 0; /** * WebFeatures voipIndividualIncoming. * @member {proto.WebFeatures.WebFeaturesFlag} voipIndividualIncoming * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.voipIndividualIncoming = 0; /** * WebFeatures quickRepliesQuery. * @member {proto.WebFeatures.WebFeaturesFlag} quickRepliesQuery * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.quickRepliesQuery = 0; /** * WebFeatures payments. * @member {proto.WebFeatures.WebFeaturesFlag} payments * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.payments = 0; /** * WebFeatures stickerPackQuery. * @member {proto.WebFeatures.WebFeaturesFlag} stickerPackQuery * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.stickerPackQuery = 0; /** * WebFeatures liveLocationsFinal. * @member {proto.WebFeatures.WebFeaturesFlag} liveLocationsFinal * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.liveLocationsFinal = 0; /** * WebFeatures labelsEdit. * @member {proto.WebFeatures.WebFeaturesFlag} labelsEdit * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.labelsEdit = 0; /** * WebFeatures mediaUpload. * @member {proto.WebFeatures.WebFeaturesFlag} mediaUpload * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.mediaUpload = 0; /** * WebFeatures mediaUploadRichQuickReplies. * @member {proto.WebFeatures.WebFeaturesFlag} mediaUploadRichQuickReplies * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.mediaUploadRichQuickReplies = 0; /** * WebFeatures vnameV2. * @member {proto.WebFeatures.WebFeaturesFlag} vnameV2 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.vnameV2 = 0; /** * WebFeatures videoPlaybackUrl. * @member {proto.WebFeatures.WebFeaturesFlag} videoPlaybackUrl * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.videoPlaybackUrl = 0; /** * WebFeatures statusRanking. * @member {proto.WebFeatures.WebFeaturesFlag} statusRanking * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.statusRanking = 0; /** * WebFeatures voipIndividualVideo. * @member {proto.WebFeatures.WebFeaturesFlag} voipIndividualVideo * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.voipIndividualVideo = 0; /** * WebFeatures thirdPartyStickers. * @member {proto.WebFeatures.WebFeaturesFlag} thirdPartyStickers * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.thirdPartyStickers = 0; /** * WebFeatures frequentlyForwardedSetting. * @member {proto.WebFeatures.WebFeaturesFlag} frequentlyForwardedSetting * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.frequentlyForwardedSetting = 0; /** * WebFeatures groupsV4JoinPermission. * @member {proto.WebFeatures.WebFeaturesFlag} groupsV4JoinPermission * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.groupsV4JoinPermission = 0; /** * WebFeatures recentStickers. * @member {proto.WebFeatures.WebFeaturesFlag} recentStickers * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.recentStickers = 0; /** * WebFeatures catalog. * @member {proto.WebFeatures.WebFeaturesFlag} catalog * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.catalog = 0; /** * WebFeatures starredStickers. * @member {proto.WebFeatures.WebFeaturesFlag} starredStickers * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.starredStickers = 0; /** * WebFeatures voipGroupCall. * @member {proto.WebFeatures.WebFeaturesFlag} voipGroupCall * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.voipGroupCall = 0; /** * WebFeatures templateMessage. * @member {proto.WebFeatures.WebFeaturesFlag} templateMessage * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.templateMessage = 0; /** * WebFeatures templateMessageInteractivity. * @member {proto.WebFeatures.WebFeaturesFlag} templateMessageInteractivity * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.templateMessageInteractivity = 0; /** * WebFeatures ephemeralMessages. * @member {proto.WebFeatures.WebFeaturesFlag} ephemeralMessages * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.ephemeralMessages = 0; /** * WebFeatures e2ENotificationSync. * @member {proto.WebFeatures.WebFeaturesFlag} e2ENotificationSync * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.e2ENotificationSync = 0; /** * WebFeatures recentStickersV2. * @member {proto.WebFeatures.WebFeaturesFlag} recentStickersV2 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.recentStickersV2 = 0; /** * WebFeatures syncdRelease1. * @member {proto.WebFeatures.WebFeaturesFlag} syncdRelease1 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.syncdRelease1 = 0; /** * WebFeatures recentStickersV3. * @member {proto.WebFeatures.WebFeaturesFlag} recentStickersV3 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.recentStickersV3 = 0; /** * WebFeatures userNotice. * @member {proto.WebFeatures.WebFeaturesFlag} userNotice * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.userNotice = 0; /** * WebFeatures syncdRelease11. * @member {proto.WebFeatures.WebFeaturesFlag} syncdRelease11 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.syncdRelease11 = 0; /** * WebFeatures support. * @member {proto.WebFeatures.WebFeaturesFlag} support * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.support = 0; /** * Creates a new WebFeatures instance using the specified properties. * @function create * @memberof proto.WebFeatures * @static * @param {proto.IWebFeatures=} [properties] Properties to set * @returns {proto.WebFeatures} WebFeatures instance */ WebFeatures.create = function create(properties) { return new WebFeatures(properties); }; /** * Encodes the specified WebFeatures message. Does not implicitly {@link proto.WebFeatures.verify|verify} messages. * @function encode * @memberof proto.WebFeatures * @static * @param {proto.IWebFeatures} message WebFeatures message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WebFeatures.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.labelsDisplay != null && Object.hasOwnProperty.call(message, "labelsDisplay")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.labelsDisplay); if (message.voipIndividualOutgoing != null && Object.hasOwnProperty.call(message, "voipIndividualOutgoing")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.voipIndividualOutgoing); if (message.groupsV3 != null && Object.hasOwnProperty.call(message, "groupsV3")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.groupsV3); if (message.groupsV3Create != null && Object.hasOwnProperty.call(message, "groupsV3Create")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.groupsV3Create); if (message.changeNumberV2 != null && Object.hasOwnProperty.call(message, "changeNumberV2")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.changeNumberV2); if (message.queryStatusV3Thumbnail != null && Object.hasOwnProperty.call(message, "queryStatusV3Thumbnail")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.queryStatusV3Thumbnail); if (message.liveLocations != null && Object.hasOwnProperty.call(message, "liveLocations")) writer.uint32(/* id 7, wireType 0 =*/56).int32(message.liveLocations); if (message.queryVname != null && Object.hasOwnProperty.call(message, "queryVname")) writer.uint32(/* id 8, wireType 0 =*/64).int32(message.queryVname); if (message.voipIndividualIncoming != null && Object.hasOwnProperty.call(message, "voipIndividualIncoming")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.voipIndividualIncoming); if (message.quickRepliesQuery != null && Object.hasOwnProperty.call(message, "quickRepliesQuery")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.quickRepliesQuery); if (message.payments != null && Object.hasOwnProperty.call(message, "payments")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.payments); if (message.stickerPackQuery != null && Object.hasOwnProperty.call(message, "stickerPackQuery")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.stickerPackQuery); if (message.liveLocationsFinal != null && Object.hasOwnProperty.call(message, "liveLocationsFinal")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.liveLocationsFinal); if (message.labelsEdit != null && Object.hasOwnProperty.call(message, "labelsEdit")) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.labelsEdit); if (message.mediaUpload != null && Object.hasOwnProperty.call(message, "mediaUpload")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.mediaUpload); if (message.mediaUploadRichQuickReplies != null && Object.hasOwnProperty.call(message, "mediaUploadRichQuickReplies")) writer.uint32(/* id 18, wireType 0 =*/144).int32(message.mediaUploadRichQuickReplies); if (message.vnameV2 != null && Object.hasOwnProperty.call(message, "vnameV2")) writer.uint32(/* id 19, wireType 0 =*/152).int32(message.vnameV2); if (message.videoPlaybackUrl != null && Object.hasOwnProperty.call(message, "videoPlaybackUrl")) writer.uint32(/* id 20, wireType 0 =*/160).int32(message.videoPlaybackUrl); if (message.statusRanking != null && Object.hasOwnProperty.call(message, "statusRanking")) writer.uint32(/* id 21, wireType 0 =*/168).int32(message.statusRanking); if (message.voipIndividualVideo != null && Object.hasOwnProperty.call(message, "voipIndividualVideo")) writer.uint32(/* id 22, wireType 0 =*/176).int32(message.voipIndividualVideo); if (message.thirdPartyStickers != null && Object.hasOwnProperty.call(message, "thirdPartyStickers")) writer.uint32(/* id 23, wireType 0 =*/184).int32(message.thirdPartyStickers); if (message.frequentlyForwardedSetting != null && Object.hasOwnProperty.call(message, "frequentlyForwardedSetting")) writer.uint32(/* id 24, wireType 0 =*/192).int32(message.frequentlyForwardedSetting); if (message.groupsV4JoinPermission != null && Object.hasOwnProperty.call(message, "groupsV4JoinPermission")) writer.uint32(/* id 25, wireType 0 =*/200).int32(message.groupsV4JoinPermission); if (message.recentStickers != null && Object.hasOwnProperty.call(message, "recentStickers")) writer.uint32(/* id 26, wireType 0 =*/208).int32(message.recentStickers); if (message.catalog != null && Object.hasOwnProperty.call(message, "catalog")) writer.uint32(/* id 27, wireType 0 =*/216).int32(message.catalog); if (message.starredStickers != null && Object.hasOwnProperty.call(message, "starredStickers")) writer.uint32(/* id 28, wireType 0 =*/224).int32(message.starredStickers); if (message.voipGroupCall != null && Object.hasOwnProperty.call(message, "voipGroupCall")) writer.uint32(/* id 29, wireType 0 =*/232).int32(message.voipGroupCall); if (message.templateMessage != null && Object.hasOwnProperty.call(message, "templateMessage")) writer.uint32(/* id 30, wireType 0 =*/240).int32(message.templateMessage); if (message.templateMessageInteractivity != null && Object.hasOwnProperty.call(message, "templateMessageInteractivity")) writer.uint32(/* id 31, wireType 0 =*/248).int32(message.templateMessageInteractivity); if (message.ephemeralMessages != null && Object.hasOwnProperty.call(message, "ephemeralMessages")) writer.uint32(/* id 32, wireType 0 =*/256).int32(message.ephemeralMessages); if (message.e2ENotificationSync != null && Object.hasOwnProperty.call(message, "e2ENotificationSync")) writer.uint32(/* id 33, wireType 0 =*/264).int32(message.e2ENotificationSync); if (message.recentStickersV2 != null && Object.hasOwnProperty.call(message, "recentStickersV2")) writer.uint32(/* id 34, wireType 0 =*/272).int32(message.recentStickersV2); if (message.syncdRelease1 != null && Object.hasOwnProperty.call(message, "syncdRelease1")) writer.uint32(/* id 35, wireType 0 =*/280).int32(message.syncdRelease1); if (message.recentStickersV3 != null && Object.hasOwnProperty.call(message, "recentStickersV3")) writer.uint32(/* id 36, wireType 0 =*/288).int32(message.recentStickersV3); if (message.userNotice != null && Object.hasOwnProperty.call(message, "userNotice")) writer.uint32(/* id 37, wireType 0 =*/296).int32(message.userNotice); if (message.syncdRelease11 != null && Object.hasOwnProperty.call(message, "syncdRelease11")) writer.uint32(/* id 38, wireType 0 =*/304).int32(message.syncdRelease11); if (message.support != null && Object.hasOwnProperty.call(message, "support")) writer.uint32(/* id 39, wireType 0 =*/312).int32(message.support); return writer; }; /** * Encodes the specified WebFeatures message, length delimited. Does not implicitly {@link proto.WebFeatures.verify|verify} messages. * @function encodeDelimited * @memberof proto.WebFeatures * @static * @param {proto.IWebFeatures} message WebFeatures message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WebFeatures.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a WebFeatures message from the specified reader or buffer. * @function decode * @memberof proto.WebFeatures * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.WebFeatures} WebFeatures * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WebFeatures.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.WebFeatures(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.labelsDisplay = reader.int32(); break; case 2: message.voipIndividualOutgoing = reader.int32(); break; case 3: message.groupsV3 = reader.int32(); break; case 4: message.groupsV3Create = reader.int32(); break; case 5: message.changeNumberV2 = reader.int32(); break; case 6: message.queryStatusV3Thumbnail = reader.int32(); break; case 7: message.liveLocations = reader.int32(); break; case 8: message.queryVname = reader.int32(); break; case 9: message.voipIndividualIncoming = reader.int32(); break; case 10: message.quickRepliesQuery = reader.int32(); break; case 11: message.payments = reader.int32(); break; case 12: message.stickerPackQuery = reader.int32(); break; case 13: message.liveLocationsFinal = reader.int32(); break; case 14: message.labelsEdit = reader.int32(); break; case 15: message.mediaUpload = reader.int32(); break; case 18: message.mediaUploadRichQuickReplies = reader.int32(); break; case 19: message.vnameV2 = reader.int32(); break; case 20: message.videoPlaybackUrl = reader.int32(); break; case 21: message.statusRanking = reader.int32(); break; case 22: message.voipIndividualVideo = reader.int32(); break; case 23: message.thirdPartyStickers = reader.int32(); break; case 24: message.frequentlyForwardedSetting = reader.int32(); break; case 25: message.groupsV4JoinPermission = reader.int32(); break; case 26: message.recentStickers = reader.int32(); break; case 27: message.catalog = reader.int32(); break; case 28: message.starredStickers = reader.int32(); break; case 29: message.voipGroupCall = reader.int32(); break; case 30: message.templateMessage = reader.int32(); break; case 31: message.templateMessageInteractivity = reader.int32(); break; case 32: message.ephemeralMessages = reader.int32(); break; case 33: message.e2ENotificationSync = reader.int32(); break; case 34: message.recentStickersV2 = reader.int32(); break; case 35: message.syncdRelease1 = reader.int32(); break; case 36: message.recentStickersV3 = reader.int32(); break; case 37: message.userNotice = reader.int32(); break; case 38: message.syncdRelease11 = reader.int32(); break; case 39: message.support = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a WebFeatures message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.WebFeatures * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.WebFeatures} WebFeatures * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WebFeatures.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a WebFeatures message. * @function verify * @memberof proto.WebFeatures * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ WebFeatures.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.labelsDisplay != null && message.hasOwnProperty("labelsDisplay")) switch (message.labelsDisplay) { default: return "labelsDisplay: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.voipIndividualOutgoing != null && message.hasOwnProperty("voipIndividualOutgoing")) switch (message.voipIndividualOutgoing) { default: return "voipIndividualOutgoing: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.groupsV3 != null && message.hasOwnProperty("groupsV3")) switch (message.groupsV3) { default: return "groupsV3: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.groupsV3Create != null && message.hasOwnProperty("groupsV3Create")) switch (message.groupsV3Create) { default: return "groupsV3Create: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.changeNumberV2 != null && message.hasOwnProperty("changeNumberV2")) switch (message.changeNumberV2) { default: return "changeNumberV2: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.queryStatusV3Thumbnail != null && message.hasOwnProperty("queryStatusV3Thumbnail")) switch (message.queryStatusV3Thumbnail) { default: return "queryStatusV3Thumbnail: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.liveLocations != null && message.hasOwnProperty("liveLocations")) switch (message.liveLocations) { default: return "liveLocations: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.queryVname != null && message.hasOwnProperty("queryVname")) switch (message.queryVname) { default: return "queryVname: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.voipIndividualIncoming != null && message.hasOwnProperty("voipIndividualIncoming")) switch (message.voipIndividualIncoming) { default: return "voipIndividualIncoming: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.quickRepliesQuery != null && message.hasOwnProperty("quickRepliesQuery")) switch (message.quickRepliesQuery) { default: return "quickRepliesQuery: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.payments != null && message.hasOwnProperty("payments")) switch (message.payments) { default: return "payments: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.stickerPackQuery != null && message.hasOwnProperty("stickerPackQuery")) switch (message.stickerPackQuery) { default: return "stickerPackQuery: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.liveLocationsFinal != null && message.hasOwnProperty("liveLocationsFinal")) switch (message.liveLocationsFinal) { default: return "liveLocationsFinal: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.labelsEdit != null && message.hasOwnProperty("labelsEdit")) switch (message.labelsEdit) { default: return "labelsEdit: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.mediaUpload != null && message.hasOwnProperty("mediaUpload")) switch (message.mediaUpload) { default: return "mediaUpload: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.mediaUploadRichQuickReplies != null && message.hasOwnProperty("mediaUploadRichQuickReplies")) switch (message.mediaUploadRichQuickReplies) { default: return "mediaUploadRichQuickReplies: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.vnameV2 != null && message.hasOwnProperty("vnameV2")) switch (message.vnameV2) { default: return "vnameV2: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.videoPlaybackUrl != null && message.hasOwnProperty("videoPlaybackUrl")) switch (message.videoPlaybackUrl) { default: return "videoPlaybackUrl: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.statusRanking != null && message.hasOwnProperty("statusRanking")) switch (message.statusRanking) { default: return "statusRanking: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.voipIndividualVideo != null && message.hasOwnProperty("voipIndividualVideo")) switch (message.voipIndividualVideo) { default: return "voipIndividualVideo: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.thirdPartyStickers != null && message.hasOwnProperty("thirdPartyStickers")) switch (message.thirdPartyStickers) { default: return "thirdPartyStickers: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.frequentlyForwardedSetting != null && message.hasOwnProperty("frequentlyForwardedSetting")) switch (message.frequentlyForwardedSetting) { default: return "frequentlyForwardedSetting: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.groupsV4JoinPermission != null && message.hasOwnProperty("groupsV4JoinPermission")) switch (message.groupsV4JoinPermission) { default: return "groupsV4JoinPermission: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.recentStickers != null && message.hasOwnProperty("recentStickers")) switch (message.recentStickers) { default: return "recentStickers: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.catalog != null && message.hasOwnProperty("catalog")) switch (message.catalog) { default: return "catalog: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.starredStickers != null && message.hasOwnProperty("starredStickers")) switch (message.starredStickers) { default: return "starredStickers: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.voipGroupCall != null && message.hasOwnProperty("voipGroupCall")) switch (message.voipGroupCall) { default: return "voipGroupCall: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.templateMessage != null && message.hasOwnProperty("templateMessage")) switch (message.templateMessage) { default: return "templateMessage: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.templateMessageInteractivity != null && message.hasOwnProperty("templateMessageInteractivity")) switch (message.templateMessageInteractivity) { default: return "templateMessageInteractivity: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.ephemeralMessages != null && message.hasOwnProperty("ephemeralMessages")) switch (message.ephemeralMessages) { default: return "ephemeralMessages: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.e2ENotificationSync != null && message.hasOwnProperty("e2ENotificationSync")) switch (message.e2ENotificationSync) { default: return "e2ENotificationSync: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.recentStickersV2 != null && message.hasOwnProperty("recentStickersV2")) switch (message.recentStickersV2) { default: return "recentStickersV2: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.syncdRelease1 != null && message.hasOwnProperty("syncdRelease1")) switch (message.syncdRelease1) { default: return "syncdRelease1: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.recentStickersV3 != null && message.hasOwnProperty("recentStickersV3")) switch (message.recentStickersV3) { default: return "recentStickersV3: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.userNotice != null && message.hasOwnProperty("userNotice")) switch (message.userNotice) { default: return "userNotice: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.syncdRelease11 != null && message.hasOwnProperty("syncdRelease11")) switch (message.syncdRelease11) { default: return "syncdRelease11: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.support != null && message.hasOwnProperty("support")) switch (message.support) { default: return "support: enum value expected"; case 0: case 1: case 2: case 3: break; } return null; }; /** * Creates a WebFeatures message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.WebFeatures * @static * @param {Object.} object Plain object * @returns {proto.WebFeatures} WebFeatures */ WebFeatures.fromObject = function fromObject(object) { if (object instanceof $root.proto.WebFeatures) return object; var message = new $root.proto.WebFeatures(); switch (object.labelsDisplay) { case "NOT_STARTED": case 0: message.labelsDisplay = 0; break; case "FORCE_UPGRADE": case 1: message.labelsDisplay = 1; break; case "DEVELOPMENT": case 2: message.labelsDisplay = 2; break; case "PRODUCTION": case 3: message.labelsDisplay = 3; break; } switch (object.voipIndividualOutgoing) { case "NOT_STARTED": case 0: message.voipIndividualOutgoing = 0; break; case "FORCE_UPGRADE": case 1: message.voipIndividualOutgoing = 1; break; case "DEVELOPMENT": case 2: message.voipIndividualOutgoing = 2; break; case "PRODUCTION": case 3: message.voipIndividualOutgoing = 3; break; } switch (object.groupsV3) { case "NOT_STARTED": case 0: message.groupsV3 = 0; break; case "FORCE_UPGRADE": case 1: message.groupsV3 = 1; break; case "DEVELOPMENT": case 2: message.groupsV3 = 2; break; case "PRODUCTION": case 3: message.groupsV3 = 3; break; } switch (object.groupsV3Create) { case "NOT_STARTED": case 0: message.groupsV3Create = 0; break; case "FORCE_UPGRADE": case 1: message.groupsV3Create = 1; break; case "DEVELOPMENT": case 2: message.groupsV3Create = 2; break; case "PRODUCTION": case 3: message.groupsV3Create = 3; break; } switch (object.changeNumberV2) { case "NOT_STARTED": case 0: message.changeNumberV2 = 0; break; case "FORCE_UPGRADE": case 1: message.changeNumberV2 = 1; break; case "DEVELOPMENT": case 2: message.changeNumberV2 = 2; break; case "PRODUCTION": case 3: message.changeNumberV2 = 3; break; } switch (object.queryStatusV3Thumbnail) { case "NOT_STARTED": case 0: message.queryStatusV3Thumbnail = 0; break; case "FORCE_UPGRADE": case 1: message.queryStatusV3Thumbnail = 1; break; case "DEVELOPMENT": case 2: message.queryStatusV3Thumbnail = 2; break; case "PRODUCTION": case 3: message.queryStatusV3Thumbnail = 3; break; } switch (object.liveLocations) { case "NOT_STARTED": case 0: message.liveLocations = 0; break; case "FORCE_UPGRADE": case 1: message.liveLocations = 1; break; case "DEVELOPMENT": case 2: message.liveLocations = 2; break; case "PRODUCTION": case 3: message.liveLocations = 3; break; } switch (object.queryVname) { case "NOT_STARTED": case 0: message.queryVname = 0; break; case "FORCE_UPGRADE": case 1: message.queryVname = 1; break; case "DEVELOPMENT": case 2: message.queryVname = 2; break; case "PRODUCTION": case 3: message.queryVname = 3; break; } switch (object.voipIndividualIncoming) { case "NOT_STARTED": case 0: message.voipIndividualIncoming = 0; break; case "FORCE_UPGRADE": case 1: message.voipIndividualIncoming = 1; break; case "DEVELOPMENT": case 2: message.voipIndividualIncoming = 2; break; case "PRODUCTION": case 3: message.voipIndividualIncoming = 3; break; } switch (object.quickRepliesQuery) { case "NOT_STARTED": case 0: message.quickRepliesQuery = 0; break; case "FORCE_UPGRADE": case 1: message.quickRepliesQuery = 1; break; case "DEVELOPMENT": case 2: message.quickRepliesQuery = 2; break; case "PRODUCTION": case 3: message.quickRepliesQuery = 3; break; } switch (object.payments) { case "NOT_STARTED": case 0: message.payments = 0; break; case "FORCE_UPGRADE": case 1: message.payments = 1; break; case "DEVELOPMENT": case 2: message.payments = 2; break; case "PRODUCTION": case 3: message.payments = 3; break; } switch (object.stickerPackQuery) { case "NOT_STARTED": case 0: message.stickerPackQuery = 0; break; case "FORCE_UPGRADE": case 1: message.stickerPackQuery = 1; break; case "DEVELOPMENT": case 2: message.stickerPackQuery = 2; break; case "PRODUCTION": case 3: message.stickerPackQuery = 3; break; } switch (object.liveLocationsFinal) { case "NOT_STARTED": case 0: message.liveLocationsFinal = 0; break; case "FORCE_UPGRADE": case 1: message.liveLocationsFinal = 1; break; case "DEVELOPMENT": case 2: message.liveLocationsFinal = 2; break; case "PRODUCTION": case 3: message.liveLocationsFinal = 3; break; } switch (object.labelsEdit) { case "NOT_STARTED": case 0: message.labelsEdit = 0; break; case "FORCE_UPGRADE": case 1: message.labelsEdit = 1; break; case "DEVELOPMENT": case 2: message.labelsEdit = 2; break; case "PRODUCTION": case 3: message.labelsEdit = 3; break; } switch (object.mediaUpload) { case "NOT_STARTED": case 0: message.mediaUpload = 0; break; case "FORCE_UPGRADE": case 1: message.mediaUpload = 1; break; case "DEVELOPMENT": case 2: message.mediaUpload = 2; break; case "PRODUCTION": case 3: message.mediaUpload = 3; break; } switch (object.mediaUploadRichQuickReplies) { case "NOT_STARTED": case 0: message.mediaUploadRichQuickReplies = 0; break; case "FORCE_UPGRADE": case 1: message.mediaUploadRichQuickReplies = 1; break; case "DEVELOPMENT": case 2: message.mediaUploadRichQuickReplies = 2; break; case "PRODUCTION": case 3: message.mediaUploadRichQuickReplies = 3; break; } switch (object.vnameV2) { case "NOT_STARTED": case 0: message.vnameV2 = 0; break; case "FORCE_UPGRADE": case 1: message.vnameV2 = 1; break; case "DEVELOPMENT": case 2: message.vnameV2 = 2; break; case "PRODUCTION": case 3: message.vnameV2 = 3; break; } switch (object.videoPlaybackUrl) { case "NOT_STARTED": case 0: message.videoPlaybackUrl = 0; break; case "FORCE_UPGRADE": case 1: message.videoPlaybackUrl = 1; break; case "DEVELOPMENT": case 2: message.videoPlaybackUrl = 2; break; case "PRODUCTION": case 3: message.videoPlaybackUrl = 3; break; } switch (object.statusRanking) { case "NOT_STARTED": case 0: message.statusRanking = 0; break; case "FORCE_UPGRADE": case 1: message.statusRanking = 1; break; case "DEVELOPMENT": case 2: message.statusRanking = 2; break; case "PRODUCTION": case 3: message.statusRanking = 3; break; } switch (object.voipIndividualVideo) { case "NOT_STARTED": case 0: message.voipIndividualVideo = 0; break; case "FORCE_UPGRADE": case 1: message.voipIndividualVideo = 1; break; case "DEVELOPMENT": case 2: message.voipIndividualVideo = 2; break; case "PRODUCTION": case 3: message.voipIndividualVideo = 3; break; } switch (object.thirdPartyStickers) { case "NOT_STARTED": case 0: message.thirdPartyStickers = 0; break; case "FORCE_UPGRADE": case 1: message.thirdPartyStickers = 1; break; case "DEVELOPMENT": case 2: message.thirdPartyStickers = 2; break; case "PRODUCTION": case 3: message.thirdPartyStickers = 3; break; } switch (object.frequentlyForwardedSetting) { case "NOT_STARTED": case 0: message.frequentlyForwardedSetting = 0; break; case "FORCE_UPGRADE": case 1: message.frequentlyForwardedSetting = 1; break; case "DEVELOPMENT": case 2: message.frequentlyForwardedSetting = 2; break; case "PRODUCTION": case 3: message.frequentlyForwardedSetting = 3; break; } switch (object.groupsV4JoinPermission) { case "NOT_STARTED": case 0: message.groupsV4JoinPermission = 0; break; case "FORCE_UPGRADE": case 1: message.groupsV4JoinPermission = 1; break; case "DEVELOPMENT": case 2: message.groupsV4JoinPermission = 2; break; case "PRODUCTION": case 3: message.groupsV4JoinPermission = 3; break; } switch (object.recentStickers) { case "NOT_STARTED": case 0: message.recentStickers = 0; break; case "FORCE_UPGRADE": case 1: message.recentStickers = 1; break; case "DEVELOPMENT": case 2: message.recentStickers = 2; break; case "PRODUCTION": case 3: message.recentStickers = 3; break; } switch (object.catalog) { case "NOT_STARTED": case 0: message.catalog = 0; break; case "FORCE_UPGRADE": case 1: message.catalog = 1; break; case "DEVELOPMENT": case 2: message.catalog = 2; break; case "PRODUCTION": case 3: message.catalog = 3; break; } switch (object.starredStickers) { case "NOT_STARTED": case 0: message.starredStickers = 0; break; case "FORCE_UPGRADE": case 1: message.starredStickers = 1; break; case "DEVELOPMENT": case 2: message.starredStickers = 2; break; case "PRODUCTION": case 3: message.starredStickers = 3; break; } switch (object.voipGroupCall) { case "NOT_STARTED": case 0: message.voipGroupCall = 0; break; case "FORCE_UPGRADE": case 1: message.voipGroupCall = 1; break; case "DEVELOPMENT": case 2: message.voipGroupCall = 2; break; case "PRODUCTION": case 3: message.voipGroupCall = 3; break; } switch (object.templateMessage) { case "NOT_STARTED": case 0: message.templateMessage = 0; break; case "FORCE_UPGRADE": case 1: message.templateMessage = 1; break; case "DEVELOPMENT": case 2: message.templateMessage = 2; break; case "PRODUCTION": case 3: message.templateMessage = 3; break; } switch (object.templateMessageInteractivity) { case "NOT_STARTED": case 0: message.templateMessageInteractivity = 0; break; case "FORCE_UPGRADE": case 1: message.templateMessageInteractivity = 1; break; case "DEVELOPMENT": case 2: message.templateMessageInteractivity = 2; break; case "PRODUCTION": case 3: message.templateMessageInteractivity = 3; break; } switch (object.ephemeralMessages) { case "NOT_STARTED": case 0: message.ephemeralMessages = 0; break; case "FORCE_UPGRADE": case 1: message.ephemeralMessages = 1; break; case "DEVELOPMENT": case 2: message.ephemeralMessages = 2; break; case "PRODUCTION": case 3: message.ephemeralMessages = 3; break; } switch (object.e2ENotificationSync) { case "NOT_STARTED": case 0: message.e2ENotificationSync = 0; break; case "FORCE_UPGRADE": case 1: message.e2ENotificationSync = 1; break; case "DEVELOPMENT": case 2: message.e2ENotificationSync = 2; break; case "PRODUCTION": case 3: message.e2ENotificationSync = 3; break; } switch (object.recentStickersV2) { case "NOT_STARTED": case 0: message.recentStickersV2 = 0; break; case "FORCE_UPGRADE": case 1: message.recentStickersV2 = 1; break; case "DEVELOPMENT": case 2: message.recentStickersV2 = 2; break; case "PRODUCTION": case 3: message.recentStickersV2 = 3; break; } switch (object.syncdRelease1) { case "NOT_STARTED": case 0: message.syncdRelease1 = 0; break; case "FORCE_UPGRADE": case 1: message.syncdRelease1 = 1; break; case "DEVELOPMENT": case 2: message.syncdRelease1 = 2; break; case "PRODUCTION": case 3: message.syncdRelease1 = 3; break; } switch (object.recentStickersV3) { case "NOT_STARTED": case 0: message.recentStickersV3 = 0; break; case "FORCE_UPGRADE": case 1: message.recentStickersV3 = 1; break; case "DEVELOPMENT": case 2: message.recentStickersV3 = 2; break; case "PRODUCTION": case 3: message.recentStickersV3 = 3; break; } switch (object.userNotice) { case "NOT_STARTED": case 0: message.userNotice = 0; break; case "FORCE_UPGRADE": case 1: message.userNotice = 1; break; case "DEVELOPMENT": case 2: message.userNotice = 2; break; case "PRODUCTION": case 3: message.userNotice = 3; break; } switch (object.syncdRelease11) { case "NOT_STARTED": case 0: message.syncdRelease11 = 0; break; case "FORCE_UPGRADE": case 1: message.syncdRelease11 = 1; break; case "DEVELOPMENT": case 2: message.syncdRelease11 = 2; break; case "PRODUCTION": case 3: message.syncdRelease11 = 3; break; } switch (object.support) { case "NOT_STARTED": case 0: message.support = 0; break; case "FORCE_UPGRADE": case 1: message.support = 1; break; case "DEVELOPMENT": case 2: message.support = 2; break; case "PRODUCTION": case 3: message.support = 3; break; } return message; }; /** * Creates a plain object from a WebFeatures message. Also converts values to other types if specified. * @function toObject * @memberof proto.WebFeatures * @static * @param {proto.WebFeatures} message WebFeatures * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ WebFeatures.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.labelsDisplay = options.enums === String ? "NOT_STARTED" : 0; object.voipIndividualOutgoing = options.enums === String ? "NOT_STARTED" : 0; object.groupsV3 = options.enums === String ? "NOT_STARTED" : 0; object.groupsV3Create = options.enums === String ? "NOT_STARTED" : 0; object.changeNumberV2 = options.enums === String ? "NOT_STARTED" : 0; object.queryStatusV3Thumbnail = options.enums === String ? "NOT_STARTED" : 0; object.liveLocations = options.enums === String ? "NOT_STARTED" : 0; object.queryVname = options.enums === String ? "NOT_STARTED" : 0; object.voipIndividualIncoming = options.enums === String ? "NOT_STARTED" : 0; object.quickRepliesQuery = options.enums === String ? "NOT_STARTED" : 0; object.payments = options.enums === String ? "NOT_STARTED" : 0; object.stickerPackQuery = options.enums === String ? "NOT_STARTED" : 0; object.liveLocationsFinal = options.enums === String ? "NOT_STARTED" : 0; object.labelsEdit = options.enums === String ? "NOT_STARTED" : 0; object.mediaUpload = options.enums === String ? "NOT_STARTED" : 0; object.mediaUploadRichQuickReplies = options.enums === String ? "NOT_STARTED" : 0; object.vnameV2 = options.enums === String ? "NOT_STARTED" : 0; object.videoPlaybackUrl = options.enums === String ? "NOT_STARTED" : 0; object.statusRanking = options.enums === String ? "NOT_STARTED" : 0; object.voipIndividualVideo = options.enums === String ? "NOT_STARTED" : 0; object.thirdPartyStickers = options.enums === String ? "NOT_STARTED" : 0; object.frequentlyForwardedSetting = options.enums === String ? "NOT_STARTED" : 0; object.groupsV4JoinPermission = options.enums === String ? "NOT_STARTED" : 0; object.recentStickers = options.enums === String ? "NOT_STARTED" : 0; object.catalog = options.enums === String ? "NOT_STARTED" : 0; object.starredStickers = options.enums === String ? "NOT_STARTED" : 0; object.voipGroupCall = options.enums === String ? "NOT_STARTED" : 0; object.templateMessage = options.enums === String ? "NOT_STARTED" : 0; object.templateMessageInteractivity = options.enums === String ? "NOT_STARTED" : 0; object.ephemeralMessages = options.enums === String ? "NOT_STARTED" : 0; object.e2ENotificationSync = options.enums === String ? "NOT_STARTED" : 0; object.recentStickersV2 = options.enums === String ? "NOT_STARTED" : 0; object.syncdRelease1 = options.enums === String ? "NOT_STARTED" : 0; object.recentStickersV3 = options.enums === String ? "NOT_STARTED" : 0; object.userNotice = options.enums === String ? "NOT_STARTED" : 0; object.syncdRelease11 = options.enums === String ? "NOT_STARTED" : 0; object.support = options.enums === String ? "NOT_STARTED" : 0; } if (message.labelsDisplay != null && message.hasOwnProperty("labelsDisplay")) object.labelsDisplay = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.labelsDisplay] : message.labelsDisplay; if (message.voipIndividualOutgoing != null && message.hasOwnProperty("voipIndividualOutgoing")) object.voipIndividualOutgoing = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.voipIndividualOutgoing] : message.voipIndividualOutgoing; if (message.groupsV3 != null && message.hasOwnProperty("groupsV3")) object.groupsV3 = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.groupsV3] : message.groupsV3; if (message.groupsV3Create != null && message.hasOwnProperty("groupsV3Create")) object.groupsV3Create = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.groupsV3Create] : message.groupsV3Create; if (message.changeNumberV2 != null && message.hasOwnProperty("changeNumberV2")) object.changeNumberV2 = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.changeNumberV2] : message.changeNumberV2; if (message.queryStatusV3Thumbnail != null && message.hasOwnProperty("queryStatusV3Thumbnail")) object.queryStatusV3Thumbnail = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.queryStatusV3Thumbnail] : message.queryStatusV3Thumbnail; if (message.liveLocations != null && message.hasOwnProperty("liveLocations")) object.liveLocations = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.liveLocations] : message.liveLocations; if (message.queryVname != null && message.hasOwnProperty("queryVname")) object.queryVname = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.queryVname] : message.queryVname; if (message.voipIndividualIncoming != null && message.hasOwnProperty("voipIndividualIncoming")) object.voipIndividualIncoming = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.voipIndividualIncoming] : message.voipIndividualIncoming; if (message.quickRepliesQuery != null && message.hasOwnProperty("quickRepliesQuery")) object.quickRepliesQuery = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.quickRepliesQuery] : message.quickRepliesQuery; if (message.payments != null && message.hasOwnProperty("payments")) object.payments = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.payments] : message.payments; if (message.stickerPackQuery != null && message.hasOwnProperty("stickerPackQuery")) object.stickerPackQuery = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.stickerPackQuery] : message.stickerPackQuery; if (message.liveLocationsFinal != null && message.hasOwnProperty("liveLocationsFinal")) object.liveLocationsFinal = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.liveLocationsFinal] : message.liveLocationsFinal; if (message.labelsEdit != null && message.hasOwnProperty("labelsEdit")) object.labelsEdit = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.labelsEdit] : message.labelsEdit; if (message.mediaUpload != null && message.hasOwnProperty("mediaUpload")) object.mediaUpload = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.mediaUpload] : message.mediaUpload; if (message.mediaUploadRichQuickReplies != null && message.hasOwnProperty("mediaUploadRichQuickReplies")) object.mediaUploadRichQuickReplies = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.mediaUploadRichQuickReplies] : message.mediaUploadRichQuickReplies; if (message.vnameV2 != null && message.hasOwnProperty("vnameV2")) object.vnameV2 = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.vnameV2] : message.vnameV2; if (message.videoPlaybackUrl != null && message.hasOwnProperty("videoPlaybackUrl")) object.videoPlaybackUrl = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.videoPlaybackUrl] : message.videoPlaybackUrl; if (message.statusRanking != null && message.hasOwnProperty("statusRanking")) object.statusRanking = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.statusRanking] : message.statusRanking; if (message.voipIndividualVideo != null && message.hasOwnProperty("voipIndividualVideo")) object.voipIndividualVideo = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.voipIndividualVideo] : message.voipIndividualVideo; if (message.thirdPartyStickers != null && message.hasOwnProperty("thirdPartyStickers")) object.thirdPartyStickers = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.thirdPartyStickers] : message.thirdPartyStickers; if (message.frequentlyForwardedSetting != null && message.hasOwnProperty("frequentlyForwardedSetting")) object.frequentlyForwardedSetting = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.frequentlyForwardedSetting] : message.frequentlyForwardedSetting; if (message.groupsV4JoinPermission != null && message.hasOwnProperty("groupsV4JoinPermission")) object.groupsV4JoinPermission = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.groupsV4JoinPermission] : message.groupsV4JoinPermission; if (message.recentStickers != null && message.hasOwnProperty("recentStickers")) object.recentStickers = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.recentStickers] : message.recentStickers; if (message.catalog != null && message.hasOwnProperty("catalog")) object.catalog = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.catalog] : message.catalog; if (message.starredStickers != null && message.hasOwnProperty("starredStickers")) object.starredStickers = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.starredStickers] : message.starredStickers; if (message.voipGroupCall != null && message.hasOwnProperty("voipGroupCall")) object.voipGroupCall = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.voipGroupCall] : message.voipGroupCall; if (message.templateMessage != null && message.hasOwnProperty("templateMessage")) object.templateMessage = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.templateMessage] : message.templateMessage; if (message.templateMessageInteractivity != null && message.hasOwnProperty("templateMessageInteractivity")) object.templateMessageInteractivity = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.templateMessageInteractivity] : message.templateMessageInteractivity; if (message.ephemeralMessages != null && message.hasOwnProperty("ephemeralMessages")) object.ephemeralMessages = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.ephemeralMessages] : message.ephemeralMessages; if (message.e2ENotificationSync != null && message.hasOwnProperty("e2ENotificationSync")) object.e2ENotificationSync = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.e2ENotificationSync] : message.e2ENotificationSync; if (message.recentStickersV2 != null && message.hasOwnProperty("recentStickersV2")) object.recentStickersV2 = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.recentStickersV2] : message.recentStickersV2; if (message.syncdRelease1 != null && message.hasOwnProperty("syncdRelease1")) object.syncdRelease1 = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.syncdRelease1] : message.syncdRelease1; if (message.recentStickersV3 != null && message.hasOwnProperty("recentStickersV3")) object.recentStickersV3 = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.recentStickersV3] : message.recentStickersV3; if (message.userNotice != null && message.hasOwnProperty("userNotice")) object.userNotice = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.userNotice] : message.userNotice; if (message.syncdRelease11 != null && message.hasOwnProperty("syncdRelease11")) object.syncdRelease11 = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.syncdRelease11] : message.syncdRelease11; if (message.support != null && message.hasOwnProperty("support")) object.support = options.enums === String ? $root.proto.WebFeatures.WebFeaturesFlag[message.support] : message.support; return object; }; /** * Converts this WebFeatures to JSON. * @function toJSON * @memberof proto.WebFeatures * @instance * @returns {Object.} JSON object */ WebFeatures.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * WebFeaturesFlag enum. * @name proto.WebFeatures.WebFeaturesFlag * @enum {number} * @property {number} NOT_STARTED=0 NOT_STARTED value * @property {number} FORCE_UPGRADE=1 FORCE_UPGRADE value * @property {number} DEVELOPMENT=2 DEVELOPMENT value * @property {number} PRODUCTION=3 PRODUCTION value */ WebFeatures.WebFeaturesFlag = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "NOT_STARTED"] = 0; values[valuesById[1] = "FORCE_UPGRADE"] = 1; values[valuesById[2] = "DEVELOPMENT"] = 2; values[valuesById[3] = "PRODUCTION"] = 3; return values; })(); return WebFeatures; })(); proto.NotificationMessageInfo = (function() { /** * Properties of a NotificationMessageInfo. * @memberof proto * @interface INotificationMessageInfo * @property {proto.IMessageKey|null} [key] NotificationMessageInfo key * @property {proto.IMessage|null} [message] NotificationMessageInfo message * @property {number|Long|null} [messageTimestamp] NotificationMessageInfo messageTimestamp * @property {string|null} [participant] NotificationMessageInfo participant */ /** * Constructs a new NotificationMessageInfo. * @memberof proto * @classdesc Represents a NotificationMessageInfo. * @implements INotificationMessageInfo * @constructor * @param {proto.INotificationMessageInfo=} [properties] Properties to set */ function NotificationMessageInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * NotificationMessageInfo key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.NotificationMessageInfo * @instance */ NotificationMessageInfo.prototype.key = null; /** * NotificationMessageInfo message. * @member {proto.IMessage|null|undefined} message * @memberof proto.NotificationMessageInfo * @instance */ NotificationMessageInfo.prototype.message = null; /** * NotificationMessageInfo messageTimestamp. * @member {number|Long} messageTimestamp * @memberof proto.NotificationMessageInfo * @instance */ NotificationMessageInfo.prototype.messageTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * NotificationMessageInfo participant. * @member {string} participant * @memberof proto.NotificationMessageInfo * @instance */ NotificationMessageInfo.prototype.participant = ""; /** * Creates a new NotificationMessageInfo instance using the specified properties. * @function create * @memberof proto.NotificationMessageInfo * @static * @param {proto.INotificationMessageInfo=} [properties] Properties to set * @returns {proto.NotificationMessageInfo} NotificationMessageInfo instance */ NotificationMessageInfo.create = function create(properties) { return new NotificationMessageInfo(properties); }; /** * Encodes the specified NotificationMessageInfo message. Does not implicitly {@link proto.NotificationMessageInfo.verify|verify} messages. * @function encode * @memberof proto.NotificationMessageInfo * @static * @param {proto.INotificationMessageInfo} message NotificationMessageInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NotificationMessageInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.key != null && Object.hasOwnProperty.call(message, "key")) $root.proto.MessageKey.encode(message.key, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.message != null && Object.hasOwnProperty.call(message, "message")) $root.proto.Message.encode(message.message, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.messageTimestamp != null && Object.hasOwnProperty.call(message, "messageTimestamp")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.messageTimestamp); if (message.participant != null && Object.hasOwnProperty.call(message, "participant")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.participant); return writer; }; /** * Encodes the specified NotificationMessageInfo message, length delimited. Does not implicitly {@link proto.NotificationMessageInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.NotificationMessageInfo * @static * @param {proto.INotificationMessageInfo} message NotificationMessageInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NotificationMessageInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a NotificationMessageInfo message from the specified reader or buffer. * @function decode * @memberof proto.NotificationMessageInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.NotificationMessageInfo} NotificationMessageInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NotificationMessageInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.NotificationMessageInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 2: message.message = $root.proto.Message.decode(reader, reader.uint32()); break; case 3: message.messageTimestamp = reader.uint64(); break; case 4: message.participant = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a NotificationMessageInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.NotificationMessageInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.NotificationMessageInfo} NotificationMessageInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NotificationMessageInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a NotificationMessageInfo message. * @function verify * @memberof proto.NotificationMessageInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ NotificationMessageInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.key != null && message.hasOwnProperty("key")) { var error = $root.proto.MessageKey.verify(message.key); if (error) return "key." + error; } if (message.message != null && message.hasOwnProperty("message")) { var error = $root.proto.Message.verify(message.message); if (error) return "message." + error; } if (message.messageTimestamp != null && message.hasOwnProperty("messageTimestamp")) if (!$util.isInteger(message.messageTimestamp) && !(message.messageTimestamp && $util.isInteger(message.messageTimestamp.low) && $util.isInteger(message.messageTimestamp.high))) return "messageTimestamp: integer|Long expected"; if (message.participant != null && message.hasOwnProperty("participant")) if (!$util.isString(message.participant)) return "participant: string expected"; return null; }; /** * Creates a NotificationMessageInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.NotificationMessageInfo * @static * @param {Object.} object Plain object * @returns {proto.NotificationMessageInfo} NotificationMessageInfo */ NotificationMessageInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.NotificationMessageInfo) return object; var message = new $root.proto.NotificationMessageInfo(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.NotificationMessageInfo.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } if (object.message != null) { if (typeof object.message !== "object") throw TypeError(".proto.NotificationMessageInfo.message: object expected"); message.message = $root.proto.Message.fromObject(object.message); } if (object.messageTimestamp != null) if ($util.Long) (message.messageTimestamp = $util.Long.fromValue(object.messageTimestamp)).unsigned = true; else if (typeof object.messageTimestamp === "string") message.messageTimestamp = parseInt(object.messageTimestamp, 10); else if (typeof object.messageTimestamp === "number") message.messageTimestamp = object.messageTimestamp; else if (typeof object.messageTimestamp === "object") message.messageTimestamp = new $util.LongBits(object.messageTimestamp.low >>> 0, object.messageTimestamp.high >>> 0).toNumber(true); if (object.participant != null) message.participant = String(object.participant); return message; }; /** * Creates a plain object from a NotificationMessageInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.NotificationMessageInfo * @static * @param {proto.NotificationMessageInfo} message NotificationMessageInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ NotificationMessageInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.key = null; object.message = null; if ($util.Long) { var long = new $util.Long(0, 0, true); object.messageTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.messageTimestamp = options.longs === String ? "0" : 0; object.participant = ""; } if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); if (message.message != null && message.hasOwnProperty("message")) object.message = $root.proto.Message.toObject(message.message, options); if (message.messageTimestamp != null && message.hasOwnProperty("messageTimestamp")) if (typeof message.messageTimestamp === "number") object.messageTimestamp = options.longs === String ? String(message.messageTimestamp) : message.messageTimestamp; else object.messageTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.messageTimestamp) : options.longs === Number ? new $util.LongBits(message.messageTimestamp.low >>> 0, message.messageTimestamp.high >>> 0).toNumber(true) : message.messageTimestamp; if (message.participant != null && message.hasOwnProperty("participant")) object.participant = message.participant; return object; }; /** * Converts this NotificationMessageInfo to JSON. * @function toJSON * @memberof proto.NotificationMessageInfo * @instance * @returns {Object.} JSON object */ NotificationMessageInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return NotificationMessageInfo; })(); proto.WebNotificationsInfo = (function() { /** * Properties of a WebNotificationsInfo. * @memberof proto * @interface IWebNotificationsInfo * @property {number|Long|null} [timestamp] WebNotificationsInfo timestamp * @property {number|null} [unreadChats] WebNotificationsInfo unreadChats * @property {number|null} [notifyMessageCount] WebNotificationsInfo notifyMessageCount * @property {Array.|null} [notifyMessages] WebNotificationsInfo notifyMessages */ /** * Constructs a new WebNotificationsInfo. * @memberof proto * @classdesc Represents a WebNotificationsInfo. * @implements IWebNotificationsInfo * @constructor * @param {proto.IWebNotificationsInfo=} [properties] Properties to set */ function WebNotificationsInfo(properties) { this.notifyMessages = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * WebNotificationsInfo timestamp. * @member {number|Long} timestamp * @memberof proto.WebNotificationsInfo * @instance */ WebNotificationsInfo.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * WebNotificationsInfo unreadChats. * @member {number} unreadChats * @memberof proto.WebNotificationsInfo * @instance */ WebNotificationsInfo.prototype.unreadChats = 0; /** * WebNotificationsInfo notifyMessageCount. * @member {number} notifyMessageCount * @memberof proto.WebNotificationsInfo * @instance */ WebNotificationsInfo.prototype.notifyMessageCount = 0; /** * WebNotificationsInfo notifyMessages. * @member {Array.} notifyMessages * @memberof proto.WebNotificationsInfo * @instance */ WebNotificationsInfo.prototype.notifyMessages = $util.emptyArray; /** * Creates a new WebNotificationsInfo instance using the specified properties. * @function create * @memberof proto.WebNotificationsInfo * @static * @param {proto.IWebNotificationsInfo=} [properties] Properties to set * @returns {proto.WebNotificationsInfo} WebNotificationsInfo instance */ WebNotificationsInfo.create = function create(properties) { return new WebNotificationsInfo(properties); }; /** * Encodes the specified WebNotificationsInfo message. Does not implicitly {@link proto.WebNotificationsInfo.verify|verify} messages. * @function encode * @memberof proto.WebNotificationsInfo * @static * @param {proto.IWebNotificationsInfo} message WebNotificationsInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WebNotificationsInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.timestamp); if (message.unreadChats != null && Object.hasOwnProperty.call(message, "unreadChats")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.unreadChats); if (message.notifyMessageCount != null && Object.hasOwnProperty.call(message, "notifyMessageCount")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.notifyMessageCount); if (message.notifyMessages != null && message.notifyMessages.length) for (var i = 0; i < message.notifyMessages.length; ++i) $root.proto.WebMessageInfo.encode(message.notifyMessages[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; /** * Encodes the specified WebNotificationsInfo message, length delimited. Does not implicitly {@link proto.WebNotificationsInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.WebNotificationsInfo * @static * @param {proto.IWebNotificationsInfo} message WebNotificationsInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WebNotificationsInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a WebNotificationsInfo message from the specified reader or buffer. * @function decode * @memberof proto.WebNotificationsInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.WebNotificationsInfo} WebNotificationsInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WebNotificationsInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.WebNotificationsInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 2: message.timestamp = reader.uint64(); break; case 3: message.unreadChats = reader.uint32(); break; case 4: message.notifyMessageCount = reader.uint32(); break; case 5: if (!(message.notifyMessages && message.notifyMessages.length)) message.notifyMessages = []; message.notifyMessages.push($root.proto.WebMessageInfo.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a WebNotificationsInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.WebNotificationsInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.WebNotificationsInfo} WebNotificationsInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WebNotificationsInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a WebNotificationsInfo message. * @function verify * @memberof proto.WebNotificationsInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ WebNotificationsInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.timestamp != null && message.hasOwnProperty("timestamp")) if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high))) return "timestamp: integer|Long expected"; if (message.unreadChats != null && message.hasOwnProperty("unreadChats")) if (!$util.isInteger(message.unreadChats)) return "unreadChats: integer expected"; if (message.notifyMessageCount != null && message.hasOwnProperty("notifyMessageCount")) if (!$util.isInteger(message.notifyMessageCount)) return "notifyMessageCount: integer expected"; if (message.notifyMessages != null && message.hasOwnProperty("notifyMessages")) { if (!Array.isArray(message.notifyMessages)) return "notifyMessages: array expected"; for (var i = 0; i < message.notifyMessages.length; ++i) { var error = $root.proto.WebMessageInfo.verify(message.notifyMessages[i]); if (error) return "notifyMessages." + error; } } return null; }; /** * Creates a WebNotificationsInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.WebNotificationsInfo * @static * @param {Object.} object Plain object * @returns {proto.WebNotificationsInfo} WebNotificationsInfo */ WebNotificationsInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.WebNotificationsInfo) return object; var message = new $root.proto.WebNotificationsInfo(); if (object.timestamp != null) if ($util.Long) (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = true; else if (typeof object.timestamp === "string") message.timestamp = parseInt(object.timestamp, 10); else if (typeof object.timestamp === "number") message.timestamp = object.timestamp; else if (typeof object.timestamp === "object") message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(true); if (object.unreadChats != null) message.unreadChats = object.unreadChats >>> 0; if (object.notifyMessageCount != null) message.notifyMessageCount = object.notifyMessageCount >>> 0; if (object.notifyMessages) { if (!Array.isArray(object.notifyMessages)) throw TypeError(".proto.WebNotificationsInfo.notifyMessages: array expected"); message.notifyMessages = []; for (var i = 0; i < object.notifyMessages.length; ++i) { if (typeof object.notifyMessages[i] !== "object") throw TypeError(".proto.WebNotificationsInfo.notifyMessages: object expected"); message.notifyMessages[i] = $root.proto.WebMessageInfo.fromObject(object.notifyMessages[i]); } } return message; }; /** * Creates a plain object from a WebNotificationsInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.WebNotificationsInfo * @static * @param {proto.WebNotificationsInfo} message WebNotificationsInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ WebNotificationsInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.notifyMessages = []; if (options.defaults) { if ($util.Long) { var long = new $util.Long(0, 0, true); object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.timestamp = options.longs === String ? "0" : 0; object.unreadChats = 0; object.notifyMessageCount = 0; } if (message.timestamp != null && message.hasOwnProperty("timestamp")) if (typeof message.timestamp === "number") object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp; else object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber(true) : message.timestamp; if (message.unreadChats != null && message.hasOwnProperty("unreadChats")) object.unreadChats = message.unreadChats; if (message.notifyMessageCount != null && message.hasOwnProperty("notifyMessageCount")) object.notifyMessageCount = message.notifyMessageCount; if (message.notifyMessages && message.notifyMessages.length) { object.notifyMessages = []; for (var j = 0; j < message.notifyMessages.length; ++j) object.notifyMessages[j] = $root.proto.WebMessageInfo.toObject(message.notifyMessages[j], options); } return object; }; /** * Converts this WebNotificationsInfo to JSON. * @function toJSON * @memberof proto.WebNotificationsInfo * @instance * @returns {Object.} JSON object */ WebNotificationsInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return WebNotificationsInfo; })(); proto.PaymentInfo = (function() { /** * Properties of a PaymentInfo. * @memberof proto * @interface IPaymentInfo * @property {proto.PaymentInfo.PaymentInfoCurrency|null} [currencyDeprecated] PaymentInfo currencyDeprecated * @property {number|Long|null} [amount1000] PaymentInfo amount1000 * @property {string|null} [receiverJid] PaymentInfo receiverJid * @property {proto.PaymentInfo.PaymentInfoStatus|null} [status] PaymentInfo status * @property {number|Long|null} [transactionTimestamp] PaymentInfo transactionTimestamp * @property {proto.IMessageKey|null} [requestMessageKey] PaymentInfo requestMessageKey * @property {number|Long|null} [expiryTimestamp] PaymentInfo expiryTimestamp * @property {boolean|null} [futureproofed] PaymentInfo futureproofed * @property {string|null} [currency] PaymentInfo currency * @property {proto.PaymentInfo.PaymentInfoTxnStatus|null} [txnStatus] PaymentInfo txnStatus */ /** * Constructs a new PaymentInfo. * @memberof proto * @classdesc Represents a PaymentInfo. * @implements IPaymentInfo * @constructor * @param {proto.IPaymentInfo=} [properties] Properties to set */ function PaymentInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * PaymentInfo currencyDeprecated. * @member {proto.PaymentInfo.PaymentInfoCurrency} currencyDeprecated * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.currencyDeprecated = 0; /** * PaymentInfo amount1000. * @member {number|Long} amount1000 * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.amount1000 = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * PaymentInfo receiverJid. * @member {string} receiverJid * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.receiverJid = ""; /** * PaymentInfo status. * @member {proto.PaymentInfo.PaymentInfoStatus} status * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.status = 0; /** * PaymentInfo transactionTimestamp. * @member {number|Long} transactionTimestamp * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.transactionTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * PaymentInfo requestMessageKey. * @member {proto.IMessageKey|null|undefined} requestMessageKey * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.requestMessageKey = null; /** * PaymentInfo expiryTimestamp. * @member {number|Long} expiryTimestamp * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.expiryTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * PaymentInfo futureproofed. * @member {boolean} futureproofed * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.futureproofed = false; /** * PaymentInfo currency. * @member {string} currency * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.currency = ""; /** * PaymentInfo txnStatus. * @member {proto.PaymentInfo.PaymentInfoTxnStatus} txnStatus * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.txnStatus = 0; /** * Creates a new PaymentInfo instance using the specified properties. * @function create * @memberof proto.PaymentInfo * @static * @param {proto.IPaymentInfo=} [properties] Properties to set * @returns {proto.PaymentInfo} PaymentInfo instance */ PaymentInfo.create = function create(properties) { return new PaymentInfo(properties); }; /** * Encodes the specified PaymentInfo message. Does not implicitly {@link proto.PaymentInfo.verify|verify} messages. * @function encode * @memberof proto.PaymentInfo * @static * @param {proto.IPaymentInfo} message PaymentInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PaymentInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.currencyDeprecated != null && Object.hasOwnProperty.call(message, "currencyDeprecated")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.currencyDeprecated); if (message.amount1000 != null && Object.hasOwnProperty.call(message, "amount1000")) writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.amount1000); if (message.receiverJid != null && Object.hasOwnProperty.call(message, "receiverJid")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.receiverJid); if (message.status != null && Object.hasOwnProperty.call(message, "status")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.status); if (message.transactionTimestamp != null && Object.hasOwnProperty.call(message, "transactionTimestamp")) writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.transactionTimestamp); if (message.requestMessageKey != null && Object.hasOwnProperty.call(message, "requestMessageKey")) $root.proto.MessageKey.encode(message.requestMessageKey, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.expiryTimestamp != null && Object.hasOwnProperty.call(message, "expiryTimestamp")) writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.expiryTimestamp); if (message.futureproofed != null && Object.hasOwnProperty.call(message, "futureproofed")) writer.uint32(/* id 8, wireType 0 =*/64).bool(message.futureproofed); if (message.currency != null && Object.hasOwnProperty.call(message, "currency")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.currency); if (message.txnStatus != null && Object.hasOwnProperty.call(message, "txnStatus")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.txnStatus); return writer; }; /** * Encodes the specified PaymentInfo message, length delimited. Does not implicitly {@link proto.PaymentInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.PaymentInfo * @static * @param {proto.IPaymentInfo} message PaymentInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PaymentInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PaymentInfo message from the specified reader or buffer. * @function decode * @memberof proto.PaymentInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PaymentInfo} PaymentInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PaymentInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.PaymentInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.currencyDeprecated = reader.int32(); break; case 2: message.amount1000 = reader.uint64(); break; case 3: message.receiverJid = reader.string(); break; case 4: message.status = reader.int32(); break; case 5: message.transactionTimestamp = reader.uint64(); break; case 6: message.requestMessageKey = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 7: message.expiryTimestamp = reader.uint64(); break; case 8: message.futureproofed = reader.bool(); break; case 9: message.currency = reader.string(); break; case 10: message.txnStatus = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PaymentInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PaymentInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PaymentInfo} PaymentInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PaymentInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PaymentInfo message. * @function verify * @memberof proto.PaymentInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PaymentInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.currencyDeprecated != null && message.hasOwnProperty("currencyDeprecated")) switch (message.currencyDeprecated) { default: return "currencyDeprecated: enum value expected"; case 0: case 1: break; } if (message.amount1000 != null && message.hasOwnProperty("amount1000")) if (!$util.isInteger(message.amount1000) && !(message.amount1000 && $util.isInteger(message.amount1000.low) && $util.isInteger(message.amount1000.high))) return "amount1000: integer|Long expected"; if (message.receiverJid != null && message.hasOwnProperty("receiverJid")) if (!$util.isString(message.receiverJid)) return "receiverJid: string expected"; if (message.status != null && message.hasOwnProperty("status")) switch (message.status) { default: return "status: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: break; } if (message.transactionTimestamp != null && message.hasOwnProperty("transactionTimestamp")) if (!$util.isInteger(message.transactionTimestamp) && !(message.transactionTimestamp && $util.isInteger(message.transactionTimestamp.low) && $util.isInteger(message.transactionTimestamp.high))) return "transactionTimestamp: integer|Long expected"; if (message.requestMessageKey != null && message.hasOwnProperty("requestMessageKey")) { var error = $root.proto.MessageKey.verify(message.requestMessageKey); if (error) return "requestMessageKey." + error; } if (message.expiryTimestamp != null && message.hasOwnProperty("expiryTimestamp")) if (!$util.isInteger(message.expiryTimestamp) && !(message.expiryTimestamp && $util.isInteger(message.expiryTimestamp.low) && $util.isInteger(message.expiryTimestamp.high))) return "expiryTimestamp: integer|Long expected"; if (message.futureproofed != null && message.hasOwnProperty("futureproofed")) if (typeof message.futureproofed !== "boolean") return "futureproofed: boolean expected"; if (message.currency != null && message.hasOwnProperty("currency")) if (!$util.isString(message.currency)) return "currency: string expected"; if (message.txnStatus != null && message.hasOwnProperty("txnStatus")) switch (message.txnStatus) { default: return "txnStatus: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: break; } return null; }; /** * Creates a PaymentInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PaymentInfo * @static * @param {Object.} object Plain object * @returns {proto.PaymentInfo} PaymentInfo */ PaymentInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.PaymentInfo) return object; var message = new $root.proto.PaymentInfo(); switch (object.currencyDeprecated) { case "UNKNOWN_CURRENCY": case 0: message.currencyDeprecated = 0; break; case "INR": case 1: message.currencyDeprecated = 1; break; } if (object.amount1000 != null) if ($util.Long) (message.amount1000 = $util.Long.fromValue(object.amount1000)).unsigned = true; else if (typeof object.amount1000 === "string") message.amount1000 = parseInt(object.amount1000, 10); else if (typeof object.amount1000 === "number") message.amount1000 = object.amount1000; else if (typeof object.amount1000 === "object") message.amount1000 = new $util.LongBits(object.amount1000.low >>> 0, object.amount1000.high >>> 0).toNumber(true); if (object.receiverJid != null) message.receiverJid = String(object.receiverJid); switch (object.status) { case "UNKNOWN_STATUS": case 0: message.status = 0; break; case "PROCESSING": case 1: message.status = 1; break; case "SENT": case 2: message.status = 2; break; case "NEED_TO_ACCEPT": case 3: message.status = 3; break; case "COMPLETE": case 4: message.status = 4; break; case "COULD_NOT_COMPLETE": case 5: message.status = 5; break; case "REFUNDED": case 6: message.status = 6; break; case "EXPIRED": case 7: message.status = 7; break; case "REJECTED": case 8: message.status = 8; break; case "CANCELLED": case 9: message.status = 9; break; case "WAITING_FOR_PAYER": case 10: message.status = 10; break; case "WAITING": case 11: message.status = 11; break; } if (object.transactionTimestamp != null) if ($util.Long) (message.transactionTimestamp = $util.Long.fromValue(object.transactionTimestamp)).unsigned = true; else if (typeof object.transactionTimestamp === "string") message.transactionTimestamp = parseInt(object.transactionTimestamp, 10); else if (typeof object.transactionTimestamp === "number") message.transactionTimestamp = object.transactionTimestamp; else if (typeof object.transactionTimestamp === "object") message.transactionTimestamp = new $util.LongBits(object.transactionTimestamp.low >>> 0, object.transactionTimestamp.high >>> 0).toNumber(true); if (object.requestMessageKey != null) { if (typeof object.requestMessageKey !== "object") throw TypeError(".proto.PaymentInfo.requestMessageKey: object expected"); message.requestMessageKey = $root.proto.MessageKey.fromObject(object.requestMessageKey); } if (object.expiryTimestamp != null) if ($util.Long) (message.expiryTimestamp = $util.Long.fromValue(object.expiryTimestamp)).unsigned = true; else if (typeof object.expiryTimestamp === "string") message.expiryTimestamp = parseInt(object.expiryTimestamp, 10); else if (typeof object.expiryTimestamp === "number") message.expiryTimestamp = object.expiryTimestamp; else if (typeof object.expiryTimestamp === "object") message.expiryTimestamp = new $util.LongBits(object.expiryTimestamp.low >>> 0, object.expiryTimestamp.high >>> 0).toNumber(true); if (object.futureproofed != null) message.futureproofed = Boolean(object.futureproofed); if (object.currency != null) message.currency = String(object.currency); switch (object.txnStatus) { case "UNKNOWN": case 0: message.txnStatus = 0; break; case "PENDING_SETUP": case 1: message.txnStatus = 1; break; case "PENDING_RECEIVER_SETUP": case 2: message.txnStatus = 2; break; case "INIT": case 3: message.txnStatus = 3; break; case "SUCCESS": case 4: message.txnStatus = 4; break; case "COMPLETED": case 5: message.txnStatus = 5; break; case "FAILED": case 6: message.txnStatus = 6; break; case "FAILED_RISK": case 7: message.txnStatus = 7; break; case "FAILED_PROCESSING": case 8: message.txnStatus = 8; break; case "FAILED_RECEIVER_PROCESSING": case 9: message.txnStatus = 9; break; case "FAILED_DA": case 10: message.txnStatus = 10; break; case "FAILED_DA_FINAL": case 11: message.txnStatus = 11; break; case "REFUNDED_TXN": case 12: message.txnStatus = 12; break; case "REFUND_FAILED": case 13: message.txnStatus = 13; break; case "REFUND_FAILED_PROCESSING": case 14: message.txnStatus = 14; break; case "REFUND_FAILED_DA": case 15: message.txnStatus = 15; break; case "EXPIRED_TXN": case 16: message.txnStatus = 16; break; case "AUTH_CANCELED": case 17: message.txnStatus = 17; break; case "AUTH_CANCEL_FAILED_PROCESSING": case 18: message.txnStatus = 18; break; case "AUTH_CANCEL_FAILED": case 19: message.txnStatus = 19; break; case "COLLECT_INIT": case 20: message.txnStatus = 20; break; case "COLLECT_SUCCESS": case 21: message.txnStatus = 21; break; case "COLLECT_FAILED": case 22: message.txnStatus = 22; break; case "COLLECT_FAILED_RISK": case 23: message.txnStatus = 23; break; case "COLLECT_REJECTED": case 24: message.txnStatus = 24; break; case "COLLECT_EXPIRED": case 25: message.txnStatus = 25; break; case "COLLECT_CANCELED": case 26: message.txnStatus = 26; break; case "COLLECT_CANCELLING": case 27: message.txnStatus = 27; break; } return message; }; /** * Creates a plain object from a PaymentInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.PaymentInfo * @static * @param {proto.PaymentInfo} message PaymentInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ PaymentInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.currencyDeprecated = options.enums === String ? "UNKNOWN_CURRENCY" : 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.amount1000 = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.amount1000 = options.longs === String ? "0" : 0; object.receiverJid = ""; object.status = options.enums === String ? "UNKNOWN_STATUS" : 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.transactionTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.transactionTimestamp = options.longs === String ? "0" : 0; object.requestMessageKey = null; if ($util.Long) { var long = new $util.Long(0, 0, true); object.expiryTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.expiryTimestamp = options.longs === String ? "0" : 0; object.futureproofed = false; object.currency = ""; object.txnStatus = options.enums === String ? "UNKNOWN" : 0; } if (message.currencyDeprecated != null && message.hasOwnProperty("currencyDeprecated")) object.currencyDeprecated = options.enums === String ? $root.proto.PaymentInfo.PaymentInfoCurrency[message.currencyDeprecated] : message.currencyDeprecated; if (message.amount1000 != null && message.hasOwnProperty("amount1000")) if (typeof message.amount1000 === "number") object.amount1000 = options.longs === String ? String(message.amount1000) : message.amount1000; else object.amount1000 = options.longs === String ? $util.Long.prototype.toString.call(message.amount1000) : options.longs === Number ? new $util.LongBits(message.amount1000.low >>> 0, message.amount1000.high >>> 0).toNumber(true) : message.amount1000; if (message.receiverJid != null && message.hasOwnProperty("receiverJid")) object.receiverJid = message.receiverJid; if (message.status != null && message.hasOwnProperty("status")) object.status = options.enums === String ? $root.proto.PaymentInfo.PaymentInfoStatus[message.status] : message.status; if (message.transactionTimestamp != null && message.hasOwnProperty("transactionTimestamp")) if (typeof message.transactionTimestamp === "number") object.transactionTimestamp = options.longs === String ? String(message.transactionTimestamp) : message.transactionTimestamp; else object.transactionTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.transactionTimestamp) : options.longs === Number ? new $util.LongBits(message.transactionTimestamp.low >>> 0, message.transactionTimestamp.high >>> 0).toNumber(true) : message.transactionTimestamp; if (message.requestMessageKey != null && message.hasOwnProperty("requestMessageKey")) object.requestMessageKey = $root.proto.MessageKey.toObject(message.requestMessageKey, options); if (message.expiryTimestamp != null && message.hasOwnProperty("expiryTimestamp")) if (typeof message.expiryTimestamp === "number") object.expiryTimestamp = options.longs === String ? String(message.expiryTimestamp) : message.expiryTimestamp; else object.expiryTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.expiryTimestamp) : options.longs === Number ? new $util.LongBits(message.expiryTimestamp.low >>> 0, message.expiryTimestamp.high >>> 0).toNumber(true) : message.expiryTimestamp; if (message.futureproofed != null && message.hasOwnProperty("futureproofed")) object.futureproofed = message.futureproofed; if (message.currency != null && message.hasOwnProperty("currency")) object.currency = message.currency; if (message.txnStatus != null && message.hasOwnProperty("txnStatus")) object.txnStatus = options.enums === String ? $root.proto.PaymentInfo.PaymentInfoTxnStatus[message.txnStatus] : message.txnStatus; return object; }; /** * Converts this PaymentInfo to JSON. * @function toJSON * @memberof proto.PaymentInfo * @instance * @returns {Object.} JSON object */ PaymentInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * PaymentInfoCurrency enum. * @name proto.PaymentInfo.PaymentInfoCurrency * @enum {number} * @property {number} UNKNOWN_CURRENCY=0 UNKNOWN_CURRENCY value * @property {number} INR=1 INR value */ PaymentInfo.PaymentInfoCurrency = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN_CURRENCY"] = 0; values[valuesById[1] = "INR"] = 1; return values; })(); /** * PaymentInfoStatus enum. * @name proto.PaymentInfo.PaymentInfoStatus * @enum {number} * @property {number} UNKNOWN_STATUS=0 UNKNOWN_STATUS value * @property {number} PROCESSING=1 PROCESSING value * @property {number} SENT=2 SENT value * @property {number} NEED_TO_ACCEPT=3 NEED_TO_ACCEPT value * @property {number} COMPLETE=4 COMPLETE value * @property {number} COULD_NOT_COMPLETE=5 COULD_NOT_COMPLETE value * @property {number} REFUNDED=6 REFUNDED value * @property {number} EXPIRED=7 EXPIRED value * @property {number} REJECTED=8 REJECTED value * @property {number} CANCELLED=9 CANCELLED value * @property {number} WAITING_FOR_PAYER=10 WAITING_FOR_PAYER value * @property {number} WAITING=11 WAITING value */ PaymentInfo.PaymentInfoStatus = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN_STATUS"] = 0; values[valuesById[1] = "PROCESSING"] = 1; values[valuesById[2] = "SENT"] = 2; values[valuesById[3] = "NEED_TO_ACCEPT"] = 3; values[valuesById[4] = "COMPLETE"] = 4; values[valuesById[5] = "COULD_NOT_COMPLETE"] = 5; values[valuesById[6] = "REFUNDED"] = 6; values[valuesById[7] = "EXPIRED"] = 7; values[valuesById[8] = "REJECTED"] = 8; values[valuesById[9] = "CANCELLED"] = 9; values[valuesById[10] = "WAITING_FOR_PAYER"] = 10; values[valuesById[11] = "WAITING"] = 11; return values; })(); /** * PaymentInfoTxnStatus enum. * @name proto.PaymentInfo.PaymentInfoTxnStatus * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} PENDING_SETUP=1 PENDING_SETUP value * @property {number} PENDING_RECEIVER_SETUP=2 PENDING_RECEIVER_SETUP value * @property {number} INIT=3 INIT value * @property {number} SUCCESS=4 SUCCESS value * @property {number} COMPLETED=5 COMPLETED value * @property {number} FAILED=6 FAILED value * @property {number} FAILED_RISK=7 FAILED_RISK value * @property {number} FAILED_PROCESSING=8 FAILED_PROCESSING value * @property {number} FAILED_RECEIVER_PROCESSING=9 FAILED_RECEIVER_PROCESSING value * @property {number} FAILED_DA=10 FAILED_DA value * @property {number} FAILED_DA_FINAL=11 FAILED_DA_FINAL value * @property {number} REFUNDED_TXN=12 REFUNDED_TXN value * @property {number} REFUND_FAILED=13 REFUND_FAILED value * @property {number} REFUND_FAILED_PROCESSING=14 REFUND_FAILED_PROCESSING value * @property {number} REFUND_FAILED_DA=15 REFUND_FAILED_DA value * @property {number} EXPIRED_TXN=16 EXPIRED_TXN value * @property {number} AUTH_CANCELED=17 AUTH_CANCELED value * @property {number} AUTH_CANCEL_FAILED_PROCESSING=18 AUTH_CANCEL_FAILED_PROCESSING value * @property {number} AUTH_CANCEL_FAILED=19 AUTH_CANCEL_FAILED value * @property {number} COLLECT_INIT=20 COLLECT_INIT value * @property {number} COLLECT_SUCCESS=21 COLLECT_SUCCESS value * @property {number} COLLECT_FAILED=22 COLLECT_FAILED value * @property {number} COLLECT_FAILED_RISK=23 COLLECT_FAILED_RISK value * @property {number} COLLECT_REJECTED=24 COLLECT_REJECTED value * @property {number} COLLECT_EXPIRED=25 COLLECT_EXPIRED value * @property {number} COLLECT_CANCELED=26 COLLECT_CANCELED value * @property {number} COLLECT_CANCELLING=27 COLLECT_CANCELLING value */ PaymentInfo.PaymentInfoTxnStatus = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "PENDING_SETUP"] = 1; values[valuesById[2] = "PENDING_RECEIVER_SETUP"] = 2; values[valuesById[3] = "INIT"] = 3; values[valuesById[4] = "SUCCESS"] = 4; values[valuesById[5] = "COMPLETED"] = 5; values[valuesById[6] = "FAILED"] = 6; values[valuesById[7] = "FAILED_RISK"] = 7; values[valuesById[8] = "FAILED_PROCESSING"] = 8; values[valuesById[9] = "FAILED_RECEIVER_PROCESSING"] = 9; values[valuesById[10] = "FAILED_DA"] = 10; values[valuesById[11] = "FAILED_DA_FINAL"] = 11; values[valuesById[12] = "REFUNDED_TXN"] = 12; values[valuesById[13] = "REFUND_FAILED"] = 13; values[valuesById[14] = "REFUND_FAILED_PROCESSING"] = 14; values[valuesById[15] = "REFUND_FAILED_DA"] = 15; values[valuesById[16] = "EXPIRED_TXN"] = 16; values[valuesById[17] = "AUTH_CANCELED"] = 17; values[valuesById[18] = "AUTH_CANCEL_FAILED_PROCESSING"] = 18; values[valuesById[19] = "AUTH_CANCEL_FAILED"] = 19; values[valuesById[20] = "COLLECT_INIT"] = 20; values[valuesById[21] = "COLLECT_SUCCESS"] = 21; values[valuesById[22] = "COLLECT_FAILED"] = 22; values[valuesById[23] = "COLLECT_FAILED_RISK"] = 23; values[valuesById[24] = "COLLECT_REJECTED"] = 24; values[valuesById[25] = "COLLECT_EXPIRED"] = 25; values[valuesById[26] = "COLLECT_CANCELED"] = 26; values[valuesById[27] = "COLLECT_CANCELLING"] = 27; return values; })(); return PaymentInfo; })(); proto.WebMessageInfo = (function() { /** * Properties of a WebMessageInfo. * @memberof proto * @interface IWebMessageInfo * @property {proto.IMessageKey} key WebMessageInfo key * @property {proto.IMessage|null} [message] WebMessageInfo message * @property {number|Long|null} [messageTimestamp] WebMessageInfo messageTimestamp * @property {proto.WebMessageInfo.WebMessageInfoStatus|null} [status] WebMessageInfo status * @property {string|null} [participant] WebMessageInfo participant * @property {boolean|null} [ignore] WebMessageInfo ignore * @property {boolean|null} [starred] WebMessageInfo starred * @property {boolean|null} [broadcast] WebMessageInfo broadcast * @property {string|null} [pushName] WebMessageInfo pushName * @property {Uint8Array|null} [mediaCiphertextSha256] WebMessageInfo mediaCiphertextSha256 * @property {boolean|null} [multicast] WebMessageInfo multicast * @property {boolean|null} [urlText] WebMessageInfo urlText * @property {boolean|null} [urlNumber] WebMessageInfo urlNumber * @property {proto.WebMessageInfo.WebMessageInfoStubType|null} [messageStubType] WebMessageInfo messageStubType * @property {boolean|null} [clearMedia] WebMessageInfo clearMedia * @property {Array.|null} [messageStubParameters] WebMessageInfo messageStubParameters * @property {number|null} [duration] WebMessageInfo duration * @property {Array.|null} [labels] WebMessageInfo labels * @property {proto.IPaymentInfo|null} [paymentInfo] WebMessageInfo paymentInfo * @property {proto.ILiveLocationMessage|null} [finalLiveLocation] WebMessageInfo finalLiveLocation * @property {proto.IPaymentInfo|null} [quotedPaymentInfo] WebMessageInfo quotedPaymentInfo * @property {number|Long|null} [ephemeralStartTimestamp] WebMessageInfo ephemeralStartTimestamp * @property {number|null} [ephemeralDuration] WebMessageInfo ephemeralDuration * @property {boolean|null} [ephemeralOffToOn] WebMessageInfo ephemeralOffToOn * @property {boolean|null} [ephemeralOutOfSync] WebMessageInfo ephemeralOutOfSync * @property {proto.WebMessageInfo.WebMessageInfoBizPrivacyStatus|null} [bizPrivacyStatus] WebMessageInfo bizPrivacyStatus * @property {string|null} [verifiedBizName] WebMessageInfo verifiedBizName */ /** * Constructs a new WebMessageInfo. * @memberof proto * @classdesc Represents a WebMessageInfo. * @implements IWebMessageInfo * @constructor * @param {proto.IWebMessageInfo=} [properties] Properties to set */ function WebMessageInfo(properties) { this.messageStubParameters = []; this.labels = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * WebMessageInfo key. * @member {proto.IMessageKey} key * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.key = null; /** * WebMessageInfo message. * @member {proto.IMessage|null|undefined} message * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.message = null; /** * WebMessageInfo messageTimestamp. * @member {number|Long} messageTimestamp * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.messageTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * WebMessageInfo status. * @member {proto.WebMessageInfo.WebMessageInfoStatus} status * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.status = 0; /** * WebMessageInfo participant. * @member {string} participant * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.participant = ""; /** * WebMessageInfo ignore. * @member {boolean} ignore * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.ignore = false; /** * WebMessageInfo starred. * @member {boolean} starred * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.starred = false; /** * WebMessageInfo broadcast. * @member {boolean} broadcast * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.broadcast = false; /** * WebMessageInfo pushName. * @member {string} pushName * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.pushName = ""; /** * WebMessageInfo mediaCiphertextSha256. * @member {Uint8Array} mediaCiphertextSha256 * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.mediaCiphertextSha256 = $util.newBuffer([]); /** * WebMessageInfo multicast. * @member {boolean} multicast * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.multicast = false; /** * WebMessageInfo urlText. * @member {boolean} urlText * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.urlText = false; /** * WebMessageInfo urlNumber. * @member {boolean} urlNumber * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.urlNumber = false; /** * WebMessageInfo messageStubType. * @member {proto.WebMessageInfo.WebMessageInfoStubType} messageStubType * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.messageStubType = 0; /** * WebMessageInfo clearMedia. * @member {boolean} clearMedia * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.clearMedia = false; /** * WebMessageInfo messageStubParameters. * @member {Array.} messageStubParameters * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.messageStubParameters = $util.emptyArray; /** * WebMessageInfo duration. * @member {number} duration * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.duration = 0; /** * WebMessageInfo labels. * @member {Array.} labels * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.labels = $util.emptyArray; /** * WebMessageInfo paymentInfo. * @member {proto.IPaymentInfo|null|undefined} paymentInfo * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.paymentInfo = null; /** * WebMessageInfo finalLiveLocation. * @member {proto.ILiveLocationMessage|null|undefined} finalLiveLocation * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.finalLiveLocation = null; /** * WebMessageInfo quotedPaymentInfo. * @member {proto.IPaymentInfo|null|undefined} quotedPaymentInfo * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.quotedPaymentInfo = null; /** * WebMessageInfo ephemeralStartTimestamp. * @member {number|Long} ephemeralStartTimestamp * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.ephemeralStartTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * WebMessageInfo ephemeralDuration. * @member {number} ephemeralDuration * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.ephemeralDuration = 0; /** * WebMessageInfo ephemeralOffToOn. * @member {boolean} ephemeralOffToOn * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.ephemeralOffToOn = false; /** * WebMessageInfo ephemeralOutOfSync. * @member {boolean} ephemeralOutOfSync * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.ephemeralOutOfSync = false; /** * WebMessageInfo bizPrivacyStatus. * @member {proto.WebMessageInfo.WebMessageInfoBizPrivacyStatus} bizPrivacyStatus * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.bizPrivacyStatus = 0; /** * WebMessageInfo verifiedBizName. * @member {string} verifiedBizName * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.verifiedBizName = ""; /** * Creates a new WebMessageInfo instance using the specified properties. * @function create * @memberof proto.WebMessageInfo * @static * @param {proto.IWebMessageInfo=} [properties] Properties to set * @returns {proto.WebMessageInfo} WebMessageInfo instance */ WebMessageInfo.create = function create(properties) { return new WebMessageInfo(properties); }; /** * Encodes the specified WebMessageInfo message. Does not implicitly {@link proto.WebMessageInfo.verify|verify} messages. * @function encode * @memberof proto.WebMessageInfo * @static * @param {proto.IWebMessageInfo} message WebMessageInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WebMessageInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); $root.proto.MessageKey.encode(message.key, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.message != null && Object.hasOwnProperty.call(message, "message")) $root.proto.Message.encode(message.message, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.messageTimestamp != null && Object.hasOwnProperty.call(message, "messageTimestamp")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.messageTimestamp); if (message.status != null && Object.hasOwnProperty.call(message, "status")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.status); if (message.participant != null && Object.hasOwnProperty.call(message, "participant")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.participant); if (message.ignore != null && Object.hasOwnProperty.call(message, "ignore")) writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ignore); if (message.starred != null && Object.hasOwnProperty.call(message, "starred")) writer.uint32(/* id 17, wireType 0 =*/136).bool(message.starred); if (message.broadcast != null && Object.hasOwnProperty.call(message, "broadcast")) writer.uint32(/* id 18, wireType 0 =*/144).bool(message.broadcast); if (message.pushName != null && Object.hasOwnProperty.call(message, "pushName")) writer.uint32(/* id 19, wireType 2 =*/154).string(message.pushName); if (message.mediaCiphertextSha256 != null && Object.hasOwnProperty.call(message, "mediaCiphertextSha256")) writer.uint32(/* id 20, wireType 2 =*/162).bytes(message.mediaCiphertextSha256); if (message.multicast != null && Object.hasOwnProperty.call(message, "multicast")) writer.uint32(/* id 21, wireType 0 =*/168).bool(message.multicast); if (message.urlText != null && Object.hasOwnProperty.call(message, "urlText")) writer.uint32(/* id 22, wireType 0 =*/176).bool(message.urlText); if (message.urlNumber != null && Object.hasOwnProperty.call(message, "urlNumber")) writer.uint32(/* id 23, wireType 0 =*/184).bool(message.urlNumber); if (message.messageStubType != null && Object.hasOwnProperty.call(message, "messageStubType")) writer.uint32(/* id 24, wireType 0 =*/192).int32(message.messageStubType); if (message.clearMedia != null && Object.hasOwnProperty.call(message, "clearMedia")) writer.uint32(/* id 25, wireType 0 =*/200).bool(message.clearMedia); if (message.messageStubParameters != null && message.messageStubParameters.length) for (var i = 0; i < message.messageStubParameters.length; ++i) writer.uint32(/* id 26, wireType 2 =*/210).string(message.messageStubParameters[i]); if (message.duration != null && Object.hasOwnProperty.call(message, "duration")) writer.uint32(/* id 27, wireType 0 =*/216).uint32(message.duration); if (message.labels != null && message.labels.length) for (var i = 0; i < message.labels.length; ++i) writer.uint32(/* id 28, wireType 2 =*/226).string(message.labels[i]); if (message.paymentInfo != null && Object.hasOwnProperty.call(message, "paymentInfo")) $root.proto.PaymentInfo.encode(message.paymentInfo, writer.uint32(/* id 29, wireType 2 =*/234).fork()).ldelim(); if (message.finalLiveLocation != null && Object.hasOwnProperty.call(message, "finalLiveLocation")) $root.proto.LiveLocationMessage.encode(message.finalLiveLocation, writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim(); if (message.quotedPaymentInfo != null && Object.hasOwnProperty.call(message, "quotedPaymentInfo")) $root.proto.PaymentInfo.encode(message.quotedPaymentInfo, writer.uint32(/* id 31, wireType 2 =*/250).fork()).ldelim(); if (message.ephemeralStartTimestamp != null && Object.hasOwnProperty.call(message, "ephemeralStartTimestamp")) writer.uint32(/* id 32, wireType 0 =*/256).uint64(message.ephemeralStartTimestamp); if (message.ephemeralDuration != null && Object.hasOwnProperty.call(message, "ephemeralDuration")) writer.uint32(/* id 33, wireType 0 =*/264).uint32(message.ephemeralDuration); if (message.ephemeralOffToOn != null && Object.hasOwnProperty.call(message, "ephemeralOffToOn")) writer.uint32(/* id 34, wireType 0 =*/272).bool(message.ephemeralOffToOn); if (message.ephemeralOutOfSync != null && Object.hasOwnProperty.call(message, "ephemeralOutOfSync")) writer.uint32(/* id 35, wireType 0 =*/280).bool(message.ephemeralOutOfSync); if (message.bizPrivacyStatus != null && Object.hasOwnProperty.call(message, "bizPrivacyStatus")) writer.uint32(/* id 36, wireType 0 =*/288).int32(message.bizPrivacyStatus); if (message.verifiedBizName != null && Object.hasOwnProperty.call(message, "verifiedBizName")) writer.uint32(/* id 37, wireType 2 =*/298).string(message.verifiedBizName); return writer; }; /** * Encodes the specified WebMessageInfo message, length delimited. Does not implicitly {@link proto.WebMessageInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.WebMessageInfo * @static * @param {proto.IWebMessageInfo} message WebMessageInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WebMessageInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a WebMessageInfo message from the specified reader or buffer. * @function decode * @memberof proto.WebMessageInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.WebMessageInfo} WebMessageInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WebMessageInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.WebMessageInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 2: message.message = $root.proto.Message.decode(reader, reader.uint32()); break; case 3: message.messageTimestamp = reader.uint64(); break; case 4: message.status = reader.int32(); break; case 5: message.participant = reader.string(); break; case 16: message.ignore = reader.bool(); break; case 17: message.starred = reader.bool(); break; case 18: message.broadcast = reader.bool(); break; case 19: message.pushName = reader.string(); break; case 20: message.mediaCiphertextSha256 = reader.bytes(); break; case 21: message.multicast = reader.bool(); break; case 22: message.urlText = reader.bool(); break; case 23: message.urlNumber = reader.bool(); break; case 24: message.messageStubType = reader.int32(); break; case 25: message.clearMedia = reader.bool(); break; case 26: if (!(message.messageStubParameters && message.messageStubParameters.length)) message.messageStubParameters = []; message.messageStubParameters.push(reader.string()); break; case 27: message.duration = reader.uint32(); break; case 28: if (!(message.labels && message.labels.length)) message.labels = []; message.labels.push(reader.string()); break; case 29: message.paymentInfo = $root.proto.PaymentInfo.decode(reader, reader.uint32()); break; case 30: message.finalLiveLocation = $root.proto.LiveLocationMessage.decode(reader, reader.uint32()); break; case 31: message.quotedPaymentInfo = $root.proto.PaymentInfo.decode(reader, reader.uint32()); break; case 32: message.ephemeralStartTimestamp = reader.uint64(); break; case 33: message.ephemeralDuration = reader.uint32(); break; case 34: message.ephemeralOffToOn = reader.bool(); break; case 35: message.ephemeralOutOfSync = reader.bool(); break; case 36: message.bizPrivacyStatus = reader.int32(); break; case 37: message.verifiedBizName = reader.string(); break; default: reader.skipType(tag & 7); break; } } if (!message.hasOwnProperty("key")) throw $util.ProtocolError("missing required 'key'", { instance: message }); return message; }; /** * Decodes a WebMessageInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.WebMessageInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.WebMessageInfo} WebMessageInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WebMessageInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a WebMessageInfo message. * @function verify * @memberof proto.WebMessageInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ WebMessageInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; { var error = $root.proto.MessageKey.verify(message.key); if (error) return "key." + error; } if (message.message != null && message.hasOwnProperty("message")) { var error = $root.proto.Message.verify(message.message); if (error) return "message." + error; } if (message.messageTimestamp != null && message.hasOwnProperty("messageTimestamp")) if (!$util.isInteger(message.messageTimestamp) && !(message.messageTimestamp && $util.isInteger(message.messageTimestamp.low) && $util.isInteger(message.messageTimestamp.high))) return "messageTimestamp: integer|Long expected"; if (message.status != null && message.hasOwnProperty("status")) switch (message.status) { default: return "status: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: break; } if (message.participant != null && message.hasOwnProperty("participant")) if (!$util.isString(message.participant)) return "participant: string expected"; if (message.ignore != null && message.hasOwnProperty("ignore")) if (typeof message.ignore !== "boolean") return "ignore: boolean expected"; if (message.starred != null && message.hasOwnProperty("starred")) if (typeof message.starred !== "boolean") return "starred: boolean expected"; if (message.broadcast != null && message.hasOwnProperty("broadcast")) if (typeof message.broadcast !== "boolean") return "broadcast: boolean expected"; if (message.pushName != null && message.hasOwnProperty("pushName")) if (!$util.isString(message.pushName)) return "pushName: string expected"; if (message.mediaCiphertextSha256 != null && message.hasOwnProperty("mediaCiphertextSha256")) if (!(message.mediaCiphertextSha256 && typeof message.mediaCiphertextSha256.length === "number" || $util.isString(message.mediaCiphertextSha256))) return "mediaCiphertextSha256: buffer expected"; if (message.multicast != null && message.hasOwnProperty("multicast")) if (typeof message.multicast !== "boolean") return "multicast: boolean expected"; if (message.urlText != null && message.hasOwnProperty("urlText")) if (typeof message.urlText !== "boolean") return "urlText: boolean expected"; if (message.urlNumber != null && message.hasOwnProperty("urlNumber")) if (typeof message.urlNumber !== "boolean") return "urlNumber: boolean expected"; if (message.messageStubType != null && message.hasOwnProperty("messageStubType")) switch (message.messageStubType) { default: return "messageStubType: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: case 58: case 59: case 60: case 61: case 62: case 63: case 64: case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 88: case 89: case 90: case 91: case 92: case 93: case 94: case 95: case 96: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: break; } if (message.clearMedia != null && message.hasOwnProperty("clearMedia")) if (typeof message.clearMedia !== "boolean") return "clearMedia: boolean expected"; if (message.messageStubParameters != null && message.hasOwnProperty("messageStubParameters")) { if (!Array.isArray(message.messageStubParameters)) return "messageStubParameters: array expected"; for (var i = 0; i < message.messageStubParameters.length; ++i) if (!$util.isString(message.messageStubParameters[i])) return "messageStubParameters: string[] expected"; } if (message.duration != null && message.hasOwnProperty("duration")) if (!$util.isInteger(message.duration)) return "duration: integer expected"; if (message.labels != null && message.hasOwnProperty("labels")) { if (!Array.isArray(message.labels)) return "labels: array expected"; for (var i = 0; i < message.labels.length; ++i) if (!$util.isString(message.labels[i])) return "labels: string[] expected"; } if (message.paymentInfo != null && message.hasOwnProperty("paymentInfo")) { var error = $root.proto.PaymentInfo.verify(message.paymentInfo); if (error) return "paymentInfo." + error; } if (message.finalLiveLocation != null && message.hasOwnProperty("finalLiveLocation")) { var error = $root.proto.LiveLocationMessage.verify(message.finalLiveLocation); if (error) return "finalLiveLocation." + error; } if (message.quotedPaymentInfo != null && message.hasOwnProperty("quotedPaymentInfo")) { var error = $root.proto.PaymentInfo.verify(message.quotedPaymentInfo); if (error) return "quotedPaymentInfo." + error; } if (message.ephemeralStartTimestamp != null && message.hasOwnProperty("ephemeralStartTimestamp")) if (!$util.isInteger(message.ephemeralStartTimestamp) && !(message.ephemeralStartTimestamp && $util.isInteger(message.ephemeralStartTimestamp.low) && $util.isInteger(message.ephemeralStartTimestamp.high))) return "ephemeralStartTimestamp: integer|Long expected"; if (message.ephemeralDuration != null && message.hasOwnProperty("ephemeralDuration")) if (!$util.isInteger(message.ephemeralDuration)) return "ephemeralDuration: integer expected"; if (message.ephemeralOffToOn != null && message.hasOwnProperty("ephemeralOffToOn")) if (typeof message.ephemeralOffToOn !== "boolean") return "ephemeralOffToOn: boolean expected"; if (message.ephemeralOutOfSync != null && message.hasOwnProperty("ephemeralOutOfSync")) if (typeof message.ephemeralOutOfSync !== "boolean") return "ephemeralOutOfSync: boolean expected"; if (message.bizPrivacyStatus != null && message.hasOwnProperty("bizPrivacyStatus")) switch (message.bizPrivacyStatus) { default: return "bizPrivacyStatus: enum value expected"; case 0: case 2: case 1: case 3: break; } if (message.verifiedBizName != null && message.hasOwnProperty("verifiedBizName")) if (!$util.isString(message.verifiedBizName)) return "verifiedBizName: string expected"; return null; }; /** * Creates a WebMessageInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.WebMessageInfo * @static * @param {Object.} object Plain object * @returns {proto.WebMessageInfo} WebMessageInfo */ WebMessageInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.WebMessageInfo) return object; var message = new $root.proto.WebMessageInfo(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.WebMessageInfo.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } if (object.message != null) { if (typeof object.message !== "object") throw TypeError(".proto.WebMessageInfo.message: object expected"); message.message = $root.proto.Message.fromObject(object.message); } if (object.messageTimestamp != null) if ($util.Long) (message.messageTimestamp = $util.Long.fromValue(object.messageTimestamp)).unsigned = true; else if (typeof object.messageTimestamp === "string") message.messageTimestamp = parseInt(object.messageTimestamp, 10); else if (typeof object.messageTimestamp === "number") message.messageTimestamp = object.messageTimestamp; else if (typeof object.messageTimestamp === "object") message.messageTimestamp = new $util.LongBits(object.messageTimestamp.low >>> 0, object.messageTimestamp.high >>> 0).toNumber(true); switch (object.status) { case "ERROR": case 0: message.status = 0; break; case "PENDING": case 1: message.status = 1; break; case "SERVER_ACK": case 2: message.status = 2; break; case "DELIVERY_ACK": case 3: message.status = 3; break; case "READ": case 4: message.status = 4; break; case "PLAYED": case 5: message.status = 5; break; } if (object.participant != null) message.participant = String(object.participant); if (object.ignore != null) message.ignore = Boolean(object.ignore); if (object.starred != null) message.starred = Boolean(object.starred); if (object.broadcast != null) message.broadcast = Boolean(object.broadcast); if (object.pushName != null) message.pushName = String(object.pushName); if (object.mediaCiphertextSha256 != null) if (typeof object.mediaCiphertextSha256 === "string") $util.base64.decode(object.mediaCiphertextSha256, message.mediaCiphertextSha256 = $util.newBuffer($util.base64.length(object.mediaCiphertextSha256)), 0); else if (object.mediaCiphertextSha256.length) message.mediaCiphertextSha256 = object.mediaCiphertextSha256; if (object.multicast != null) message.multicast = Boolean(object.multicast); if (object.urlText != null) message.urlText = Boolean(object.urlText); if (object.urlNumber != null) message.urlNumber = Boolean(object.urlNumber); switch (object.messageStubType) { case "UNKNOWN": case 0: message.messageStubType = 0; break; case "REVOKE": case 1: message.messageStubType = 1; break; case "CIPHERTEXT": case 2: message.messageStubType = 2; break; case "FUTUREPROOF": case 3: message.messageStubType = 3; break; case "NON_VERIFIED_TRANSITION": case 4: message.messageStubType = 4; break; case "UNVERIFIED_TRANSITION": case 5: message.messageStubType = 5; break; case "VERIFIED_TRANSITION": case 6: message.messageStubType = 6; break; case "VERIFIED_LOW_UNKNOWN": case 7: message.messageStubType = 7; break; case "VERIFIED_HIGH": case 8: message.messageStubType = 8; break; case "VERIFIED_INITIAL_UNKNOWN": case 9: message.messageStubType = 9; break; case "VERIFIED_INITIAL_LOW": case 10: message.messageStubType = 10; break; case "VERIFIED_INITIAL_HIGH": case 11: message.messageStubType = 11; break; case "VERIFIED_TRANSITION_ANY_TO_NONE": case 12: message.messageStubType = 12; break; case "VERIFIED_TRANSITION_ANY_TO_HIGH": case 13: message.messageStubType = 13; break; case "VERIFIED_TRANSITION_HIGH_TO_LOW": case 14: message.messageStubType = 14; break; case "VERIFIED_TRANSITION_HIGH_TO_UNKNOWN": case 15: message.messageStubType = 15; break; case "VERIFIED_TRANSITION_UNKNOWN_TO_LOW": case 16: message.messageStubType = 16; break; case "VERIFIED_TRANSITION_LOW_TO_UNKNOWN": case 17: message.messageStubType = 17; break; case "VERIFIED_TRANSITION_NONE_TO_LOW": case 18: message.messageStubType = 18; break; case "VERIFIED_TRANSITION_NONE_TO_UNKNOWN": case 19: message.messageStubType = 19; break; case "GROUP_CREATE": case 20: message.messageStubType = 20; break; case "GROUP_CHANGE_SUBJECT": case 21: message.messageStubType = 21; break; case "GROUP_CHANGE_ICON": case 22: message.messageStubType = 22; break; case "GROUP_CHANGE_INVITE_LINK": case 23: message.messageStubType = 23; break; case "GROUP_CHANGE_DESCRIPTION": case 24: message.messageStubType = 24; break; case "GROUP_CHANGE_RESTRICT": case 25: message.messageStubType = 25; break; case "GROUP_CHANGE_ANNOUNCE": case 26: message.messageStubType = 26; break; case "GROUP_PARTICIPANT_ADD": case 27: message.messageStubType = 27; break; case "GROUP_PARTICIPANT_REMOVE": case 28: message.messageStubType = 28; break; case "GROUP_PARTICIPANT_PROMOTE": case 29: message.messageStubType = 29; break; case "GROUP_PARTICIPANT_DEMOTE": case 30: message.messageStubType = 30; break; case "GROUP_PARTICIPANT_INVITE": case 31: message.messageStubType = 31; break; case "GROUP_PARTICIPANT_LEAVE": case 32: message.messageStubType = 32; break; case "GROUP_PARTICIPANT_CHANGE_NUMBER": case 33: message.messageStubType = 33; break; case "BROADCAST_CREATE": case 34: message.messageStubType = 34; break; case "BROADCAST_ADD": case 35: message.messageStubType = 35; break; case "BROADCAST_REMOVE": case 36: message.messageStubType = 36; break; case "GENERIC_NOTIFICATION": case 37: message.messageStubType = 37; break; case "E2E_IDENTITY_CHANGED": case 38: message.messageStubType = 38; break; case "E2E_ENCRYPTED": case 39: message.messageStubType = 39; break; case "CALL_MISSED_VOICE": case 40: message.messageStubType = 40; break; case "CALL_MISSED_VIDEO": case 41: message.messageStubType = 41; break; case "INDIVIDUAL_CHANGE_NUMBER": case 42: message.messageStubType = 42; break; case "GROUP_DELETE": case 43: message.messageStubType = 43; break; case "GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE": case 44: message.messageStubType = 44; break; case "CALL_MISSED_GROUP_VOICE": case 45: message.messageStubType = 45; break; case "CALL_MISSED_GROUP_VIDEO": case 46: message.messageStubType = 46; break; case "PAYMENT_CIPHERTEXT": case 47: message.messageStubType = 47; break; case "PAYMENT_FUTUREPROOF": case 48: message.messageStubType = 48; break; case "PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED": case 49: message.messageStubType = 49; break; case "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED": case 50: message.messageStubType = 50; break; case "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED": case 51: message.messageStubType = 51; break; case "PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP": case 52: message.messageStubType = 52; break; case "PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP": case 53: message.messageStubType = 53; break; case "PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER": case 54: message.messageStubType = 54; break; case "PAYMENT_ACTION_SEND_PAYMENT_REMINDER": case 55: message.messageStubType = 55; break; case "PAYMENT_ACTION_SEND_PAYMENT_INVITATION": case 56: message.messageStubType = 56; break; case "PAYMENT_ACTION_REQUEST_DECLINED": case 57: message.messageStubType = 57; break; case "PAYMENT_ACTION_REQUEST_EXPIRED": case 58: message.messageStubType = 58; break; case "PAYMENT_ACTION_REQUEST_CANCELLED": case 59: message.messageStubType = 59; break; case "BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM": case 60: message.messageStubType = 60; break; case "BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP": case 61: message.messageStubType = 61; break; case "BIZ_INTRO_TOP": case 62: message.messageStubType = 62; break; case "BIZ_INTRO_BOTTOM": case 63: message.messageStubType = 63; break; case "BIZ_NAME_CHANGE": case 64: message.messageStubType = 64; break; case "BIZ_MOVE_TO_CONSUMER_APP": case 65: message.messageStubType = 65; break; case "BIZ_TWO_TIER_MIGRATION_TOP": case 66: message.messageStubType = 66; break; case "BIZ_TWO_TIER_MIGRATION_BOTTOM": case 67: message.messageStubType = 67; break; case "OVERSIZED": case 68: message.messageStubType = 68; break; case "GROUP_CHANGE_NO_FREQUENTLY_FORWARDED": case 69: message.messageStubType = 69; break; case "GROUP_V4_ADD_INVITE_SENT": case 70: message.messageStubType = 70; break; case "GROUP_PARTICIPANT_ADD_REQUEST_JOIN": case 71: message.messageStubType = 71; break; case "CHANGE_EPHEMERAL_SETTING": case 72: message.messageStubType = 72; break; case "E2E_DEVICE_CHANGED": case 73: message.messageStubType = 73; break; case "VIEWED_ONCE": case 74: message.messageStubType = 74; break; case "E2E_ENCRYPTED_NOW": case 75: message.messageStubType = 75; break; case "BLUE_MSG_BSP_FB_TO_BSP_PREMISE": case 76: message.messageStubType = 76; break; case "BLUE_MSG_BSP_FB_TO_SELF_FB": case 77: message.messageStubType = 77; break; case "BLUE_MSG_BSP_FB_TO_SELF_PREMISE": case 78: message.messageStubType = 78; break; case "BLUE_MSG_BSP_FB_UNVERIFIED": case 79: message.messageStubType = 79; break; case "BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED": case 80: message.messageStubType = 80; break; case "BLUE_MSG_BSP_FB_VERIFIED": case 81: message.messageStubType = 81; break; case "BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED": case 82: message.messageStubType = 82; break; case "BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE": case 83: message.messageStubType = 83; break; case "BLUE_MSG_BSP_PREMISE_UNVERIFIED": case 84: message.messageStubType = 84; break; case "BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED": case 85: message.messageStubType = 85; break; case "BLUE_MSG_BSP_PREMISE_VERIFIED": case 86: message.messageStubType = 86; break; case "BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED": case 87: message.messageStubType = 87; break; case "BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED": case 88: message.messageStubType = 88; break; case "BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED": case 89: message.messageStubType = 89; break; case "BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED": case 90: message.messageStubType = 90; break; case "BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED": case 91: message.messageStubType = 91; break; case "BLUE_MSG_SELF_FB_TO_BSP_PREMISE": case 92: message.messageStubType = 92; break; case "BLUE_MSG_SELF_FB_TO_SELF_PREMISE": case 93: message.messageStubType = 93; break; case "BLUE_MSG_SELF_FB_UNVERIFIED": case 94: message.messageStubType = 94; break; case "BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED": case 95: message.messageStubType = 95; break; case "BLUE_MSG_SELF_FB_VERIFIED": case 96: message.messageStubType = 96; break; case "BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED": case 97: message.messageStubType = 97; break; case "BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE": case 98: message.messageStubType = 98; break; case "BLUE_MSG_SELF_PREMISE_UNVERIFIED": case 99: message.messageStubType = 99; break; case "BLUE_MSG_SELF_PREMISE_VERIFIED": case 100: message.messageStubType = 100; break; case "BLUE_MSG_TO_BSP_FB": case 101: message.messageStubType = 101; break; case "BLUE_MSG_TO_CONSUMER": case 102: message.messageStubType = 102; break; case "BLUE_MSG_TO_SELF_FB": case 103: message.messageStubType = 103; break; case "BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED": case 104: message.messageStubType = 104; break; case "BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED": case 105: message.messageStubType = 105; break; case "BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED": case 106: message.messageStubType = 106; break; case "BLUE_MSG_UNVERIFIED_TO_VERIFIED": case 107: message.messageStubType = 107; break; case "BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED": case 108: message.messageStubType = 108; break; case "BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED": case 109: message.messageStubType = 109; break; case "BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED": case 110: message.messageStubType = 110; break; case "BLUE_MSG_VERIFIED_TO_UNVERIFIED": case 111: message.messageStubType = 111; break; case "BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED": case 112: message.messageStubType = 112; break; case "BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED": case 113: message.messageStubType = 113; break; case "BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED": case 114: message.messageStubType = 114; break; case "BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED": case 115: message.messageStubType = 115; break; case "BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED": case 116: message.messageStubType = 116; break; case "BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED": case 117: message.messageStubType = 117; break; case "E2E_IDENTITY_UNAVAILABLE": case 118: message.messageStubType = 118; break; } if (object.clearMedia != null) message.clearMedia = Boolean(object.clearMedia); if (object.messageStubParameters) { if (!Array.isArray(object.messageStubParameters)) throw TypeError(".proto.WebMessageInfo.messageStubParameters: array expected"); message.messageStubParameters = []; for (var i = 0; i < object.messageStubParameters.length; ++i) message.messageStubParameters[i] = String(object.messageStubParameters[i]); } if (object.duration != null) message.duration = object.duration >>> 0; if (object.labels) { if (!Array.isArray(object.labels)) throw TypeError(".proto.WebMessageInfo.labels: array expected"); message.labels = []; for (var i = 0; i < object.labels.length; ++i) message.labels[i] = String(object.labels[i]); } if (object.paymentInfo != null) { if (typeof object.paymentInfo !== "object") throw TypeError(".proto.WebMessageInfo.paymentInfo: object expected"); message.paymentInfo = $root.proto.PaymentInfo.fromObject(object.paymentInfo); } if (object.finalLiveLocation != null) { if (typeof object.finalLiveLocation !== "object") throw TypeError(".proto.WebMessageInfo.finalLiveLocation: object expected"); message.finalLiveLocation = $root.proto.LiveLocationMessage.fromObject(object.finalLiveLocation); } if (object.quotedPaymentInfo != null) { if (typeof object.quotedPaymentInfo !== "object") throw TypeError(".proto.WebMessageInfo.quotedPaymentInfo: object expected"); message.quotedPaymentInfo = $root.proto.PaymentInfo.fromObject(object.quotedPaymentInfo); } if (object.ephemeralStartTimestamp != null) if ($util.Long) (message.ephemeralStartTimestamp = $util.Long.fromValue(object.ephemeralStartTimestamp)).unsigned = true; else if (typeof object.ephemeralStartTimestamp === "string") message.ephemeralStartTimestamp = parseInt(object.ephemeralStartTimestamp, 10); else if (typeof object.ephemeralStartTimestamp === "number") message.ephemeralStartTimestamp = object.ephemeralStartTimestamp; else if (typeof object.ephemeralStartTimestamp === "object") message.ephemeralStartTimestamp = new $util.LongBits(object.ephemeralStartTimestamp.low >>> 0, object.ephemeralStartTimestamp.high >>> 0).toNumber(true); if (object.ephemeralDuration != null) message.ephemeralDuration = object.ephemeralDuration >>> 0; if (object.ephemeralOffToOn != null) message.ephemeralOffToOn = Boolean(object.ephemeralOffToOn); if (object.ephemeralOutOfSync != null) message.ephemeralOutOfSync = Boolean(object.ephemeralOutOfSync); switch (object.bizPrivacyStatus) { case "E2EE": case 0: message.bizPrivacyStatus = 0; break; case "FB": case 2: message.bizPrivacyStatus = 2; break; case "BSP": case 1: message.bizPrivacyStatus = 1; break; case "BSP_AND_FB": case 3: message.bizPrivacyStatus = 3; break; } if (object.verifiedBizName != null) message.verifiedBizName = String(object.verifiedBizName); return message; }; /** * Creates a plain object from a WebMessageInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.WebMessageInfo * @static * @param {proto.WebMessageInfo} message WebMessageInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ WebMessageInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.messageStubParameters = []; object.labels = []; } if (options.defaults) { object.key = null; object.message = null; if ($util.Long) { var long = new $util.Long(0, 0, true); object.messageTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.messageTimestamp = options.longs === String ? "0" : 0; object.status = options.enums === String ? "ERROR" : 0; object.participant = ""; object.ignore = false; object.starred = false; object.broadcast = false; object.pushName = ""; if (options.bytes === String) object.mediaCiphertextSha256 = ""; else { object.mediaCiphertextSha256 = []; if (options.bytes !== Array) object.mediaCiphertextSha256 = $util.newBuffer(object.mediaCiphertextSha256); } object.multicast = false; object.urlText = false; object.urlNumber = false; object.messageStubType = options.enums === String ? "UNKNOWN" : 0; object.clearMedia = false; object.duration = 0; object.paymentInfo = null; object.finalLiveLocation = null; object.quotedPaymentInfo = null; if ($util.Long) { var long = new $util.Long(0, 0, true); object.ephemeralStartTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.ephemeralStartTimestamp = options.longs === String ? "0" : 0; object.ephemeralDuration = 0; object.ephemeralOffToOn = false; object.ephemeralOutOfSync = false; object.bizPrivacyStatus = options.enums === String ? "E2EE" : 0; object.verifiedBizName = ""; } if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); if (message.message != null && message.hasOwnProperty("message")) object.message = $root.proto.Message.toObject(message.message, options); if (message.messageTimestamp != null && message.hasOwnProperty("messageTimestamp")) if (typeof message.messageTimestamp === "number") object.messageTimestamp = options.longs === String ? String(message.messageTimestamp) : message.messageTimestamp; else object.messageTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.messageTimestamp) : options.longs === Number ? new $util.LongBits(message.messageTimestamp.low >>> 0, message.messageTimestamp.high >>> 0).toNumber(true) : message.messageTimestamp; if (message.status != null && message.hasOwnProperty("status")) object.status = options.enums === String ? $root.proto.WebMessageInfo.WebMessageInfoStatus[message.status] : message.status; if (message.participant != null && message.hasOwnProperty("participant")) object.participant = message.participant; if (message.ignore != null && message.hasOwnProperty("ignore")) object.ignore = message.ignore; if (message.starred != null && message.hasOwnProperty("starred")) object.starred = message.starred; if (message.broadcast != null && message.hasOwnProperty("broadcast")) object.broadcast = message.broadcast; if (message.pushName != null && message.hasOwnProperty("pushName")) object.pushName = message.pushName; if (message.mediaCiphertextSha256 != null && message.hasOwnProperty("mediaCiphertextSha256")) object.mediaCiphertextSha256 = options.bytes === String ? $util.base64.encode(message.mediaCiphertextSha256, 0, message.mediaCiphertextSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.mediaCiphertextSha256) : message.mediaCiphertextSha256; if (message.multicast != null && message.hasOwnProperty("multicast")) object.multicast = message.multicast; if (message.urlText != null && message.hasOwnProperty("urlText")) object.urlText = message.urlText; if (message.urlNumber != null && message.hasOwnProperty("urlNumber")) object.urlNumber = message.urlNumber; if (message.messageStubType != null && message.hasOwnProperty("messageStubType")) object.messageStubType = options.enums === String ? $root.proto.WebMessageInfo.WebMessageInfoStubType[message.messageStubType] : message.messageStubType; if (message.clearMedia != null && message.hasOwnProperty("clearMedia")) object.clearMedia = message.clearMedia; if (message.messageStubParameters && message.messageStubParameters.length) { object.messageStubParameters = []; for (var j = 0; j < message.messageStubParameters.length; ++j) object.messageStubParameters[j] = message.messageStubParameters[j]; } if (message.duration != null && message.hasOwnProperty("duration")) object.duration = message.duration; if (message.labels && message.labels.length) { object.labels = []; for (var j = 0; j < message.labels.length; ++j) object.labels[j] = message.labels[j]; } if (message.paymentInfo != null && message.hasOwnProperty("paymentInfo")) object.paymentInfo = $root.proto.PaymentInfo.toObject(message.paymentInfo, options); if (message.finalLiveLocation != null && message.hasOwnProperty("finalLiveLocation")) object.finalLiveLocation = $root.proto.LiveLocationMessage.toObject(message.finalLiveLocation, options); if (message.quotedPaymentInfo != null && message.hasOwnProperty("quotedPaymentInfo")) object.quotedPaymentInfo = $root.proto.PaymentInfo.toObject(message.quotedPaymentInfo, options); if (message.ephemeralStartTimestamp != null && message.hasOwnProperty("ephemeralStartTimestamp")) if (typeof message.ephemeralStartTimestamp === "number") object.ephemeralStartTimestamp = options.longs === String ? String(message.ephemeralStartTimestamp) : message.ephemeralStartTimestamp; else object.ephemeralStartTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.ephemeralStartTimestamp) : options.longs === Number ? new $util.LongBits(message.ephemeralStartTimestamp.low >>> 0, message.ephemeralStartTimestamp.high >>> 0).toNumber(true) : message.ephemeralStartTimestamp; if (message.ephemeralDuration != null && message.hasOwnProperty("ephemeralDuration")) object.ephemeralDuration = message.ephemeralDuration; if (message.ephemeralOffToOn != null && message.hasOwnProperty("ephemeralOffToOn")) object.ephemeralOffToOn = message.ephemeralOffToOn; if (message.ephemeralOutOfSync != null && message.hasOwnProperty("ephemeralOutOfSync")) object.ephemeralOutOfSync = message.ephemeralOutOfSync; if (message.bizPrivacyStatus != null && message.hasOwnProperty("bizPrivacyStatus")) object.bizPrivacyStatus = options.enums === String ? $root.proto.WebMessageInfo.WebMessageInfoBizPrivacyStatus[message.bizPrivacyStatus] : message.bizPrivacyStatus; if (message.verifiedBizName != null && message.hasOwnProperty("verifiedBizName")) object.verifiedBizName = message.verifiedBizName; return object; }; /** * Converts this WebMessageInfo to JSON. * @function toJSON * @memberof proto.WebMessageInfo * @instance * @returns {Object.} JSON object */ WebMessageInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * WebMessageInfoStatus enum. * @name proto.WebMessageInfo.WebMessageInfoStatus * @enum {number} * @property {number} ERROR=0 ERROR value * @property {number} PENDING=1 PENDING value * @property {number} SERVER_ACK=2 SERVER_ACK value * @property {number} DELIVERY_ACK=3 DELIVERY_ACK value * @property {number} READ=4 READ value * @property {number} PLAYED=5 PLAYED value */ WebMessageInfo.WebMessageInfoStatus = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "ERROR"] = 0; values[valuesById[1] = "PENDING"] = 1; values[valuesById[2] = "SERVER_ACK"] = 2; values[valuesById[3] = "DELIVERY_ACK"] = 3; values[valuesById[4] = "READ"] = 4; values[valuesById[5] = "PLAYED"] = 5; return values; })(); /** * WebMessageInfoStubType enum. * @name proto.WebMessageInfo.WebMessageInfoStubType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} REVOKE=1 REVOKE value * @property {number} CIPHERTEXT=2 CIPHERTEXT value * @property {number} FUTUREPROOF=3 FUTUREPROOF value * @property {number} NON_VERIFIED_TRANSITION=4 NON_VERIFIED_TRANSITION value * @property {number} UNVERIFIED_TRANSITION=5 UNVERIFIED_TRANSITION value * @property {number} VERIFIED_TRANSITION=6 VERIFIED_TRANSITION value * @property {number} VERIFIED_LOW_UNKNOWN=7 VERIFIED_LOW_UNKNOWN value * @property {number} VERIFIED_HIGH=8 VERIFIED_HIGH value * @property {number} VERIFIED_INITIAL_UNKNOWN=9 VERIFIED_INITIAL_UNKNOWN value * @property {number} VERIFIED_INITIAL_LOW=10 VERIFIED_INITIAL_LOW value * @property {number} VERIFIED_INITIAL_HIGH=11 VERIFIED_INITIAL_HIGH value * @property {number} VERIFIED_TRANSITION_ANY_TO_NONE=12 VERIFIED_TRANSITION_ANY_TO_NONE value * @property {number} VERIFIED_TRANSITION_ANY_TO_HIGH=13 VERIFIED_TRANSITION_ANY_TO_HIGH value * @property {number} VERIFIED_TRANSITION_HIGH_TO_LOW=14 VERIFIED_TRANSITION_HIGH_TO_LOW value * @property {number} VERIFIED_TRANSITION_HIGH_TO_UNKNOWN=15 VERIFIED_TRANSITION_HIGH_TO_UNKNOWN value * @property {number} VERIFIED_TRANSITION_UNKNOWN_TO_LOW=16 VERIFIED_TRANSITION_UNKNOWN_TO_LOW value * @property {number} VERIFIED_TRANSITION_LOW_TO_UNKNOWN=17 VERIFIED_TRANSITION_LOW_TO_UNKNOWN value * @property {number} VERIFIED_TRANSITION_NONE_TO_LOW=18 VERIFIED_TRANSITION_NONE_TO_LOW value * @property {number} VERIFIED_TRANSITION_NONE_TO_UNKNOWN=19 VERIFIED_TRANSITION_NONE_TO_UNKNOWN value * @property {number} GROUP_CREATE=20 GROUP_CREATE value * @property {number} GROUP_CHANGE_SUBJECT=21 GROUP_CHANGE_SUBJECT value * @property {number} GROUP_CHANGE_ICON=22 GROUP_CHANGE_ICON value * @property {number} GROUP_CHANGE_INVITE_LINK=23 GROUP_CHANGE_INVITE_LINK value * @property {number} GROUP_CHANGE_DESCRIPTION=24 GROUP_CHANGE_DESCRIPTION value * @property {number} GROUP_CHANGE_RESTRICT=25 GROUP_CHANGE_RESTRICT value * @property {number} GROUP_CHANGE_ANNOUNCE=26 GROUP_CHANGE_ANNOUNCE value * @property {number} GROUP_PARTICIPANT_ADD=27 GROUP_PARTICIPANT_ADD value * @property {number} GROUP_PARTICIPANT_REMOVE=28 GROUP_PARTICIPANT_REMOVE value * @property {number} GROUP_PARTICIPANT_PROMOTE=29 GROUP_PARTICIPANT_PROMOTE value * @property {number} GROUP_PARTICIPANT_DEMOTE=30 GROUP_PARTICIPANT_DEMOTE value * @property {number} GROUP_PARTICIPANT_INVITE=31 GROUP_PARTICIPANT_INVITE value * @property {number} GROUP_PARTICIPANT_LEAVE=32 GROUP_PARTICIPANT_LEAVE value * @property {number} GROUP_PARTICIPANT_CHANGE_NUMBER=33 GROUP_PARTICIPANT_CHANGE_NUMBER value * @property {number} BROADCAST_CREATE=34 BROADCAST_CREATE value * @property {number} BROADCAST_ADD=35 BROADCAST_ADD value * @property {number} BROADCAST_REMOVE=36 BROADCAST_REMOVE value * @property {number} GENERIC_NOTIFICATION=37 GENERIC_NOTIFICATION value * @property {number} E2E_IDENTITY_CHANGED=38 E2E_IDENTITY_CHANGED value * @property {number} E2E_ENCRYPTED=39 E2E_ENCRYPTED value * @property {number} CALL_MISSED_VOICE=40 CALL_MISSED_VOICE value * @property {number} CALL_MISSED_VIDEO=41 CALL_MISSED_VIDEO value * @property {number} INDIVIDUAL_CHANGE_NUMBER=42 INDIVIDUAL_CHANGE_NUMBER value * @property {number} GROUP_DELETE=43 GROUP_DELETE value * @property {number} GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE=44 GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE value * @property {number} CALL_MISSED_GROUP_VOICE=45 CALL_MISSED_GROUP_VOICE value * @property {number} CALL_MISSED_GROUP_VIDEO=46 CALL_MISSED_GROUP_VIDEO value * @property {number} PAYMENT_CIPHERTEXT=47 PAYMENT_CIPHERTEXT value * @property {number} PAYMENT_FUTUREPROOF=48 PAYMENT_FUTUREPROOF value * @property {number} PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED=49 PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED value * @property {number} PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED=50 PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED value * @property {number} PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED=51 PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED value * @property {number} PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP=52 PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP value * @property {number} PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP=53 PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP value * @property {number} PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER=54 PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER value * @property {number} PAYMENT_ACTION_SEND_PAYMENT_REMINDER=55 PAYMENT_ACTION_SEND_PAYMENT_REMINDER value * @property {number} PAYMENT_ACTION_SEND_PAYMENT_INVITATION=56 PAYMENT_ACTION_SEND_PAYMENT_INVITATION value * @property {number} PAYMENT_ACTION_REQUEST_DECLINED=57 PAYMENT_ACTION_REQUEST_DECLINED value * @property {number} PAYMENT_ACTION_REQUEST_EXPIRED=58 PAYMENT_ACTION_REQUEST_EXPIRED value * @property {number} PAYMENT_ACTION_REQUEST_CANCELLED=59 PAYMENT_ACTION_REQUEST_CANCELLED value * @property {number} BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM=60 BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM value * @property {number} BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP=61 BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP value * @property {number} BIZ_INTRO_TOP=62 BIZ_INTRO_TOP value * @property {number} BIZ_INTRO_BOTTOM=63 BIZ_INTRO_BOTTOM value * @property {number} BIZ_NAME_CHANGE=64 BIZ_NAME_CHANGE value * @property {number} BIZ_MOVE_TO_CONSUMER_APP=65 BIZ_MOVE_TO_CONSUMER_APP value * @property {number} BIZ_TWO_TIER_MIGRATION_TOP=66 BIZ_TWO_TIER_MIGRATION_TOP value * @property {number} BIZ_TWO_TIER_MIGRATION_BOTTOM=67 BIZ_TWO_TIER_MIGRATION_BOTTOM value * @property {number} OVERSIZED=68 OVERSIZED value * @property {number} GROUP_CHANGE_NO_FREQUENTLY_FORWARDED=69 GROUP_CHANGE_NO_FREQUENTLY_FORWARDED value * @property {number} GROUP_V4_ADD_INVITE_SENT=70 GROUP_V4_ADD_INVITE_SENT value * @property {number} GROUP_PARTICIPANT_ADD_REQUEST_JOIN=71 GROUP_PARTICIPANT_ADD_REQUEST_JOIN value * @property {number} CHANGE_EPHEMERAL_SETTING=72 CHANGE_EPHEMERAL_SETTING value * @property {number} E2E_DEVICE_CHANGED=73 E2E_DEVICE_CHANGED value * @property {number} VIEWED_ONCE=74 VIEWED_ONCE value * @property {number} E2E_ENCRYPTED_NOW=75 E2E_ENCRYPTED_NOW value * @property {number} BLUE_MSG_BSP_FB_TO_BSP_PREMISE=76 BLUE_MSG_BSP_FB_TO_BSP_PREMISE value * @property {number} BLUE_MSG_BSP_FB_TO_SELF_FB=77 BLUE_MSG_BSP_FB_TO_SELF_FB value * @property {number} BLUE_MSG_BSP_FB_TO_SELF_PREMISE=78 BLUE_MSG_BSP_FB_TO_SELF_PREMISE value * @property {number} BLUE_MSG_BSP_FB_UNVERIFIED=79 BLUE_MSG_BSP_FB_UNVERIFIED value * @property {number} BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED=80 BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED value * @property {number} BLUE_MSG_BSP_FB_VERIFIED=81 BLUE_MSG_BSP_FB_VERIFIED value * @property {number} BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED=82 BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED value * @property {number} BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE=83 BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE value * @property {number} BLUE_MSG_BSP_PREMISE_UNVERIFIED=84 BLUE_MSG_BSP_PREMISE_UNVERIFIED value * @property {number} BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED=85 BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED value * @property {number} BLUE_MSG_BSP_PREMISE_VERIFIED=86 BLUE_MSG_BSP_PREMISE_VERIFIED value * @property {number} BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED=87 BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED value * @property {number} BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED=88 BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED value * @property {number} BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED=89 BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED value * @property {number} BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED=90 BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED value * @property {number} BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED=91 BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED value * @property {number} BLUE_MSG_SELF_FB_TO_BSP_PREMISE=92 BLUE_MSG_SELF_FB_TO_BSP_PREMISE value * @property {number} BLUE_MSG_SELF_FB_TO_SELF_PREMISE=93 BLUE_MSG_SELF_FB_TO_SELF_PREMISE value * @property {number} BLUE_MSG_SELF_FB_UNVERIFIED=94 BLUE_MSG_SELF_FB_UNVERIFIED value * @property {number} BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED=95 BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED value * @property {number} BLUE_MSG_SELF_FB_VERIFIED=96 BLUE_MSG_SELF_FB_VERIFIED value * @property {number} BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED=97 BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED value * @property {number} BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE=98 BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE value * @property {number} BLUE_MSG_SELF_PREMISE_UNVERIFIED=99 BLUE_MSG_SELF_PREMISE_UNVERIFIED value * @property {number} BLUE_MSG_SELF_PREMISE_VERIFIED=100 BLUE_MSG_SELF_PREMISE_VERIFIED value * @property {number} BLUE_MSG_TO_BSP_FB=101 BLUE_MSG_TO_BSP_FB value * @property {number} BLUE_MSG_TO_CONSUMER=102 BLUE_MSG_TO_CONSUMER value * @property {number} BLUE_MSG_TO_SELF_FB=103 BLUE_MSG_TO_SELF_FB value * @property {number} BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED=104 BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED value * @property {number} BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED=105 BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED value * @property {number} BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED=106 BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED value * @property {number} BLUE_MSG_UNVERIFIED_TO_VERIFIED=107 BLUE_MSG_UNVERIFIED_TO_VERIFIED value * @property {number} BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED=108 BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED value * @property {number} BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED=109 BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED value * @property {number} BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED=110 BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED value * @property {number} BLUE_MSG_VERIFIED_TO_UNVERIFIED=111 BLUE_MSG_VERIFIED_TO_UNVERIFIED value * @property {number} BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED=112 BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED value * @property {number} BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED=113 BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED value * @property {number} BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED=114 BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED value * @property {number} BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED=115 BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED value * @property {number} BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED=116 BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED value * @property {number} BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED=117 BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED value * @property {number} E2E_IDENTITY_UNAVAILABLE=118 E2E_IDENTITY_UNAVAILABLE value */ WebMessageInfo.WebMessageInfoStubType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "REVOKE"] = 1; values[valuesById[2] = "CIPHERTEXT"] = 2; values[valuesById[3] = "FUTUREPROOF"] = 3; values[valuesById[4] = "NON_VERIFIED_TRANSITION"] = 4; values[valuesById[5] = "UNVERIFIED_TRANSITION"] = 5; values[valuesById[6] = "VERIFIED_TRANSITION"] = 6; values[valuesById[7] = "VERIFIED_LOW_UNKNOWN"] = 7; values[valuesById[8] = "VERIFIED_HIGH"] = 8; values[valuesById[9] = "VERIFIED_INITIAL_UNKNOWN"] = 9; values[valuesById[10] = "VERIFIED_INITIAL_LOW"] = 10; values[valuesById[11] = "VERIFIED_INITIAL_HIGH"] = 11; values[valuesById[12] = "VERIFIED_TRANSITION_ANY_TO_NONE"] = 12; values[valuesById[13] = "VERIFIED_TRANSITION_ANY_TO_HIGH"] = 13; values[valuesById[14] = "VERIFIED_TRANSITION_HIGH_TO_LOW"] = 14; values[valuesById[15] = "VERIFIED_TRANSITION_HIGH_TO_UNKNOWN"] = 15; values[valuesById[16] = "VERIFIED_TRANSITION_UNKNOWN_TO_LOW"] = 16; values[valuesById[17] = "VERIFIED_TRANSITION_LOW_TO_UNKNOWN"] = 17; values[valuesById[18] = "VERIFIED_TRANSITION_NONE_TO_LOW"] = 18; values[valuesById[19] = "VERIFIED_TRANSITION_NONE_TO_UNKNOWN"] = 19; values[valuesById[20] = "GROUP_CREATE"] = 20; values[valuesById[21] = "GROUP_CHANGE_SUBJECT"] = 21; values[valuesById[22] = "GROUP_CHANGE_ICON"] = 22; values[valuesById[23] = "GROUP_CHANGE_INVITE_LINK"] = 23; values[valuesById[24] = "GROUP_CHANGE_DESCRIPTION"] = 24; values[valuesById[25] = "GROUP_CHANGE_RESTRICT"] = 25; values[valuesById[26] = "GROUP_CHANGE_ANNOUNCE"] = 26; values[valuesById[27] = "GROUP_PARTICIPANT_ADD"] = 27; values[valuesById[28] = "GROUP_PARTICIPANT_REMOVE"] = 28; values[valuesById[29] = "GROUP_PARTICIPANT_PROMOTE"] = 29; values[valuesById[30] = "GROUP_PARTICIPANT_DEMOTE"] = 30; values[valuesById[31] = "GROUP_PARTICIPANT_INVITE"] = 31; values[valuesById[32] = "GROUP_PARTICIPANT_LEAVE"] = 32; values[valuesById[33] = "GROUP_PARTICIPANT_CHANGE_NUMBER"] = 33; values[valuesById[34] = "BROADCAST_CREATE"] = 34; values[valuesById[35] = "BROADCAST_ADD"] = 35; values[valuesById[36] = "BROADCAST_REMOVE"] = 36; values[valuesById[37] = "GENERIC_NOTIFICATION"] = 37; values[valuesById[38] = "E2E_IDENTITY_CHANGED"] = 38; values[valuesById[39] = "E2E_ENCRYPTED"] = 39; values[valuesById[40] = "CALL_MISSED_VOICE"] = 40; values[valuesById[41] = "CALL_MISSED_VIDEO"] = 41; values[valuesById[42] = "INDIVIDUAL_CHANGE_NUMBER"] = 42; values[valuesById[43] = "GROUP_DELETE"] = 43; values[valuesById[44] = "GROUP_ANNOUNCE_MODE_MESSAGE_BOUNCE"] = 44; values[valuesById[45] = "CALL_MISSED_GROUP_VOICE"] = 45; values[valuesById[46] = "CALL_MISSED_GROUP_VIDEO"] = 46; values[valuesById[47] = "PAYMENT_CIPHERTEXT"] = 47; values[valuesById[48] = "PAYMENT_FUTUREPROOF"] = 48; values[valuesById[49] = "PAYMENT_TRANSACTION_STATUS_UPDATE_FAILED"] = 49; values[valuesById[50] = "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUNDED"] = 50; values[valuesById[51] = "PAYMENT_TRANSACTION_STATUS_UPDATE_REFUND_FAILED"] = 51; values[valuesById[52] = "PAYMENT_TRANSACTION_STATUS_RECEIVER_PENDING_SETUP"] = 52; values[valuesById[53] = "PAYMENT_TRANSACTION_STATUS_RECEIVER_SUCCESS_AFTER_HICCUP"] = 53; values[valuesById[54] = "PAYMENT_ACTION_ACCOUNT_SETUP_REMINDER"] = 54; values[valuesById[55] = "PAYMENT_ACTION_SEND_PAYMENT_REMINDER"] = 55; values[valuesById[56] = "PAYMENT_ACTION_SEND_PAYMENT_INVITATION"] = 56; values[valuesById[57] = "PAYMENT_ACTION_REQUEST_DECLINED"] = 57; values[valuesById[58] = "PAYMENT_ACTION_REQUEST_EXPIRED"] = 58; values[valuesById[59] = "PAYMENT_ACTION_REQUEST_CANCELLED"] = 59; values[valuesById[60] = "BIZ_VERIFIED_TRANSITION_TOP_TO_BOTTOM"] = 60; values[valuesById[61] = "BIZ_VERIFIED_TRANSITION_BOTTOM_TO_TOP"] = 61; values[valuesById[62] = "BIZ_INTRO_TOP"] = 62; values[valuesById[63] = "BIZ_INTRO_BOTTOM"] = 63; values[valuesById[64] = "BIZ_NAME_CHANGE"] = 64; values[valuesById[65] = "BIZ_MOVE_TO_CONSUMER_APP"] = 65; values[valuesById[66] = "BIZ_TWO_TIER_MIGRATION_TOP"] = 66; values[valuesById[67] = "BIZ_TWO_TIER_MIGRATION_BOTTOM"] = 67; values[valuesById[68] = "OVERSIZED"] = 68; values[valuesById[69] = "GROUP_CHANGE_NO_FREQUENTLY_FORWARDED"] = 69; values[valuesById[70] = "GROUP_V4_ADD_INVITE_SENT"] = 70; values[valuesById[71] = "GROUP_PARTICIPANT_ADD_REQUEST_JOIN"] = 71; values[valuesById[72] = "CHANGE_EPHEMERAL_SETTING"] = 72; values[valuesById[73] = "E2E_DEVICE_CHANGED"] = 73; values[valuesById[74] = "VIEWED_ONCE"] = 74; values[valuesById[75] = "E2E_ENCRYPTED_NOW"] = 75; values[valuesById[76] = "BLUE_MSG_BSP_FB_TO_BSP_PREMISE"] = 76; values[valuesById[77] = "BLUE_MSG_BSP_FB_TO_SELF_FB"] = 77; values[valuesById[78] = "BLUE_MSG_BSP_FB_TO_SELF_PREMISE"] = 78; values[valuesById[79] = "BLUE_MSG_BSP_FB_UNVERIFIED"] = 79; values[valuesById[80] = "BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED"] = 80; values[valuesById[81] = "BLUE_MSG_BSP_FB_VERIFIED"] = 81; values[valuesById[82] = "BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED"] = 82; values[valuesById[83] = "BLUE_MSG_BSP_PREMISE_TO_SELF_PREMISE"] = 83; values[valuesById[84] = "BLUE_MSG_BSP_PREMISE_UNVERIFIED"] = 84; values[valuesById[85] = "BLUE_MSG_BSP_PREMISE_UNVERIFIED_TO_SELF_PREMISE_VERIFIED"] = 85; values[valuesById[86] = "BLUE_MSG_BSP_PREMISE_VERIFIED"] = 86; values[valuesById[87] = "BLUE_MSG_BSP_PREMISE_VERIFIED_TO_SELF_PREMISE_UNVERIFIED"] = 87; values[valuesById[88] = "BLUE_MSG_CONSUMER_TO_BSP_FB_UNVERIFIED"] = 88; values[valuesById[89] = "BLUE_MSG_CONSUMER_TO_BSP_PREMISE_UNVERIFIED"] = 89; values[valuesById[90] = "BLUE_MSG_CONSUMER_TO_SELF_FB_UNVERIFIED"] = 90; values[valuesById[91] = "BLUE_MSG_CONSUMER_TO_SELF_PREMISE_UNVERIFIED"] = 91; values[valuesById[92] = "BLUE_MSG_SELF_FB_TO_BSP_PREMISE"] = 92; values[valuesById[93] = "BLUE_MSG_SELF_FB_TO_SELF_PREMISE"] = 93; values[valuesById[94] = "BLUE_MSG_SELF_FB_UNVERIFIED"] = 94; values[valuesById[95] = "BLUE_MSG_SELF_FB_UNVERIFIED_TO_SELF_PREMISE_VERIFIED"] = 95; values[valuesById[96] = "BLUE_MSG_SELF_FB_VERIFIED"] = 96; values[valuesById[97] = "BLUE_MSG_SELF_FB_VERIFIED_TO_SELF_PREMISE_UNVERIFIED"] = 97; values[valuesById[98] = "BLUE_MSG_SELF_PREMISE_TO_BSP_PREMISE"] = 98; values[valuesById[99] = "BLUE_MSG_SELF_PREMISE_UNVERIFIED"] = 99; values[valuesById[100] = "BLUE_MSG_SELF_PREMISE_VERIFIED"] = 100; values[valuesById[101] = "BLUE_MSG_TO_BSP_FB"] = 101; values[valuesById[102] = "BLUE_MSG_TO_CONSUMER"] = 102; values[valuesById[103] = "BLUE_MSG_TO_SELF_FB"] = 103; values[valuesById[104] = "BLUE_MSG_UNVERIFIED_TO_BSP_FB_VERIFIED"] = 104; values[valuesById[105] = "BLUE_MSG_UNVERIFIED_TO_BSP_PREMISE_VERIFIED"] = 105; values[valuesById[106] = "BLUE_MSG_UNVERIFIED_TO_SELF_FB_VERIFIED"] = 106; values[valuesById[107] = "BLUE_MSG_UNVERIFIED_TO_VERIFIED"] = 107; values[valuesById[108] = "BLUE_MSG_VERIFIED_TO_BSP_FB_UNVERIFIED"] = 108; values[valuesById[109] = "BLUE_MSG_VERIFIED_TO_BSP_PREMISE_UNVERIFIED"] = 109; values[valuesById[110] = "BLUE_MSG_VERIFIED_TO_SELF_FB_UNVERIFIED"] = 110; values[valuesById[111] = "BLUE_MSG_VERIFIED_TO_UNVERIFIED"] = 111; values[valuesById[112] = "BLUE_MSG_BSP_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED"] = 112; values[valuesById[113] = "BLUE_MSG_BSP_FB_UNVERIFIED_TO_SELF_FB_VERIFIED"] = 113; values[valuesById[114] = "BLUE_MSG_BSP_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED"] = 114; values[valuesById[115] = "BLUE_MSG_BSP_FB_VERIFIED_TO_SELF_FB_UNVERIFIED"] = 115; values[valuesById[116] = "BLUE_MSG_SELF_FB_UNVERIFIED_TO_BSP_PREMISE_VERIFIED"] = 116; values[valuesById[117] = "BLUE_MSG_SELF_FB_VERIFIED_TO_BSP_PREMISE_UNVERIFIED"] = 117; values[valuesById[118] = "E2E_IDENTITY_UNAVAILABLE"] = 118; return values; })(); /** * WebMessageInfoBizPrivacyStatus enum. * @name proto.WebMessageInfo.WebMessageInfoBizPrivacyStatus * @enum {number} * @property {number} E2EE=0 E2EE value * @property {number} FB=2 FB value * @property {number} BSP=1 BSP value * @property {number} BSP_AND_FB=3 BSP_AND_FB value */ WebMessageInfo.WebMessageInfoBizPrivacyStatus = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "E2EE"] = 0; values[valuesById[2] = "FB"] = 2; values[valuesById[1] = "BSP"] = 1; values[valuesById[3] = "BSP_AND_FB"] = 3; return values; })(); return WebMessageInfo; })(); proto.HydratedQuickReplyButton = (function() { /** * Properties of a HydratedQuickReplyButton. * @memberof proto * @interface IHydratedQuickReplyButton * @property {string|null} [displayText] HydratedQuickReplyButton displayText * @property {string|null} [id] HydratedQuickReplyButton id */ /** * Constructs a new HydratedQuickReplyButton. * @memberof proto * @classdesc Represents a HydratedQuickReplyButton. * @implements IHydratedQuickReplyButton * @constructor * @param {proto.IHydratedQuickReplyButton=} [properties] Properties to set */ function HydratedQuickReplyButton(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HydratedQuickReplyButton displayText. * @member {string} displayText * @memberof proto.HydratedQuickReplyButton * @instance */ HydratedQuickReplyButton.prototype.displayText = ""; /** * HydratedQuickReplyButton id. * @member {string} id * @memberof proto.HydratedQuickReplyButton * @instance */ HydratedQuickReplyButton.prototype.id = ""; /** * Creates a new HydratedQuickReplyButton instance using the specified properties. * @function create * @memberof proto.HydratedQuickReplyButton * @static * @param {proto.IHydratedQuickReplyButton=} [properties] Properties to set * @returns {proto.HydratedQuickReplyButton} HydratedQuickReplyButton instance */ HydratedQuickReplyButton.create = function create(properties) { return new HydratedQuickReplyButton(properties); }; /** * Encodes the specified HydratedQuickReplyButton message. Does not implicitly {@link proto.HydratedQuickReplyButton.verify|verify} messages. * @function encode * @memberof proto.HydratedQuickReplyButton * @static * @param {proto.IHydratedQuickReplyButton} message HydratedQuickReplyButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HydratedQuickReplyButton.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.displayText != null && Object.hasOwnProperty.call(message, "displayText")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.displayText); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.id); return writer; }; /** * Encodes the specified HydratedQuickReplyButton message, length delimited. Does not implicitly {@link proto.HydratedQuickReplyButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.HydratedQuickReplyButton * @static * @param {proto.IHydratedQuickReplyButton} message HydratedQuickReplyButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HydratedQuickReplyButton.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HydratedQuickReplyButton message from the specified reader or buffer. * @function decode * @memberof proto.HydratedQuickReplyButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HydratedQuickReplyButton} HydratedQuickReplyButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HydratedQuickReplyButton.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HydratedQuickReplyButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayText = reader.string(); break; case 2: message.id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HydratedQuickReplyButton message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HydratedQuickReplyButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HydratedQuickReplyButton} HydratedQuickReplyButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HydratedQuickReplyButton.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HydratedQuickReplyButton message. * @function verify * @memberof proto.HydratedQuickReplyButton * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HydratedQuickReplyButton.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.displayText != null && message.hasOwnProperty("displayText")) if (!$util.isString(message.displayText)) return "displayText: string expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; return null; }; /** * Creates a HydratedQuickReplyButton message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HydratedQuickReplyButton * @static * @param {Object.} object Plain object * @returns {proto.HydratedQuickReplyButton} HydratedQuickReplyButton */ HydratedQuickReplyButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.HydratedQuickReplyButton) return object; var message = new $root.proto.HydratedQuickReplyButton(); if (object.displayText != null) message.displayText = String(object.displayText); if (object.id != null) message.id = String(object.id); return message; }; /** * Creates a plain object from a HydratedQuickReplyButton message. Also converts values to other types if specified. * @function toObject * @memberof proto.HydratedQuickReplyButton * @static * @param {proto.HydratedQuickReplyButton} message HydratedQuickReplyButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HydratedQuickReplyButton.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.displayText = ""; object.id = ""; } if (message.displayText != null && message.hasOwnProperty("displayText")) object.displayText = message.displayText; if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; return object; }; /** * Converts this HydratedQuickReplyButton to JSON. * @function toJSON * @memberof proto.HydratedQuickReplyButton * @instance * @returns {Object.} JSON object */ HydratedQuickReplyButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HydratedQuickReplyButton; })(); proto.HydratedURLButton = (function() { /** * Properties of a HydratedURLButton. * @memberof proto * @interface IHydratedURLButton * @property {string|null} [displayText] HydratedURLButton displayText * @property {string|null} [url] HydratedURLButton url */ /** * Constructs a new HydratedURLButton. * @memberof proto * @classdesc Represents a HydratedURLButton. * @implements IHydratedURLButton * @constructor * @param {proto.IHydratedURLButton=} [properties] Properties to set */ function HydratedURLButton(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HydratedURLButton displayText. * @member {string} displayText * @memberof proto.HydratedURLButton * @instance */ HydratedURLButton.prototype.displayText = ""; /** * HydratedURLButton url. * @member {string} url * @memberof proto.HydratedURLButton * @instance */ HydratedURLButton.prototype.url = ""; /** * Creates a new HydratedURLButton instance using the specified properties. * @function create * @memberof proto.HydratedURLButton * @static * @param {proto.IHydratedURLButton=} [properties] Properties to set * @returns {proto.HydratedURLButton} HydratedURLButton instance */ HydratedURLButton.create = function create(properties) { return new HydratedURLButton(properties); }; /** * Encodes the specified HydratedURLButton message. Does not implicitly {@link proto.HydratedURLButton.verify|verify} messages. * @function encode * @memberof proto.HydratedURLButton * @static * @param {proto.IHydratedURLButton} message HydratedURLButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HydratedURLButton.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.displayText != null && Object.hasOwnProperty.call(message, "displayText")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.displayText); if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.url); return writer; }; /** * Encodes the specified HydratedURLButton message, length delimited. Does not implicitly {@link proto.HydratedURLButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.HydratedURLButton * @static * @param {proto.IHydratedURLButton} message HydratedURLButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HydratedURLButton.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HydratedURLButton message from the specified reader or buffer. * @function decode * @memberof proto.HydratedURLButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HydratedURLButton} HydratedURLButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HydratedURLButton.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HydratedURLButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayText = reader.string(); break; case 2: message.url = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HydratedURLButton message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HydratedURLButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HydratedURLButton} HydratedURLButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HydratedURLButton.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HydratedURLButton message. * @function verify * @memberof proto.HydratedURLButton * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HydratedURLButton.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.displayText != null && message.hasOwnProperty("displayText")) if (!$util.isString(message.displayText)) return "displayText: string expected"; if (message.url != null && message.hasOwnProperty("url")) if (!$util.isString(message.url)) return "url: string expected"; return null; }; /** * Creates a HydratedURLButton message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HydratedURLButton * @static * @param {Object.} object Plain object * @returns {proto.HydratedURLButton} HydratedURLButton */ HydratedURLButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.HydratedURLButton) return object; var message = new $root.proto.HydratedURLButton(); if (object.displayText != null) message.displayText = String(object.displayText); if (object.url != null) message.url = String(object.url); return message; }; /** * Creates a plain object from a HydratedURLButton message. Also converts values to other types if specified. * @function toObject * @memberof proto.HydratedURLButton * @static * @param {proto.HydratedURLButton} message HydratedURLButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HydratedURLButton.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.displayText = ""; object.url = ""; } if (message.displayText != null && message.hasOwnProperty("displayText")) object.displayText = message.displayText; if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; return object; }; /** * Converts this HydratedURLButton to JSON. * @function toJSON * @memberof proto.HydratedURLButton * @instance * @returns {Object.} JSON object */ HydratedURLButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HydratedURLButton; })(); proto.HydratedCallButton = (function() { /** * Properties of a HydratedCallButton. * @memberof proto * @interface IHydratedCallButton * @property {string|null} [displayText] HydratedCallButton displayText * @property {string|null} [phoneNumber] HydratedCallButton phoneNumber */ /** * Constructs a new HydratedCallButton. * @memberof proto * @classdesc Represents a HydratedCallButton. * @implements IHydratedCallButton * @constructor * @param {proto.IHydratedCallButton=} [properties] Properties to set */ function HydratedCallButton(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HydratedCallButton displayText. * @member {string} displayText * @memberof proto.HydratedCallButton * @instance */ HydratedCallButton.prototype.displayText = ""; /** * HydratedCallButton phoneNumber. * @member {string} phoneNumber * @memberof proto.HydratedCallButton * @instance */ HydratedCallButton.prototype.phoneNumber = ""; /** * Creates a new HydratedCallButton instance using the specified properties. * @function create * @memberof proto.HydratedCallButton * @static * @param {proto.IHydratedCallButton=} [properties] Properties to set * @returns {proto.HydratedCallButton} HydratedCallButton instance */ HydratedCallButton.create = function create(properties) { return new HydratedCallButton(properties); }; /** * Encodes the specified HydratedCallButton message. Does not implicitly {@link proto.HydratedCallButton.verify|verify} messages. * @function encode * @memberof proto.HydratedCallButton * @static * @param {proto.IHydratedCallButton} message HydratedCallButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HydratedCallButton.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.displayText != null && Object.hasOwnProperty.call(message, "displayText")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.displayText); if (message.phoneNumber != null && Object.hasOwnProperty.call(message, "phoneNumber")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.phoneNumber); return writer; }; /** * Encodes the specified HydratedCallButton message, length delimited. Does not implicitly {@link proto.HydratedCallButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.HydratedCallButton * @static * @param {proto.IHydratedCallButton} message HydratedCallButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HydratedCallButton.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HydratedCallButton message from the specified reader or buffer. * @function decode * @memberof proto.HydratedCallButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HydratedCallButton} HydratedCallButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HydratedCallButton.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HydratedCallButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayText = reader.string(); break; case 2: message.phoneNumber = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HydratedCallButton message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HydratedCallButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HydratedCallButton} HydratedCallButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HydratedCallButton.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HydratedCallButton message. * @function verify * @memberof proto.HydratedCallButton * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HydratedCallButton.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.displayText != null && message.hasOwnProperty("displayText")) if (!$util.isString(message.displayText)) return "displayText: string expected"; if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) if (!$util.isString(message.phoneNumber)) return "phoneNumber: string expected"; return null; }; /** * Creates a HydratedCallButton message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HydratedCallButton * @static * @param {Object.} object Plain object * @returns {proto.HydratedCallButton} HydratedCallButton */ HydratedCallButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.HydratedCallButton) return object; var message = new $root.proto.HydratedCallButton(); if (object.displayText != null) message.displayText = String(object.displayText); if (object.phoneNumber != null) message.phoneNumber = String(object.phoneNumber); return message; }; /** * Creates a plain object from a HydratedCallButton message. Also converts values to other types if specified. * @function toObject * @memberof proto.HydratedCallButton * @static * @param {proto.HydratedCallButton} message HydratedCallButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HydratedCallButton.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.displayText = ""; object.phoneNumber = ""; } if (message.displayText != null && message.hasOwnProperty("displayText")) object.displayText = message.displayText; if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) object.phoneNumber = message.phoneNumber; return object; }; /** * Converts this HydratedCallButton to JSON. * @function toJSON * @memberof proto.HydratedCallButton * @instance * @returns {Object.} JSON object */ HydratedCallButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HydratedCallButton; })(); proto.HydratedTemplateButton = (function() { /** * Properties of a HydratedTemplateButton. * @memberof proto * @interface IHydratedTemplateButton * @property {number|null} [index] HydratedTemplateButton index * @property {proto.IHydratedQuickReplyButton|null} [quickReplyButton] HydratedTemplateButton quickReplyButton * @property {proto.IHydratedURLButton|null} [urlButton] HydratedTemplateButton urlButton * @property {proto.IHydratedCallButton|null} [callButton] HydratedTemplateButton callButton */ /** * Constructs a new HydratedTemplateButton. * @memberof proto * @classdesc Represents a HydratedTemplateButton. * @implements IHydratedTemplateButton * @constructor * @param {proto.IHydratedTemplateButton=} [properties] Properties to set */ function HydratedTemplateButton(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HydratedTemplateButton index. * @member {number} index * @memberof proto.HydratedTemplateButton * @instance */ HydratedTemplateButton.prototype.index = 0; /** * HydratedTemplateButton quickReplyButton. * @member {proto.IHydratedQuickReplyButton|null|undefined} quickReplyButton * @memberof proto.HydratedTemplateButton * @instance */ HydratedTemplateButton.prototype.quickReplyButton = null; /** * HydratedTemplateButton urlButton. * @member {proto.IHydratedURLButton|null|undefined} urlButton * @memberof proto.HydratedTemplateButton * @instance */ HydratedTemplateButton.prototype.urlButton = null; /** * HydratedTemplateButton callButton. * @member {proto.IHydratedCallButton|null|undefined} callButton * @memberof proto.HydratedTemplateButton * @instance */ HydratedTemplateButton.prototype.callButton = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * HydratedTemplateButton hydratedButton. * @member {"quickReplyButton"|"urlButton"|"callButton"|undefined} hydratedButton * @memberof proto.HydratedTemplateButton * @instance */ Object.defineProperty(HydratedTemplateButton.prototype, "hydratedButton", { get: $util.oneOfGetter($oneOfFields = ["quickReplyButton", "urlButton", "callButton"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new HydratedTemplateButton instance using the specified properties. * @function create * @memberof proto.HydratedTemplateButton * @static * @param {proto.IHydratedTemplateButton=} [properties] Properties to set * @returns {proto.HydratedTemplateButton} HydratedTemplateButton instance */ HydratedTemplateButton.create = function create(properties) { return new HydratedTemplateButton(properties); }; /** * Encodes the specified HydratedTemplateButton message. Does not implicitly {@link proto.HydratedTemplateButton.verify|verify} messages. * @function encode * @memberof proto.HydratedTemplateButton * @static * @param {proto.IHydratedTemplateButton} message HydratedTemplateButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HydratedTemplateButton.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.quickReplyButton != null && Object.hasOwnProperty.call(message, "quickReplyButton")) $root.proto.HydratedQuickReplyButton.encode(message.quickReplyButton, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.urlButton != null && Object.hasOwnProperty.call(message, "urlButton")) $root.proto.HydratedURLButton.encode(message.urlButton, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.callButton != null && Object.hasOwnProperty.call(message, "callButton")) $root.proto.HydratedCallButton.encode(message.callButton, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.index != null && Object.hasOwnProperty.call(message, "index")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.index); return writer; }; /** * Encodes the specified HydratedTemplateButton message, length delimited. Does not implicitly {@link proto.HydratedTemplateButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.HydratedTemplateButton * @static * @param {proto.IHydratedTemplateButton} message HydratedTemplateButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HydratedTemplateButton.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HydratedTemplateButton message from the specified reader or buffer. * @function decode * @memberof proto.HydratedTemplateButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HydratedTemplateButton} HydratedTemplateButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HydratedTemplateButton.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HydratedTemplateButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 4: message.index = reader.uint32(); break; case 1: message.quickReplyButton = $root.proto.HydratedQuickReplyButton.decode(reader, reader.uint32()); break; case 2: message.urlButton = $root.proto.HydratedURLButton.decode(reader, reader.uint32()); break; case 3: message.callButton = $root.proto.HydratedCallButton.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HydratedTemplateButton message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HydratedTemplateButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HydratedTemplateButton} HydratedTemplateButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HydratedTemplateButton.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HydratedTemplateButton message. * @function verify * @memberof proto.HydratedTemplateButton * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HydratedTemplateButton.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.index != null && message.hasOwnProperty("index")) if (!$util.isInteger(message.index)) return "index: integer expected"; if (message.quickReplyButton != null && message.hasOwnProperty("quickReplyButton")) { properties.hydratedButton = 1; { var error = $root.proto.HydratedQuickReplyButton.verify(message.quickReplyButton); if (error) return "quickReplyButton." + error; } } if (message.urlButton != null && message.hasOwnProperty("urlButton")) { if (properties.hydratedButton === 1) return "hydratedButton: multiple values"; properties.hydratedButton = 1; { var error = $root.proto.HydratedURLButton.verify(message.urlButton); if (error) return "urlButton." + error; } } if (message.callButton != null && message.hasOwnProperty("callButton")) { if (properties.hydratedButton === 1) return "hydratedButton: multiple values"; properties.hydratedButton = 1; { var error = $root.proto.HydratedCallButton.verify(message.callButton); if (error) return "callButton." + error; } } return null; }; /** * Creates a HydratedTemplateButton message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HydratedTemplateButton * @static * @param {Object.} object Plain object * @returns {proto.HydratedTemplateButton} HydratedTemplateButton */ HydratedTemplateButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.HydratedTemplateButton) return object; var message = new $root.proto.HydratedTemplateButton(); if (object.index != null) message.index = object.index >>> 0; if (object.quickReplyButton != null) { if (typeof object.quickReplyButton !== "object") throw TypeError(".proto.HydratedTemplateButton.quickReplyButton: object expected"); message.quickReplyButton = $root.proto.HydratedQuickReplyButton.fromObject(object.quickReplyButton); } if (object.urlButton != null) { if (typeof object.urlButton !== "object") throw TypeError(".proto.HydratedTemplateButton.urlButton: object expected"); message.urlButton = $root.proto.HydratedURLButton.fromObject(object.urlButton); } if (object.callButton != null) { if (typeof object.callButton !== "object") throw TypeError(".proto.HydratedTemplateButton.callButton: object expected"); message.callButton = $root.proto.HydratedCallButton.fromObject(object.callButton); } return message; }; /** * Creates a plain object from a HydratedTemplateButton message. Also converts values to other types if specified. * @function toObject * @memberof proto.HydratedTemplateButton * @static * @param {proto.HydratedTemplateButton} message HydratedTemplateButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HydratedTemplateButton.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.index = 0; if (message.quickReplyButton != null && message.hasOwnProperty("quickReplyButton")) { object.quickReplyButton = $root.proto.HydratedQuickReplyButton.toObject(message.quickReplyButton, options); if (options.oneofs) object.hydratedButton = "quickReplyButton"; } if (message.urlButton != null && message.hasOwnProperty("urlButton")) { object.urlButton = $root.proto.HydratedURLButton.toObject(message.urlButton, options); if (options.oneofs) object.hydratedButton = "urlButton"; } if (message.callButton != null && message.hasOwnProperty("callButton")) { object.callButton = $root.proto.HydratedCallButton.toObject(message.callButton, options); if (options.oneofs) object.hydratedButton = "callButton"; } if (message.index != null && message.hasOwnProperty("index")) object.index = message.index; return object; }; /** * Converts this HydratedTemplateButton to JSON. * @function toJSON * @memberof proto.HydratedTemplateButton * @instance * @returns {Object.} JSON object */ HydratedTemplateButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HydratedTemplateButton; })(); proto.QuickReplyButton = (function() { /** * Properties of a QuickReplyButton. * @memberof proto * @interface IQuickReplyButton * @property {proto.IHighlyStructuredMessage|null} [displayText] QuickReplyButton displayText * @property {string|null} [id] QuickReplyButton id */ /** * Constructs a new QuickReplyButton. * @memberof proto * @classdesc Represents a QuickReplyButton. * @implements IQuickReplyButton * @constructor * @param {proto.IQuickReplyButton=} [properties] Properties to set */ function QuickReplyButton(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * QuickReplyButton displayText. * @member {proto.IHighlyStructuredMessage|null|undefined} displayText * @memberof proto.QuickReplyButton * @instance */ QuickReplyButton.prototype.displayText = null; /** * QuickReplyButton id. * @member {string} id * @memberof proto.QuickReplyButton * @instance */ QuickReplyButton.prototype.id = ""; /** * Creates a new QuickReplyButton instance using the specified properties. * @function create * @memberof proto.QuickReplyButton * @static * @param {proto.IQuickReplyButton=} [properties] Properties to set * @returns {proto.QuickReplyButton} QuickReplyButton instance */ QuickReplyButton.create = function create(properties) { return new QuickReplyButton(properties); }; /** * Encodes the specified QuickReplyButton message. Does not implicitly {@link proto.QuickReplyButton.verify|verify} messages. * @function encode * @memberof proto.QuickReplyButton * @static * @param {proto.IQuickReplyButton} message QuickReplyButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ QuickReplyButton.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.displayText != null && Object.hasOwnProperty.call(message, "displayText")) $root.proto.HighlyStructuredMessage.encode(message.displayText, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.id); return writer; }; /** * Encodes the specified QuickReplyButton message, length delimited. Does not implicitly {@link proto.QuickReplyButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.QuickReplyButton * @static * @param {proto.IQuickReplyButton} message QuickReplyButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ QuickReplyButton.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a QuickReplyButton message from the specified reader or buffer. * @function decode * @memberof proto.QuickReplyButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.QuickReplyButton} QuickReplyButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ QuickReplyButton.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.QuickReplyButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayText = $root.proto.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 2: message.id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a QuickReplyButton message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.QuickReplyButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.QuickReplyButton} QuickReplyButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ QuickReplyButton.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a QuickReplyButton message. * @function verify * @memberof proto.QuickReplyButton * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ QuickReplyButton.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.displayText != null && message.hasOwnProperty("displayText")) { var error = $root.proto.HighlyStructuredMessage.verify(message.displayText); if (error) return "displayText." + error; } if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; return null; }; /** * Creates a QuickReplyButton message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.QuickReplyButton * @static * @param {Object.} object Plain object * @returns {proto.QuickReplyButton} QuickReplyButton */ QuickReplyButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.QuickReplyButton) return object; var message = new $root.proto.QuickReplyButton(); if (object.displayText != null) { if (typeof object.displayText !== "object") throw TypeError(".proto.QuickReplyButton.displayText: object expected"); message.displayText = $root.proto.HighlyStructuredMessage.fromObject(object.displayText); } if (object.id != null) message.id = String(object.id); return message; }; /** * Creates a plain object from a QuickReplyButton message. Also converts values to other types if specified. * @function toObject * @memberof proto.QuickReplyButton * @static * @param {proto.QuickReplyButton} message QuickReplyButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ QuickReplyButton.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.displayText = null; object.id = ""; } if (message.displayText != null && message.hasOwnProperty("displayText")) object.displayText = $root.proto.HighlyStructuredMessage.toObject(message.displayText, options); if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; return object; }; /** * Converts this QuickReplyButton to JSON. * @function toJSON * @memberof proto.QuickReplyButton * @instance * @returns {Object.} JSON object */ QuickReplyButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return QuickReplyButton; })(); proto.URLButton = (function() { /** * Properties of a URLButton. * @memberof proto * @interface IURLButton * @property {proto.IHighlyStructuredMessage|null} [displayText] URLButton displayText * @property {proto.IHighlyStructuredMessage|null} [url] URLButton url */ /** * Constructs a new URLButton. * @memberof proto * @classdesc Represents a URLButton. * @implements IURLButton * @constructor * @param {proto.IURLButton=} [properties] Properties to set */ function URLButton(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * URLButton displayText. * @member {proto.IHighlyStructuredMessage|null|undefined} displayText * @memberof proto.URLButton * @instance */ URLButton.prototype.displayText = null; /** * URLButton url. * @member {proto.IHighlyStructuredMessage|null|undefined} url * @memberof proto.URLButton * @instance */ URLButton.prototype.url = null; /** * Creates a new URLButton instance using the specified properties. * @function create * @memberof proto.URLButton * @static * @param {proto.IURLButton=} [properties] Properties to set * @returns {proto.URLButton} URLButton instance */ URLButton.create = function create(properties) { return new URLButton(properties); }; /** * Encodes the specified URLButton message. Does not implicitly {@link proto.URLButton.verify|verify} messages. * @function encode * @memberof proto.URLButton * @static * @param {proto.IURLButton} message URLButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ URLButton.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.displayText != null && Object.hasOwnProperty.call(message, "displayText")) $root.proto.HighlyStructuredMessage.encode(message.displayText, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.url != null && Object.hasOwnProperty.call(message, "url")) $root.proto.HighlyStructuredMessage.encode(message.url, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified URLButton message, length delimited. Does not implicitly {@link proto.URLButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.URLButton * @static * @param {proto.IURLButton} message URLButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ URLButton.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a URLButton message from the specified reader or buffer. * @function decode * @memberof proto.URLButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.URLButton} URLButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ URLButton.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.URLButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayText = $root.proto.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 2: message.url = $root.proto.HighlyStructuredMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a URLButton message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.URLButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.URLButton} URLButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ URLButton.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a URLButton message. * @function verify * @memberof proto.URLButton * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ URLButton.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.displayText != null && message.hasOwnProperty("displayText")) { var error = $root.proto.HighlyStructuredMessage.verify(message.displayText); if (error) return "displayText." + error; } if (message.url != null && message.hasOwnProperty("url")) { var error = $root.proto.HighlyStructuredMessage.verify(message.url); if (error) return "url." + error; } return null; }; /** * Creates a URLButton message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.URLButton * @static * @param {Object.} object Plain object * @returns {proto.URLButton} URLButton */ URLButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.URLButton) return object; var message = new $root.proto.URLButton(); if (object.displayText != null) { if (typeof object.displayText !== "object") throw TypeError(".proto.URLButton.displayText: object expected"); message.displayText = $root.proto.HighlyStructuredMessage.fromObject(object.displayText); } if (object.url != null) { if (typeof object.url !== "object") throw TypeError(".proto.URLButton.url: object expected"); message.url = $root.proto.HighlyStructuredMessage.fromObject(object.url); } return message; }; /** * Creates a plain object from a URLButton message. Also converts values to other types if specified. * @function toObject * @memberof proto.URLButton * @static * @param {proto.URLButton} message URLButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ URLButton.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.displayText = null; object.url = null; } if (message.displayText != null && message.hasOwnProperty("displayText")) object.displayText = $root.proto.HighlyStructuredMessage.toObject(message.displayText, options); if (message.url != null && message.hasOwnProperty("url")) object.url = $root.proto.HighlyStructuredMessage.toObject(message.url, options); return object; }; /** * Converts this URLButton to JSON. * @function toJSON * @memberof proto.URLButton * @instance * @returns {Object.} JSON object */ URLButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return URLButton; })(); proto.CallButton = (function() { /** * Properties of a CallButton. * @memberof proto * @interface ICallButton * @property {proto.IHighlyStructuredMessage|null} [displayText] CallButton displayText * @property {proto.IHighlyStructuredMessage|null} [phoneNumber] CallButton phoneNumber */ /** * Constructs a new CallButton. * @memberof proto * @classdesc Represents a CallButton. * @implements ICallButton * @constructor * @param {proto.ICallButton=} [properties] Properties to set */ function CallButton(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * CallButton displayText. * @member {proto.IHighlyStructuredMessage|null|undefined} displayText * @memberof proto.CallButton * @instance */ CallButton.prototype.displayText = null; /** * CallButton phoneNumber. * @member {proto.IHighlyStructuredMessage|null|undefined} phoneNumber * @memberof proto.CallButton * @instance */ CallButton.prototype.phoneNumber = null; /** * Creates a new CallButton instance using the specified properties. * @function create * @memberof proto.CallButton * @static * @param {proto.ICallButton=} [properties] Properties to set * @returns {proto.CallButton} CallButton instance */ CallButton.create = function create(properties) { return new CallButton(properties); }; /** * Encodes the specified CallButton message. Does not implicitly {@link proto.CallButton.verify|verify} messages. * @function encode * @memberof proto.CallButton * @static * @param {proto.ICallButton} message CallButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CallButton.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.displayText != null && Object.hasOwnProperty.call(message, "displayText")) $root.proto.HighlyStructuredMessage.encode(message.displayText, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.phoneNumber != null && Object.hasOwnProperty.call(message, "phoneNumber")) $root.proto.HighlyStructuredMessage.encode(message.phoneNumber, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified CallButton message, length delimited. Does not implicitly {@link proto.CallButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.CallButton * @static * @param {proto.ICallButton} message CallButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CallButton.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a CallButton message from the specified reader or buffer. * @function decode * @memberof proto.CallButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.CallButton} CallButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CallButton.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.CallButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayText = $root.proto.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 2: message.phoneNumber = $root.proto.HighlyStructuredMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a CallButton message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.CallButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.CallButton} CallButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CallButton.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a CallButton message. * @function verify * @memberof proto.CallButton * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ CallButton.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.displayText != null && message.hasOwnProperty("displayText")) { var error = $root.proto.HighlyStructuredMessage.verify(message.displayText); if (error) return "displayText." + error; } if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) { var error = $root.proto.HighlyStructuredMessage.verify(message.phoneNumber); if (error) return "phoneNumber." + error; } return null; }; /** * Creates a CallButton message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.CallButton * @static * @param {Object.} object Plain object * @returns {proto.CallButton} CallButton */ CallButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.CallButton) return object; var message = new $root.proto.CallButton(); if (object.displayText != null) { if (typeof object.displayText !== "object") throw TypeError(".proto.CallButton.displayText: object expected"); message.displayText = $root.proto.HighlyStructuredMessage.fromObject(object.displayText); } if (object.phoneNumber != null) { if (typeof object.phoneNumber !== "object") throw TypeError(".proto.CallButton.phoneNumber: object expected"); message.phoneNumber = $root.proto.HighlyStructuredMessage.fromObject(object.phoneNumber); } return message; }; /** * Creates a plain object from a CallButton message. Also converts values to other types if specified. * @function toObject * @memberof proto.CallButton * @static * @param {proto.CallButton} message CallButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ CallButton.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.displayText = null; object.phoneNumber = null; } if (message.displayText != null && message.hasOwnProperty("displayText")) object.displayText = $root.proto.HighlyStructuredMessage.toObject(message.displayText, options); if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) object.phoneNumber = $root.proto.HighlyStructuredMessage.toObject(message.phoneNumber, options); return object; }; /** * Converts this CallButton to JSON. * @function toJSON * @memberof proto.CallButton * @instance * @returns {Object.} JSON object */ CallButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return CallButton; })(); proto.TemplateButton = (function() { /** * Properties of a TemplateButton. * @memberof proto * @interface ITemplateButton * @property {number|null} [index] TemplateButton index * @property {proto.IQuickReplyButton|null} [quickReplyButton] TemplateButton quickReplyButton * @property {proto.IURLButton|null} [urlButton] TemplateButton urlButton * @property {proto.ICallButton|null} [callButton] TemplateButton callButton */ /** * Constructs a new TemplateButton. * @memberof proto * @classdesc Represents a TemplateButton. * @implements ITemplateButton * @constructor * @param {proto.ITemplateButton=} [properties] Properties to set */ function TemplateButton(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * TemplateButton index. * @member {number} index * @memberof proto.TemplateButton * @instance */ TemplateButton.prototype.index = 0; /** * TemplateButton quickReplyButton. * @member {proto.IQuickReplyButton|null|undefined} quickReplyButton * @memberof proto.TemplateButton * @instance */ TemplateButton.prototype.quickReplyButton = null; /** * TemplateButton urlButton. * @member {proto.IURLButton|null|undefined} urlButton * @memberof proto.TemplateButton * @instance */ TemplateButton.prototype.urlButton = null; /** * TemplateButton callButton. * @member {proto.ICallButton|null|undefined} callButton * @memberof proto.TemplateButton * @instance */ TemplateButton.prototype.callButton = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * TemplateButton button. * @member {"quickReplyButton"|"urlButton"|"callButton"|undefined} button * @memberof proto.TemplateButton * @instance */ Object.defineProperty(TemplateButton.prototype, "button", { get: $util.oneOfGetter($oneOfFields = ["quickReplyButton", "urlButton", "callButton"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new TemplateButton instance using the specified properties. * @function create * @memberof proto.TemplateButton * @static * @param {proto.ITemplateButton=} [properties] Properties to set * @returns {proto.TemplateButton} TemplateButton instance */ TemplateButton.create = function create(properties) { return new TemplateButton(properties); }; /** * Encodes the specified TemplateButton message. Does not implicitly {@link proto.TemplateButton.verify|verify} messages. * @function encode * @memberof proto.TemplateButton * @static * @param {proto.ITemplateButton} message TemplateButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ TemplateButton.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.quickReplyButton != null && Object.hasOwnProperty.call(message, "quickReplyButton")) $root.proto.QuickReplyButton.encode(message.quickReplyButton, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.urlButton != null && Object.hasOwnProperty.call(message, "urlButton")) $root.proto.URLButton.encode(message.urlButton, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.callButton != null && Object.hasOwnProperty.call(message, "callButton")) $root.proto.CallButton.encode(message.callButton, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.index != null && Object.hasOwnProperty.call(message, "index")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.index); return writer; }; /** * Encodes the specified TemplateButton message, length delimited. Does not implicitly {@link proto.TemplateButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.TemplateButton * @static * @param {proto.ITemplateButton} message TemplateButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ TemplateButton.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a TemplateButton message from the specified reader or buffer. * @function decode * @memberof proto.TemplateButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.TemplateButton} TemplateButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ TemplateButton.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.TemplateButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 4: message.index = reader.uint32(); break; case 1: message.quickReplyButton = $root.proto.QuickReplyButton.decode(reader, reader.uint32()); break; case 2: message.urlButton = $root.proto.URLButton.decode(reader, reader.uint32()); break; case 3: message.callButton = $root.proto.CallButton.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a TemplateButton message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.TemplateButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.TemplateButton} TemplateButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ TemplateButton.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a TemplateButton message. * @function verify * @memberof proto.TemplateButton * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ TemplateButton.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.index != null && message.hasOwnProperty("index")) if (!$util.isInteger(message.index)) return "index: integer expected"; if (message.quickReplyButton != null && message.hasOwnProperty("quickReplyButton")) { properties.button = 1; { var error = $root.proto.QuickReplyButton.verify(message.quickReplyButton); if (error) return "quickReplyButton." + error; } } if (message.urlButton != null && message.hasOwnProperty("urlButton")) { if (properties.button === 1) return "button: multiple values"; properties.button = 1; { var error = $root.proto.URLButton.verify(message.urlButton); if (error) return "urlButton." + error; } } if (message.callButton != null && message.hasOwnProperty("callButton")) { if (properties.button === 1) return "button: multiple values"; properties.button = 1; { var error = $root.proto.CallButton.verify(message.callButton); if (error) return "callButton." + error; } } return null; }; /** * Creates a TemplateButton message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.TemplateButton * @static * @param {Object.} object Plain object * @returns {proto.TemplateButton} TemplateButton */ TemplateButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.TemplateButton) return object; var message = new $root.proto.TemplateButton(); if (object.index != null) message.index = object.index >>> 0; if (object.quickReplyButton != null) { if (typeof object.quickReplyButton !== "object") throw TypeError(".proto.TemplateButton.quickReplyButton: object expected"); message.quickReplyButton = $root.proto.QuickReplyButton.fromObject(object.quickReplyButton); } if (object.urlButton != null) { if (typeof object.urlButton !== "object") throw TypeError(".proto.TemplateButton.urlButton: object expected"); message.urlButton = $root.proto.URLButton.fromObject(object.urlButton); } if (object.callButton != null) { if (typeof object.callButton !== "object") throw TypeError(".proto.TemplateButton.callButton: object expected"); message.callButton = $root.proto.CallButton.fromObject(object.callButton); } return message; }; /** * Creates a plain object from a TemplateButton message. Also converts values to other types if specified. * @function toObject * @memberof proto.TemplateButton * @static * @param {proto.TemplateButton} message TemplateButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ TemplateButton.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.index = 0; if (message.quickReplyButton != null && message.hasOwnProperty("quickReplyButton")) { object.quickReplyButton = $root.proto.QuickReplyButton.toObject(message.quickReplyButton, options); if (options.oneofs) object.button = "quickReplyButton"; } if (message.urlButton != null && message.hasOwnProperty("urlButton")) { object.urlButton = $root.proto.URLButton.toObject(message.urlButton, options); if (options.oneofs) object.button = "urlButton"; } if (message.callButton != null && message.hasOwnProperty("callButton")) { object.callButton = $root.proto.CallButton.toObject(message.callButton, options); if (options.oneofs) object.button = "callButton"; } if (message.index != null && message.hasOwnProperty("index")) object.index = message.index; return object; }; /** * Converts this TemplateButton to JSON. * @function toJSON * @memberof proto.TemplateButton * @instance * @returns {Object.} JSON object */ TemplateButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return TemplateButton; })(); proto.Location = (function() { /** * Properties of a Location. * @memberof proto * @interface ILocation * @property {number|null} [degreesLatitude] Location degreesLatitude * @property {number|null} [degreesLongitude] Location degreesLongitude * @property {string|null} [name] Location name */ /** * Constructs a new Location. * @memberof proto * @classdesc Represents a Location. * @implements ILocation * @constructor * @param {proto.ILocation=} [properties] Properties to set */ function Location(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * Location degreesLatitude. * @member {number} degreesLatitude * @memberof proto.Location * @instance */ Location.prototype.degreesLatitude = 0; /** * Location degreesLongitude. * @member {number} degreesLongitude * @memberof proto.Location * @instance */ Location.prototype.degreesLongitude = 0; /** * Location name. * @member {string} name * @memberof proto.Location * @instance */ Location.prototype.name = ""; /** * Creates a new Location instance using the specified properties. * @function create * @memberof proto.Location * @static * @param {proto.ILocation=} [properties] Properties to set * @returns {proto.Location} Location instance */ Location.create = function create(properties) { return new Location(properties); }; /** * Encodes the specified Location message. Does not implicitly {@link proto.Location.verify|verify} messages. * @function encode * @memberof proto.Location * @static * @param {proto.ILocation} message Location message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Location.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.degreesLatitude != null && Object.hasOwnProperty.call(message, "degreesLatitude")) writer.uint32(/* id 1, wireType 1 =*/9).double(message.degreesLatitude); if (message.degreesLongitude != null && Object.hasOwnProperty.call(message, "degreesLongitude")) writer.uint32(/* id 2, wireType 1 =*/17).double(message.degreesLongitude); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); return writer; }; /** * Encodes the specified Location message, length delimited. Does not implicitly {@link proto.Location.verify|verify} messages. * @function encodeDelimited * @memberof proto.Location * @static * @param {proto.ILocation} message Location message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Location.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Location message from the specified reader or buffer. * @function decode * @memberof proto.Location * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Location} Location * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Location.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.Location(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.degreesLatitude = reader.double(); break; case 2: message.degreesLongitude = reader.double(); break; case 3: message.name = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Location message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Location * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Location} Location * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Location.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Location message. * @function verify * @memberof proto.Location * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Location.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.degreesLatitude != null && message.hasOwnProperty("degreesLatitude")) if (typeof message.degreesLatitude !== "number") return "degreesLatitude: number expected"; if (message.degreesLongitude != null && message.hasOwnProperty("degreesLongitude")) if (typeof message.degreesLongitude !== "number") return "degreesLongitude: number expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; return null; }; /** * Creates a Location message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Location * @static * @param {Object.} object Plain object * @returns {proto.Location} Location */ Location.fromObject = function fromObject(object) { if (object instanceof $root.proto.Location) return object; var message = new $root.proto.Location(); if (object.degreesLatitude != null) message.degreesLatitude = Number(object.degreesLatitude); if (object.degreesLongitude != null) message.degreesLongitude = Number(object.degreesLongitude); if (object.name != null) message.name = String(object.name); return message; }; /** * Creates a plain object from a Location message. Also converts values to other types if specified. * @function toObject * @memberof proto.Location * @static * @param {proto.Location} message Location * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ Location.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.degreesLatitude = 0; object.degreesLongitude = 0; object.name = ""; } if (message.degreesLatitude != null && message.hasOwnProperty("degreesLatitude")) object.degreesLatitude = options.json && !isFinite(message.degreesLatitude) ? String(message.degreesLatitude) : message.degreesLatitude; if (message.degreesLongitude != null && message.hasOwnProperty("degreesLongitude")) object.degreesLongitude = options.json && !isFinite(message.degreesLongitude) ? String(message.degreesLongitude) : message.degreesLongitude; if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; return object; }; /** * Converts this Location to JSON. * @function toJSON * @memberof proto.Location * @instance * @returns {Object.} JSON object */ Location.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Location; })(); proto.Point = (function() { /** * Properties of a Point. * @memberof proto * @interface IPoint * @property {number|null} [xDeprecated] Point xDeprecated * @property {number|null} [yDeprecated] Point yDeprecated * @property {number|null} [x] Point x * @property {number|null} [y] Point y */ /** * Constructs a new Point. * @memberof proto * @classdesc Represents a Point. * @implements IPoint * @constructor * @param {proto.IPoint=} [properties] Properties to set */ function Point(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * Point xDeprecated. * @member {number} xDeprecated * @memberof proto.Point * @instance */ Point.prototype.xDeprecated = 0; /** * Point yDeprecated. * @member {number} yDeprecated * @memberof proto.Point * @instance */ Point.prototype.yDeprecated = 0; /** * Point x. * @member {number} x * @memberof proto.Point * @instance */ Point.prototype.x = 0; /** * Point y. * @member {number} y * @memberof proto.Point * @instance */ Point.prototype.y = 0; /** * Creates a new Point instance using the specified properties. * @function create * @memberof proto.Point * @static * @param {proto.IPoint=} [properties] Properties to set * @returns {proto.Point} Point instance */ Point.create = function create(properties) { return new Point(properties); }; /** * Encodes the specified Point message. Does not implicitly {@link proto.Point.verify|verify} messages. * @function encode * @memberof proto.Point * @static * @param {proto.IPoint} message Point message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Point.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.xDeprecated != null && Object.hasOwnProperty.call(message, "xDeprecated")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.xDeprecated); if (message.yDeprecated != null && Object.hasOwnProperty.call(message, "yDeprecated")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.yDeprecated); if (message.x != null && Object.hasOwnProperty.call(message, "x")) writer.uint32(/* id 3, wireType 1 =*/25).double(message.x); if (message.y != null && Object.hasOwnProperty.call(message, "y")) writer.uint32(/* id 4, wireType 1 =*/33).double(message.y); return writer; }; /** * Encodes the specified Point message, length delimited. Does not implicitly {@link proto.Point.verify|verify} messages. * @function encodeDelimited * @memberof proto.Point * @static * @param {proto.IPoint} message Point message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Point.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Point message from the specified reader or buffer. * @function decode * @memberof proto.Point * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Point} Point * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Point.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.Point(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.xDeprecated = reader.int32(); break; case 2: message.yDeprecated = reader.int32(); break; case 3: message.x = reader.double(); break; case 4: message.y = reader.double(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Point message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Point * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Point} Point * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Point.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Point message. * @function verify * @memberof proto.Point * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Point.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.xDeprecated != null && message.hasOwnProperty("xDeprecated")) if (!$util.isInteger(message.xDeprecated)) return "xDeprecated: integer expected"; if (message.yDeprecated != null && message.hasOwnProperty("yDeprecated")) if (!$util.isInteger(message.yDeprecated)) return "yDeprecated: integer expected"; if (message.x != null && message.hasOwnProperty("x")) if (typeof message.x !== "number") return "x: number expected"; if (message.y != null && message.hasOwnProperty("y")) if (typeof message.y !== "number") return "y: number expected"; return null; }; /** * Creates a Point message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Point * @static * @param {Object.} object Plain object * @returns {proto.Point} Point */ Point.fromObject = function fromObject(object) { if (object instanceof $root.proto.Point) return object; var message = new $root.proto.Point(); if (object.xDeprecated != null) message.xDeprecated = object.xDeprecated | 0; if (object.yDeprecated != null) message.yDeprecated = object.yDeprecated | 0; if (object.x != null) message.x = Number(object.x); if (object.y != null) message.y = Number(object.y); return message; }; /** * Creates a plain object from a Point message. Also converts values to other types if specified. * @function toObject * @memberof proto.Point * @static * @param {proto.Point} message Point * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ Point.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.xDeprecated = 0; object.yDeprecated = 0; object.x = 0; object.y = 0; } if (message.xDeprecated != null && message.hasOwnProperty("xDeprecated")) object.xDeprecated = message.xDeprecated; if (message.yDeprecated != null && message.hasOwnProperty("yDeprecated")) object.yDeprecated = message.yDeprecated; if (message.x != null && message.hasOwnProperty("x")) object.x = options.json && !isFinite(message.x) ? String(message.x) : message.x; if (message.y != null && message.hasOwnProperty("y")) object.y = options.json && !isFinite(message.y) ? String(message.y) : message.y; return object; }; /** * Converts this Point to JSON. * @function toJSON * @memberof proto.Point * @instance * @returns {Object.} JSON object */ Point.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Point; })(); proto.InteractiveAnnotation = (function() { /** * Properties of an InteractiveAnnotation. * @memberof proto * @interface IInteractiveAnnotation * @property {Array.|null} [polygonVertices] InteractiveAnnotation polygonVertices * @property {proto.ILocation|null} [location] InteractiveAnnotation location */ /** * Constructs a new InteractiveAnnotation. * @memberof proto * @classdesc Represents an InteractiveAnnotation. * @implements IInteractiveAnnotation * @constructor * @param {proto.IInteractiveAnnotation=} [properties] Properties to set */ function InteractiveAnnotation(properties) { this.polygonVertices = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * InteractiveAnnotation polygonVertices. * @member {Array.} polygonVertices * @memberof proto.InteractiveAnnotation * @instance */ InteractiveAnnotation.prototype.polygonVertices = $util.emptyArray; /** * InteractiveAnnotation location. * @member {proto.ILocation|null|undefined} location * @memberof proto.InteractiveAnnotation * @instance */ InteractiveAnnotation.prototype.location = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * InteractiveAnnotation action. * @member {"location"|undefined} action * @memberof proto.InteractiveAnnotation * @instance */ Object.defineProperty(InteractiveAnnotation.prototype, "action", { get: $util.oneOfGetter($oneOfFields = ["location"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new InteractiveAnnotation instance using the specified properties. * @function create * @memberof proto.InteractiveAnnotation * @static * @param {proto.IInteractiveAnnotation=} [properties] Properties to set * @returns {proto.InteractiveAnnotation} InteractiveAnnotation instance */ InteractiveAnnotation.create = function create(properties) { return new InteractiveAnnotation(properties); }; /** * Encodes the specified InteractiveAnnotation message. Does not implicitly {@link proto.InteractiveAnnotation.verify|verify} messages. * @function encode * @memberof proto.InteractiveAnnotation * @static * @param {proto.IInteractiveAnnotation} message InteractiveAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InteractiveAnnotation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.polygonVertices != null && message.polygonVertices.length) for (var i = 0; i < message.polygonVertices.length; ++i) $root.proto.Point.encode(message.polygonVertices[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.location != null && Object.hasOwnProperty.call(message, "location")) $root.proto.Location.encode(message.location, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified InteractiveAnnotation message, length delimited. Does not implicitly {@link proto.InteractiveAnnotation.verify|verify} messages. * @function encodeDelimited * @memberof proto.InteractiveAnnotation * @static * @param {proto.IInteractiveAnnotation} message InteractiveAnnotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InteractiveAnnotation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an InteractiveAnnotation message from the specified reader or buffer. * @function decode * @memberof proto.InteractiveAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.InteractiveAnnotation} InteractiveAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InteractiveAnnotation.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.InteractiveAnnotation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.polygonVertices && message.polygonVertices.length)) message.polygonVertices = []; message.polygonVertices.push($root.proto.Point.decode(reader, reader.uint32())); break; case 2: message.location = $root.proto.Location.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an InteractiveAnnotation message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.InteractiveAnnotation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.InteractiveAnnotation} InteractiveAnnotation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InteractiveAnnotation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an InteractiveAnnotation message. * @function verify * @memberof proto.InteractiveAnnotation * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ InteractiveAnnotation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.polygonVertices != null && message.hasOwnProperty("polygonVertices")) { if (!Array.isArray(message.polygonVertices)) return "polygonVertices: array expected"; for (var i = 0; i < message.polygonVertices.length; ++i) { var error = $root.proto.Point.verify(message.polygonVertices[i]); if (error) return "polygonVertices." + error; } } if (message.location != null && message.hasOwnProperty("location")) { properties.action = 1; { var error = $root.proto.Location.verify(message.location); if (error) return "location." + error; } } return null; }; /** * Creates an InteractiveAnnotation message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.InteractiveAnnotation * @static * @param {Object.} object Plain object * @returns {proto.InteractiveAnnotation} InteractiveAnnotation */ InteractiveAnnotation.fromObject = function fromObject(object) { if (object instanceof $root.proto.InteractiveAnnotation) return object; var message = new $root.proto.InteractiveAnnotation(); if (object.polygonVertices) { if (!Array.isArray(object.polygonVertices)) throw TypeError(".proto.InteractiveAnnotation.polygonVertices: array expected"); message.polygonVertices = []; for (var i = 0; i < object.polygonVertices.length; ++i) { if (typeof object.polygonVertices[i] !== "object") throw TypeError(".proto.InteractiveAnnotation.polygonVertices: object expected"); message.polygonVertices[i] = $root.proto.Point.fromObject(object.polygonVertices[i]); } } if (object.location != null) { if (typeof object.location !== "object") throw TypeError(".proto.InteractiveAnnotation.location: object expected"); message.location = $root.proto.Location.fromObject(object.location); } return message; }; /** * Creates a plain object from an InteractiveAnnotation message. Also converts values to other types if specified. * @function toObject * @memberof proto.InteractiveAnnotation * @static * @param {proto.InteractiveAnnotation} message InteractiveAnnotation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ InteractiveAnnotation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.polygonVertices = []; if (message.polygonVertices && message.polygonVertices.length) { object.polygonVertices = []; for (var j = 0; j < message.polygonVertices.length; ++j) object.polygonVertices[j] = $root.proto.Point.toObject(message.polygonVertices[j], options); } if (message.location != null && message.hasOwnProperty("location")) { object.location = $root.proto.Location.toObject(message.location, options); if (options.oneofs) object.action = "location"; } return object; }; /** * Converts this InteractiveAnnotation to JSON. * @function toJSON * @memberof proto.InteractiveAnnotation * @instance * @returns {Object.} JSON object */ InteractiveAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return InteractiveAnnotation; })(); proto.AdReplyInfo = (function() { /** * Properties of an AdReplyInfo. * @memberof proto * @interface IAdReplyInfo * @property {string|null} [advertiserName] AdReplyInfo advertiserName * @property {proto.AdReplyInfo.AdReplyInfoMediaType|null} [mediaType] AdReplyInfo mediaType * @property {Uint8Array|null} [jpegThumbnail] AdReplyInfo jpegThumbnail * @property {string|null} [caption] AdReplyInfo caption */ /** * Constructs a new AdReplyInfo. * @memberof proto * @classdesc Represents an AdReplyInfo. * @implements IAdReplyInfo * @constructor * @param {proto.IAdReplyInfo=} [properties] Properties to set */ function AdReplyInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * AdReplyInfo advertiserName. * @member {string} advertiserName * @memberof proto.AdReplyInfo * @instance */ AdReplyInfo.prototype.advertiserName = ""; /** * AdReplyInfo mediaType. * @member {proto.AdReplyInfo.AdReplyInfoMediaType} mediaType * @memberof proto.AdReplyInfo * @instance */ AdReplyInfo.prototype.mediaType = 0; /** * AdReplyInfo jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.AdReplyInfo * @instance */ AdReplyInfo.prototype.jpegThumbnail = $util.newBuffer([]); /** * AdReplyInfo caption. * @member {string} caption * @memberof proto.AdReplyInfo * @instance */ AdReplyInfo.prototype.caption = ""; /** * Creates a new AdReplyInfo instance using the specified properties. * @function create * @memberof proto.AdReplyInfo * @static * @param {proto.IAdReplyInfo=} [properties] Properties to set * @returns {proto.AdReplyInfo} AdReplyInfo instance */ AdReplyInfo.create = function create(properties) { return new AdReplyInfo(properties); }; /** * Encodes the specified AdReplyInfo message. Does not implicitly {@link proto.AdReplyInfo.verify|verify} messages. * @function encode * @memberof proto.AdReplyInfo * @static * @param {proto.IAdReplyInfo} message AdReplyInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AdReplyInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.advertiserName != null && Object.hasOwnProperty.call(message, "advertiserName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.advertiserName); if (message.mediaType != null && Object.hasOwnProperty.call(message, "mediaType")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.mediaType); if (message.jpegThumbnail != null && Object.hasOwnProperty.call(message, "jpegThumbnail")) writer.uint32(/* id 16, wireType 2 =*/130).bytes(message.jpegThumbnail); if (message.caption != null && Object.hasOwnProperty.call(message, "caption")) writer.uint32(/* id 17, wireType 2 =*/138).string(message.caption); return writer; }; /** * Encodes the specified AdReplyInfo message, length delimited. Does not implicitly {@link proto.AdReplyInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.AdReplyInfo * @static * @param {proto.IAdReplyInfo} message AdReplyInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AdReplyInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AdReplyInfo message from the specified reader or buffer. * @function decode * @memberof proto.AdReplyInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.AdReplyInfo} AdReplyInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AdReplyInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.AdReplyInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.advertiserName = reader.string(); break; case 2: message.mediaType = reader.int32(); break; case 16: message.jpegThumbnail = reader.bytes(); break; case 17: message.caption = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AdReplyInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.AdReplyInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.AdReplyInfo} AdReplyInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AdReplyInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AdReplyInfo message. * @function verify * @memberof proto.AdReplyInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AdReplyInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.advertiserName != null && message.hasOwnProperty("advertiserName")) if (!$util.isString(message.advertiserName)) return "advertiserName: string expected"; if (message.mediaType != null && message.hasOwnProperty("mediaType")) switch (message.mediaType) { default: return "mediaType: enum value expected"; case 0: case 1: case 2: break; } if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) if (!(message.jpegThumbnail && typeof message.jpegThumbnail.length === "number" || $util.isString(message.jpegThumbnail))) return "jpegThumbnail: buffer expected"; if (message.caption != null && message.hasOwnProperty("caption")) if (!$util.isString(message.caption)) return "caption: string expected"; return null; }; /** * Creates an AdReplyInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.AdReplyInfo * @static * @param {Object.} object Plain object * @returns {proto.AdReplyInfo} AdReplyInfo */ AdReplyInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.AdReplyInfo) return object; var message = new $root.proto.AdReplyInfo(); if (object.advertiserName != null) message.advertiserName = String(object.advertiserName); switch (object.mediaType) { case "NONE": case 0: message.mediaType = 0; break; case "IMAGE": case 1: message.mediaType = 1; break; case "VIDEO": case 2: message.mediaType = 2; break; } if (object.jpegThumbnail != null) if (typeof object.jpegThumbnail === "string") $util.base64.decode(object.jpegThumbnail, message.jpegThumbnail = $util.newBuffer($util.base64.length(object.jpegThumbnail)), 0); else if (object.jpegThumbnail.length) message.jpegThumbnail = object.jpegThumbnail; if (object.caption != null) message.caption = String(object.caption); return message; }; /** * Creates a plain object from an AdReplyInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.AdReplyInfo * @static * @param {proto.AdReplyInfo} message AdReplyInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ AdReplyInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.advertiserName = ""; object.mediaType = options.enums === String ? "NONE" : 0; if (options.bytes === String) object.jpegThumbnail = ""; else { object.jpegThumbnail = []; if (options.bytes !== Array) object.jpegThumbnail = $util.newBuffer(object.jpegThumbnail); } object.caption = ""; } if (message.advertiserName != null && message.hasOwnProperty("advertiserName")) object.advertiserName = message.advertiserName; if (message.mediaType != null && message.hasOwnProperty("mediaType")) object.mediaType = options.enums === String ? $root.proto.AdReplyInfo.AdReplyInfoMediaType[message.mediaType] : message.mediaType; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) object.jpegThumbnail = options.bytes === String ? $util.base64.encode(message.jpegThumbnail, 0, message.jpegThumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.jpegThumbnail) : message.jpegThumbnail; if (message.caption != null && message.hasOwnProperty("caption")) object.caption = message.caption; return object; }; /** * Converts this AdReplyInfo to JSON. * @function toJSON * @memberof proto.AdReplyInfo * @instance * @returns {Object.} JSON object */ AdReplyInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * AdReplyInfoMediaType enum. * @name proto.AdReplyInfo.AdReplyInfoMediaType * @enum {number} * @property {number} NONE=0 NONE value * @property {number} IMAGE=1 IMAGE value * @property {number} VIDEO=2 VIDEO value */ AdReplyInfo.AdReplyInfoMediaType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "NONE"] = 0; values[valuesById[1] = "IMAGE"] = 1; values[valuesById[2] = "VIDEO"] = 2; return values; })(); return AdReplyInfo; })(); proto.ExternalAdReplyInfo = (function() { /** * Properties of an ExternalAdReplyInfo. * @memberof proto * @interface IExternalAdReplyInfo * @property {string|null} [title] ExternalAdReplyInfo title * @property {string|null} [body] ExternalAdReplyInfo body * @property {proto.ExternalAdReplyInfo.ExternalAdReplyInfoMediaType|null} [mediaType] ExternalAdReplyInfo mediaType * @property {string|null} [thumbnailUrl] ExternalAdReplyInfo thumbnailUrl * @property {string|null} [mediaUrl] ExternalAdReplyInfo mediaUrl * @property {Uint8Array|null} [thumbnail] ExternalAdReplyInfo thumbnail * @property {string|null} [sourceType] ExternalAdReplyInfo sourceType * @property {string|null} [sourceId] ExternalAdReplyInfo sourceId * @property {string|null} [sourceUrl] ExternalAdReplyInfo sourceUrl */ /** * Constructs a new ExternalAdReplyInfo. * @memberof proto * @classdesc Represents an ExternalAdReplyInfo. * @implements IExternalAdReplyInfo * @constructor * @param {proto.IExternalAdReplyInfo=} [properties] Properties to set */ function ExternalAdReplyInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ExternalAdReplyInfo title. * @member {string} title * @memberof proto.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.title = ""; /** * ExternalAdReplyInfo body. * @member {string} body * @memberof proto.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.body = ""; /** * ExternalAdReplyInfo mediaType. * @member {proto.ExternalAdReplyInfo.ExternalAdReplyInfoMediaType} mediaType * @memberof proto.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.mediaType = 0; /** * ExternalAdReplyInfo thumbnailUrl. * @member {string} thumbnailUrl * @memberof proto.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.thumbnailUrl = ""; /** * ExternalAdReplyInfo mediaUrl. * @member {string} mediaUrl * @memberof proto.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.mediaUrl = ""; /** * ExternalAdReplyInfo thumbnail. * @member {Uint8Array} thumbnail * @memberof proto.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.thumbnail = $util.newBuffer([]); /** * ExternalAdReplyInfo sourceType. * @member {string} sourceType * @memberof proto.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.sourceType = ""; /** * ExternalAdReplyInfo sourceId. * @member {string} sourceId * @memberof proto.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.sourceId = ""; /** * ExternalAdReplyInfo sourceUrl. * @member {string} sourceUrl * @memberof proto.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.sourceUrl = ""; /** * Creates a new ExternalAdReplyInfo instance using the specified properties. * @function create * @memberof proto.ExternalAdReplyInfo * @static * @param {proto.IExternalAdReplyInfo=} [properties] Properties to set * @returns {proto.ExternalAdReplyInfo} ExternalAdReplyInfo instance */ ExternalAdReplyInfo.create = function create(properties) { return new ExternalAdReplyInfo(properties); }; /** * Encodes the specified ExternalAdReplyInfo message. Does not implicitly {@link proto.ExternalAdReplyInfo.verify|verify} messages. * @function encode * @memberof proto.ExternalAdReplyInfo * @static * @param {proto.IExternalAdReplyInfo} message ExternalAdReplyInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ExternalAdReplyInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); if (message.body != null && Object.hasOwnProperty.call(message, "body")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.body); if (message.mediaType != null && Object.hasOwnProperty.call(message, "mediaType")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.mediaType); if (message.thumbnailUrl != null && Object.hasOwnProperty.call(message, "thumbnailUrl")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.thumbnailUrl); if (message.mediaUrl != null && Object.hasOwnProperty.call(message, "mediaUrl")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.mediaUrl); if (message.thumbnail != null && Object.hasOwnProperty.call(message, "thumbnail")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.thumbnail); if (message.sourceType != null && Object.hasOwnProperty.call(message, "sourceType")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.sourceType); if (message.sourceId != null && Object.hasOwnProperty.call(message, "sourceId")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.sourceId); if (message.sourceUrl != null && Object.hasOwnProperty.call(message, "sourceUrl")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.sourceUrl); return writer; }; /** * Encodes the specified ExternalAdReplyInfo message, length delimited. Does not implicitly {@link proto.ExternalAdReplyInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.ExternalAdReplyInfo * @static * @param {proto.IExternalAdReplyInfo} message ExternalAdReplyInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ExternalAdReplyInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an ExternalAdReplyInfo message from the specified reader or buffer. * @function decode * @memberof proto.ExternalAdReplyInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ExternalAdReplyInfo} ExternalAdReplyInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ExternalAdReplyInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ExternalAdReplyInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.title = reader.string(); break; case 2: message.body = reader.string(); break; case 3: message.mediaType = reader.int32(); break; case 4: message.thumbnailUrl = reader.string(); break; case 5: message.mediaUrl = reader.string(); break; case 6: message.thumbnail = reader.bytes(); break; case 7: message.sourceType = reader.string(); break; case 8: message.sourceId = reader.string(); break; case 9: message.sourceUrl = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an ExternalAdReplyInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ExternalAdReplyInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ExternalAdReplyInfo} ExternalAdReplyInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ExternalAdReplyInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an ExternalAdReplyInfo message. * @function verify * @memberof proto.ExternalAdReplyInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ExternalAdReplyInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: string expected"; if (message.body != null && message.hasOwnProperty("body")) if (!$util.isString(message.body)) return "body: string expected"; if (message.mediaType != null && message.hasOwnProperty("mediaType")) switch (message.mediaType) { default: return "mediaType: enum value expected"; case 0: case 1: case 2: break; } if (message.thumbnailUrl != null && message.hasOwnProperty("thumbnailUrl")) if (!$util.isString(message.thumbnailUrl)) return "thumbnailUrl: string expected"; if (message.mediaUrl != null && message.hasOwnProperty("mediaUrl")) if (!$util.isString(message.mediaUrl)) return "mediaUrl: string expected"; if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) if (!(message.thumbnail && typeof message.thumbnail.length === "number" || $util.isString(message.thumbnail))) return "thumbnail: buffer expected"; if (message.sourceType != null && message.hasOwnProperty("sourceType")) if (!$util.isString(message.sourceType)) return "sourceType: string expected"; if (message.sourceId != null && message.hasOwnProperty("sourceId")) if (!$util.isString(message.sourceId)) return "sourceId: string expected"; if (message.sourceUrl != null && message.hasOwnProperty("sourceUrl")) if (!$util.isString(message.sourceUrl)) return "sourceUrl: string expected"; return null; }; /** * Creates an ExternalAdReplyInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ExternalAdReplyInfo * @static * @param {Object.} object Plain object * @returns {proto.ExternalAdReplyInfo} ExternalAdReplyInfo */ ExternalAdReplyInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.ExternalAdReplyInfo) return object; var message = new $root.proto.ExternalAdReplyInfo(); if (object.title != null) message.title = String(object.title); if (object.body != null) message.body = String(object.body); switch (object.mediaType) { case "NONE": case 0: message.mediaType = 0; break; case "IMAGE": case 1: message.mediaType = 1; break; case "VIDEO": case 2: message.mediaType = 2; break; } if (object.thumbnailUrl != null) message.thumbnailUrl = String(object.thumbnailUrl); if (object.mediaUrl != null) message.mediaUrl = String(object.mediaUrl); if (object.thumbnail != null) if (typeof object.thumbnail === "string") $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0); else if (object.thumbnail.length) message.thumbnail = object.thumbnail; if (object.sourceType != null) message.sourceType = String(object.sourceType); if (object.sourceId != null) message.sourceId = String(object.sourceId); if (object.sourceUrl != null) message.sourceUrl = String(object.sourceUrl); return message; }; /** * Creates a plain object from an ExternalAdReplyInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.ExternalAdReplyInfo * @static * @param {proto.ExternalAdReplyInfo} message ExternalAdReplyInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ExternalAdReplyInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.title = ""; object.body = ""; object.mediaType = options.enums === String ? "NONE" : 0; object.thumbnailUrl = ""; object.mediaUrl = ""; if (options.bytes === String) object.thumbnail = ""; else { object.thumbnail = []; if (options.bytes !== Array) object.thumbnail = $util.newBuffer(object.thumbnail); } object.sourceType = ""; object.sourceId = ""; object.sourceUrl = ""; } if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.body != null && message.hasOwnProperty("body")) object.body = message.body; if (message.mediaType != null && message.hasOwnProperty("mediaType")) object.mediaType = options.enums === String ? $root.proto.ExternalAdReplyInfo.ExternalAdReplyInfoMediaType[message.mediaType] : message.mediaType; if (message.thumbnailUrl != null && message.hasOwnProperty("thumbnailUrl")) object.thumbnailUrl = message.thumbnailUrl; if (message.mediaUrl != null && message.hasOwnProperty("mediaUrl")) object.mediaUrl = message.mediaUrl; if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) object.thumbnail = options.bytes === String ? $util.base64.encode(message.thumbnail, 0, message.thumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbnail) : message.thumbnail; if (message.sourceType != null && message.hasOwnProperty("sourceType")) object.sourceType = message.sourceType; if (message.sourceId != null && message.hasOwnProperty("sourceId")) object.sourceId = message.sourceId; if (message.sourceUrl != null && message.hasOwnProperty("sourceUrl")) object.sourceUrl = message.sourceUrl; return object; }; /** * Converts this ExternalAdReplyInfo to JSON. * @function toJSON * @memberof proto.ExternalAdReplyInfo * @instance * @returns {Object.} JSON object */ ExternalAdReplyInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ExternalAdReplyInfoMediaType enum. * @name proto.ExternalAdReplyInfo.ExternalAdReplyInfoMediaType * @enum {number} * @property {number} NONE=0 NONE value * @property {number} IMAGE=1 IMAGE value * @property {number} VIDEO=2 VIDEO value */ ExternalAdReplyInfo.ExternalAdReplyInfoMediaType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "NONE"] = 0; values[valuesById[1] = "IMAGE"] = 1; values[valuesById[2] = "VIDEO"] = 2; return values; })(); return ExternalAdReplyInfo; })(); proto.ContextInfo = (function() { /** * Properties of a ContextInfo. * @memberof proto * @interface IContextInfo * @property {string|null} [stanzaId] ContextInfo stanzaId * @property {string|null} [participant] ContextInfo participant * @property {proto.IMessage|null} [quotedMessage] ContextInfo quotedMessage * @property {string|null} [remoteJid] ContextInfo remoteJid * @property {Array.|null} [mentionedJid] ContextInfo mentionedJid * @property {string|null} [conversionSource] ContextInfo conversionSource * @property {Uint8Array|null} [conversionData] ContextInfo conversionData * @property {number|null} [conversionDelaySeconds] ContextInfo conversionDelaySeconds * @property {number|null} [forwardingScore] ContextInfo forwardingScore * @property {boolean|null} [isForwarded] ContextInfo isForwarded * @property {proto.IAdReplyInfo|null} [quotedAd] ContextInfo quotedAd * @property {proto.IMessageKey|null} [placeholderKey] ContextInfo placeholderKey * @property {number|null} [expiration] ContextInfo expiration * @property {number|Long|null} [ephemeralSettingTimestamp] ContextInfo ephemeralSettingTimestamp * @property {Uint8Array|null} [ephemeralSharedSecret] ContextInfo ephemeralSharedSecret * @property {proto.IExternalAdReplyInfo|null} [externalAdReply] ContextInfo externalAdReply */ /** * Constructs a new ContextInfo. * @memberof proto * @classdesc Represents a ContextInfo. * @implements IContextInfo * @constructor * @param {proto.IContextInfo=} [properties] Properties to set */ function ContextInfo(properties) { this.mentionedJid = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ContextInfo stanzaId. * @member {string} stanzaId * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.stanzaId = ""; /** * ContextInfo participant. * @member {string} participant * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.participant = ""; /** * ContextInfo quotedMessage. * @member {proto.IMessage|null|undefined} quotedMessage * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.quotedMessage = null; /** * ContextInfo remoteJid. * @member {string} remoteJid * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.remoteJid = ""; /** * ContextInfo mentionedJid. * @member {Array.} mentionedJid * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.mentionedJid = $util.emptyArray; /** * ContextInfo conversionSource. * @member {string} conversionSource * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.conversionSource = ""; /** * ContextInfo conversionData. * @member {Uint8Array} conversionData * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.conversionData = $util.newBuffer([]); /** * ContextInfo conversionDelaySeconds. * @member {number} conversionDelaySeconds * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.conversionDelaySeconds = 0; /** * ContextInfo forwardingScore. * @member {number} forwardingScore * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.forwardingScore = 0; /** * ContextInfo isForwarded. * @member {boolean} isForwarded * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.isForwarded = false; /** * ContextInfo quotedAd. * @member {proto.IAdReplyInfo|null|undefined} quotedAd * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.quotedAd = null; /** * ContextInfo placeholderKey. * @member {proto.IMessageKey|null|undefined} placeholderKey * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.placeholderKey = null; /** * ContextInfo expiration. * @member {number} expiration * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.expiration = 0; /** * ContextInfo ephemeralSettingTimestamp. * @member {number|Long} ephemeralSettingTimestamp * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.ephemeralSettingTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * ContextInfo ephemeralSharedSecret. * @member {Uint8Array} ephemeralSharedSecret * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.ephemeralSharedSecret = $util.newBuffer([]); /** * ContextInfo externalAdReply. * @member {proto.IExternalAdReplyInfo|null|undefined} externalAdReply * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.externalAdReply = null; /** * Creates a new ContextInfo instance using the specified properties. * @function create * @memberof proto.ContextInfo * @static * @param {proto.IContextInfo=} [properties] Properties to set * @returns {proto.ContextInfo} ContextInfo instance */ ContextInfo.create = function create(properties) { return new ContextInfo(properties); }; /** * Encodes the specified ContextInfo message. Does not implicitly {@link proto.ContextInfo.verify|verify} messages. * @function encode * @memberof proto.ContextInfo * @static * @param {proto.IContextInfo} message ContextInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ContextInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.stanzaId != null && Object.hasOwnProperty.call(message, "stanzaId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.stanzaId); if (message.participant != null && Object.hasOwnProperty.call(message, "participant")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.participant); if (message.quotedMessage != null && Object.hasOwnProperty.call(message, "quotedMessage")) $root.proto.Message.encode(message.quotedMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.remoteJid != null && Object.hasOwnProperty.call(message, "remoteJid")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.remoteJid); if (message.mentionedJid != null && message.mentionedJid.length) for (var i = 0; i < message.mentionedJid.length; ++i) writer.uint32(/* id 15, wireType 2 =*/122).string(message.mentionedJid[i]); if (message.conversionSource != null && Object.hasOwnProperty.call(message, "conversionSource")) writer.uint32(/* id 18, wireType 2 =*/146).string(message.conversionSource); if (message.conversionData != null && Object.hasOwnProperty.call(message, "conversionData")) writer.uint32(/* id 19, wireType 2 =*/154).bytes(message.conversionData); if (message.conversionDelaySeconds != null && Object.hasOwnProperty.call(message, "conversionDelaySeconds")) writer.uint32(/* id 20, wireType 0 =*/160).uint32(message.conversionDelaySeconds); if (message.forwardingScore != null && Object.hasOwnProperty.call(message, "forwardingScore")) writer.uint32(/* id 21, wireType 0 =*/168).uint32(message.forwardingScore); if (message.isForwarded != null && Object.hasOwnProperty.call(message, "isForwarded")) writer.uint32(/* id 22, wireType 0 =*/176).bool(message.isForwarded); if (message.quotedAd != null && Object.hasOwnProperty.call(message, "quotedAd")) $root.proto.AdReplyInfo.encode(message.quotedAd, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); if (message.placeholderKey != null && Object.hasOwnProperty.call(message, "placeholderKey")) $root.proto.MessageKey.encode(message.placeholderKey, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); if (message.expiration != null && Object.hasOwnProperty.call(message, "expiration")) writer.uint32(/* id 25, wireType 0 =*/200).uint32(message.expiration); if (message.ephemeralSettingTimestamp != null && Object.hasOwnProperty.call(message, "ephemeralSettingTimestamp")) writer.uint32(/* id 26, wireType 0 =*/208).int64(message.ephemeralSettingTimestamp); if (message.ephemeralSharedSecret != null && Object.hasOwnProperty.call(message, "ephemeralSharedSecret")) writer.uint32(/* id 27, wireType 2 =*/218).bytes(message.ephemeralSharedSecret); if (message.externalAdReply != null && Object.hasOwnProperty.call(message, "externalAdReply")) $root.proto.ExternalAdReplyInfo.encode(message.externalAdReply, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); return writer; }; /** * Encodes the specified ContextInfo message, length delimited. Does not implicitly {@link proto.ContextInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.ContextInfo * @static * @param {proto.IContextInfo} message ContextInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ContextInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ContextInfo message from the specified reader or buffer. * @function decode * @memberof proto.ContextInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ContextInfo} ContextInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ContextInfo.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ContextInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.stanzaId = reader.string(); break; case 2: message.participant = reader.string(); break; case 3: message.quotedMessage = $root.proto.Message.decode(reader, reader.uint32()); break; case 4: message.remoteJid = reader.string(); break; case 15: if (!(message.mentionedJid && message.mentionedJid.length)) message.mentionedJid = []; message.mentionedJid.push(reader.string()); break; case 18: message.conversionSource = reader.string(); break; case 19: message.conversionData = reader.bytes(); break; case 20: message.conversionDelaySeconds = reader.uint32(); break; case 21: message.forwardingScore = reader.uint32(); break; case 22: message.isForwarded = reader.bool(); break; case 23: message.quotedAd = $root.proto.AdReplyInfo.decode(reader, reader.uint32()); break; case 24: message.placeholderKey = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 25: message.expiration = reader.uint32(); break; case 26: message.ephemeralSettingTimestamp = reader.int64(); break; case 27: message.ephemeralSharedSecret = reader.bytes(); break; case 28: message.externalAdReply = $root.proto.ExternalAdReplyInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ContextInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ContextInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ContextInfo} ContextInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ContextInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ContextInfo message. * @function verify * @memberof proto.ContextInfo * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ContextInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.stanzaId != null && message.hasOwnProperty("stanzaId")) if (!$util.isString(message.stanzaId)) return "stanzaId: string expected"; if (message.participant != null && message.hasOwnProperty("participant")) if (!$util.isString(message.participant)) return "participant: string expected"; if (message.quotedMessage != null && message.hasOwnProperty("quotedMessage")) { var error = $root.proto.Message.verify(message.quotedMessage); if (error) return "quotedMessage." + error; } if (message.remoteJid != null && message.hasOwnProperty("remoteJid")) if (!$util.isString(message.remoteJid)) return "remoteJid: string expected"; if (message.mentionedJid != null && message.hasOwnProperty("mentionedJid")) { if (!Array.isArray(message.mentionedJid)) return "mentionedJid: array expected"; for (var i = 0; i < message.mentionedJid.length; ++i) if (!$util.isString(message.mentionedJid[i])) return "mentionedJid: string[] expected"; } if (message.conversionSource != null && message.hasOwnProperty("conversionSource")) if (!$util.isString(message.conversionSource)) return "conversionSource: string expected"; if (message.conversionData != null && message.hasOwnProperty("conversionData")) if (!(message.conversionData && typeof message.conversionData.length === "number" || $util.isString(message.conversionData))) return "conversionData: buffer expected"; if (message.conversionDelaySeconds != null && message.hasOwnProperty("conversionDelaySeconds")) if (!$util.isInteger(message.conversionDelaySeconds)) return "conversionDelaySeconds: integer expected"; if (message.forwardingScore != null && message.hasOwnProperty("forwardingScore")) if (!$util.isInteger(message.forwardingScore)) return "forwardingScore: integer expected"; if (message.isForwarded != null && message.hasOwnProperty("isForwarded")) if (typeof message.isForwarded !== "boolean") return "isForwarded: boolean expected"; if (message.quotedAd != null && message.hasOwnProperty("quotedAd")) { var error = $root.proto.AdReplyInfo.verify(message.quotedAd); if (error) return "quotedAd." + error; } if (message.placeholderKey != null && message.hasOwnProperty("placeholderKey")) { var error = $root.proto.MessageKey.verify(message.placeholderKey); if (error) return "placeholderKey." + error; } if (message.expiration != null && message.hasOwnProperty("expiration")) if (!$util.isInteger(message.expiration)) return "expiration: integer expected"; if (message.ephemeralSettingTimestamp != null && message.hasOwnProperty("ephemeralSettingTimestamp")) if (!$util.isInteger(message.ephemeralSettingTimestamp) && !(message.ephemeralSettingTimestamp && $util.isInteger(message.ephemeralSettingTimestamp.low) && $util.isInteger(message.ephemeralSettingTimestamp.high))) return "ephemeralSettingTimestamp: integer|Long expected"; if (message.ephemeralSharedSecret != null && message.hasOwnProperty("ephemeralSharedSecret")) if (!(message.ephemeralSharedSecret && typeof message.ephemeralSharedSecret.length === "number" || $util.isString(message.ephemeralSharedSecret))) return "ephemeralSharedSecret: buffer expected"; if (message.externalAdReply != null && message.hasOwnProperty("externalAdReply")) { var error = $root.proto.ExternalAdReplyInfo.verify(message.externalAdReply); if (error) return "externalAdReply." + error; } return null; }; /** * Creates a ContextInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ContextInfo * @static * @param {Object.} object Plain object * @returns {proto.ContextInfo} ContextInfo */ ContextInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.ContextInfo) return object; var message = new $root.proto.ContextInfo(); if (object.stanzaId != null) message.stanzaId = String(object.stanzaId); if (object.participant != null) message.participant = String(object.participant); if (object.quotedMessage != null) { if (typeof object.quotedMessage !== "object") throw TypeError(".proto.ContextInfo.quotedMessage: object expected"); message.quotedMessage = $root.proto.Message.fromObject(object.quotedMessage); } if (object.remoteJid != null) message.remoteJid = String(object.remoteJid); if (object.mentionedJid) { if (!Array.isArray(object.mentionedJid)) throw TypeError(".proto.ContextInfo.mentionedJid: array expected"); message.mentionedJid = []; for (var i = 0; i < object.mentionedJid.length; ++i) message.mentionedJid[i] = String(object.mentionedJid[i]); } if (object.conversionSource != null) message.conversionSource = String(object.conversionSource); if (object.conversionData != null) if (typeof object.conversionData === "string") $util.base64.decode(object.conversionData, message.conversionData = $util.newBuffer($util.base64.length(object.conversionData)), 0); else if (object.conversionData.length) message.conversionData = object.conversionData; if (object.conversionDelaySeconds != null) message.conversionDelaySeconds = object.conversionDelaySeconds >>> 0; if (object.forwardingScore != null) message.forwardingScore = object.forwardingScore >>> 0; if (object.isForwarded != null) message.isForwarded = Boolean(object.isForwarded); if (object.quotedAd != null) { if (typeof object.quotedAd !== "object") throw TypeError(".proto.ContextInfo.quotedAd: object expected"); message.quotedAd = $root.proto.AdReplyInfo.fromObject(object.quotedAd); } if (object.placeholderKey != null) { if (typeof object.placeholderKey !== "object") throw TypeError(".proto.ContextInfo.placeholderKey: object expected"); message.placeholderKey = $root.proto.MessageKey.fromObject(object.placeholderKey); } if (object.expiration != null) message.expiration = object.expiration >>> 0; if (object.ephemeralSettingTimestamp != null) if ($util.Long) (message.ephemeralSettingTimestamp = $util.Long.fromValue(object.ephemeralSettingTimestamp)).unsigned = false; else if (typeof object.ephemeralSettingTimestamp === "string") message.ephemeralSettingTimestamp = parseInt(object.ephemeralSettingTimestamp, 10); else if (typeof object.ephemeralSettingTimestamp === "number") message.ephemeralSettingTimestamp = object.ephemeralSettingTimestamp; else if (typeof object.ephemeralSettingTimestamp === "object") message.ephemeralSettingTimestamp = new $util.LongBits(object.ephemeralSettingTimestamp.low >>> 0, object.ephemeralSettingTimestamp.high >>> 0).toNumber(); if (object.ephemeralSharedSecret != null) if (typeof object.ephemeralSharedSecret === "string") $util.base64.decode(object.ephemeralSharedSecret, message.ephemeralSharedSecret = $util.newBuffer($util.base64.length(object.ephemeralSharedSecret)), 0); else if (object.ephemeralSharedSecret.length) message.ephemeralSharedSecret = object.ephemeralSharedSecret; if (object.externalAdReply != null) { if (typeof object.externalAdReply !== "object") throw TypeError(".proto.ContextInfo.externalAdReply: object expected"); message.externalAdReply = $root.proto.ExternalAdReplyInfo.fromObject(object.externalAdReply); } return message; }; /** * Creates a plain object from a ContextInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.ContextInfo * @static * @param {proto.ContextInfo} message ContextInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ContextInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.mentionedJid = []; if (options.defaults) { object.stanzaId = ""; object.participant = ""; object.quotedMessage = null; object.remoteJid = ""; object.conversionSource = ""; if (options.bytes === String) object.conversionData = ""; else { object.conversionData = []; if (options.bytes !== Array) object.conversionData = $util.newBuffer(object.conversionData); } object.conversionDelaySeconds = 0; object.forwardingScore = 0; object.isForwarded = false; object.quotedAd = null; object.placeholderKey = null; object.expiration = 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.ephemeralSettingTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.ephemeralSettingTimestamp = options.longs === String ? "0" : 0; if (options.bytes === String) object.ephemeralSharedSecret = ""; else { object.ephemeralSharedSecret = []; if (options.bytes !== Array) object.ephemeralSharedSecret = $util.newBuffer(object.ephemeralSharedSecret); } object.externalAdReply = null; } if (message.stanzaId != null && message.hasOwnProperty("stanzaId")) object.stanzaId = message.stanzaId; if (message.participant != null && message.hasOwnProperty("participant")) object.participant = message.participant; if (message.quotedMessage != null && message.hasOwnProperty("quotedMessage")) object.quotedMessage = $root.proto.Message.toObject(message.quotedMessage, options); if (message.remoteJid != null && message.hasOwnProperty("remoteJid")) object.remoteJid = message.remoteJid; if (message.mentionedJid && message.mentionedJid.length) { object.mentionedJid = []; for (var j = 0; j < message.mentionedJid.length; ++j) object.mentionedJid[j] = message.mentionedJid[j]; } if (message.conversionSource != null && message.hasOwnProperty("conversionSource")) object.conversionSource = message.conversionSource; if (message.conversionData != null && message.hasOwnProperty("conversionData")) object.conversionData = options.bytes === String ? $util.base64.encode(message.conversionData, 0, message.conversionData.length) : options.bytes === Array ? Array.prototype.slice.call(message.conversionData) : message.conversionData; if (message.conversionDelaySeconds != null && message.hasOwnProperty("conversionDelaySeconds")) object.conversionDelaySeconds = message.conversionDelaySeconds; if (message.forwardingScore != null && message.hasOwnProperty("forwardingScore")) object.forwardingScore = message.forwardingScore; if (message.isForwarded != null && message.hasOwnProperty("isForwarded")) object.isForwarded = message.isForwarded; if (message.quotedAd != null && message.hasOwnProperty("quotedAd")) object.quotedAd = $root.proto.AdReplyInfo.toObject(message.quotedAd, options); if (message.placeholderKey != null && message.hasOwnProperty("placeholderKey")) object.placeholderKey = $root.proto.MessageKey.toObject(message.placeholderKey, options); if (message.expiration != null && message.hasOwnProperty("expiration")) object.expiration = message.expiration; if (message.ephemeralSettingTimestamp != null && message.hasOwnProperty("ephemeralSettingTimestamp")) if (typeof message.ephemeralSettingTimestamp === "number") object.ephemeralSettingTimestamp = options.longs === String ? String(message.ephemeralSettingTimestamp) : message.ephemeralSettingTimestamp; else object.ephemeralSettingTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.ephemeralSettingTimestamp) : options.longs === Number ? new $util.LongBits(message.ephemeralSettingTimestamp.low >>> 0, message.ephemeralSettingTimestamp.high >>> 0).toNumber() : message.ephemeralSettingTimestamp; if (message.ephemeralSharedSecret != null && message.hasOwnProperty("ephemeralSharedSecret")) object.ephemeralSharedSecret = options.bytes === String ? $util.base64.encode(message.ephemeralSharedSecret, 0, message.ephemeralSharedSecret.length) : options.bytes === Array ? Array.prototype.slice.call(message.ephemeralSharedSecret) : message.ephemeralSharedSecret; if (message.externalAdReply != null && message.hasOwnProperty("externalAdReply")) object.externalAdReply = $root.proto.ExternalAdReplyInfo.toObject(message.externalAdReply, options); return object; }; /** * Converts this ContextInfo to JSON. * @function toJSON * @memberof proto.ContextInfo * @instance * @returns {Object.} JSON object */ ContextInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ContextInfo; })(); proto.SenderKeyDistributionMessage = (function() { /** * Properties of a SenderKeyDistributionMessage. * @memberof proto * @interface ISenderKeyDistributionMessage * @property {string|null} [groupId] SenderKeyDistributionMessage groupId * @property {Uint8Array|null} [axolotlSenderKeyDistributionMessage] SenderKeyDistributionMessage axolotlSenderKeyDistributionMessage */ /** * Constructs a new SenderKeyDistributionMessage. * @memberof proto * @classdesc Represents a SenderKeyDistributionMessage. * @implements ISenderKeyDistributionMessage * @constructor * @param {proto.ISenderKeyDistributionMessage=} [properties] Properties to set */ function SenderKeyDistributionMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * SenderKeyDistributionMessage groupId. * @member {string} groupId * @memberof proto.SenderKeyDistributionMessage * @instance */ SenderKeyDistributionMessage.prototype.groupId = ""; /** * SenderKeyDistributionMessage axolotlSenderKeyDistributionMessage. * @member {Uint8Array} axolotlSenderKeyDistributionMessage * @memberof proto.SenderKeyDistributionMessage * @instance */ SenderKeyDistributionMessage.prototype.axolotlSenderKeyDistributionMessage = $util.newBuffer([]); /** * Creates a new SenderKeyDistributionMessage instance using the specified properties. * @function create * @memberof proto.SenderKeyDistributionMessage * @static * @param {proto.ISenderKeyDistributionMessage=} [properties] Properties to set * @returns {proto.SenderKeyDistributionMessage} SenderKeyDistributionMessage instance */ SenderKeyDistributionMessage.create = function create(properties) { return new SenderKeyDistributionMessage(properties); }; /** * Encodes the specified SenderKeyDistributionMessage message. Does not implicitly {@link proto.SenderKeyDistributionMessage.verify|verify} messages. * @function encode * @memberof proto.SenderKeyDistributionMessage * @static * @param {proto.ISenderKeyDistributionMessage} message SenderKeyDistributionMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderKeyDistributionMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.groupId != null && Object.hasOwnProperty.call(message, "groupId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.groupId); if (message.axolotlSenderKeyDistributionMessage != null && Object.hasOwnProperty.call(message, "axolotlSenderKeyDistributionMessage")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.axolotlSenderKeyDistributionMessage); return writer; }; /** * Encodes the specified SenderKeyDistributionMessage message, length delimited. Does not implicitly {@link proto.SenderKeyDistributionMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.SenderKeyDistributionMessage * @static * @param {proto.ISenderKeyDistributionMessage} message SenderKeyDistributionMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderKeyDistributionMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SenderKeyDistributionMessage message from the specified reader or buffer. * @function decode * @memberof proto.SenderKeyDistributionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SenderKeyDistributionMessage} SenderKeyDistributionMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderKeyDistributionMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.SenderKeyDistributionMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.groupId = reader.string(); break; case 2: message.axolotlSenderKeyDistributionMessage = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SenderKeyDistributionMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SenderKeyDistributionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SenderKeyDistributionMessage} SenderKeyDistributionMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderKeyDistributionMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SenderKeyDistributionMessage message. * @function verify * @memberof proto.SenderKeyDistributionMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SenderKeyDistributionMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.groupId != null && message.hasOwnProperty("groupId")) if (!$util.isString(message.groupId)) return "groupId: string expected"; if (message.axolotlSenderKeyDistributionMessage != null && message.hasOwnProperty("axolotlSenderKeyDistributionMessage")) if (!(message.axolotlSenderKeyDistributionMessage && typeof message.axolotlSenderKeyDistributionMessage.length === "number" || $util.isString(message.axolotlSenderKeyDistributionMessage))) return "axolotlSenderKeyDistributionMessage: buffer expected"; return null; }; /** * Creates a SenderKeyDistributionMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SenderKeyDistributionMessage * @static * @param {Object.} object Plain object * @returns {proto.SenderKeyDistributionMessage} SenderKeyDistributionMessage */ SenderKeyDistributionMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.SenderKeyDistributionMessage) return object; var message = new $root.proto.SenderKeyDistributionMessage(); if (object.groupId != null) message.groupId = String(object.groupId); if (object.axolotlSenderKeyDistributionMessage != null) if (typeof object.axolotlSenderKeyDistributionMessage === "string") $util.base64.decode(object.axolotlSenderKeyDistributionMessage, message.axolotlSenderKeyDistributionMessage = $util.newBuffer($util.base64.length(object.axolotlSenderKeyDistributionMessage)), 0); else if (object.axolotlSenderKeyDistributionMessage.length) message.axolotlSenderKeyDistributionMessage = object.axolotlSenderKeyDistributionMessage; return message; }; /** * Creates a plain object from a SenderKeyDistributionMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.SenderKeyDistributionMessage * @static * @param {proto.SenderKeyDistributionMessage} message SenderKeyDistributionMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ SenderKeyDistributionMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.groupId = ""; if (options.bytes === String) object.axolotlSenderKeyDistributionMessage = ""; else { object.axolotlSenderKeyDistributionMessage = []; if (options.bytes !== Array) object.axolotlSenderKeyDistributionMessage = $util.newBuffer(object.axolotlSenderKeyDistributionMessage); } } if (message.groupId != null && message.hasOwnProperty("groupId")) object.groupId = message.groupId; if (message.axolotlSenderKeyDistributionMessage != null && message.hasOwnProperty("axolotlSenderKeyDistributionMessage")) object.axolotlSenderKeyDistributionMessage = options.bytes === String ? $util.base64.encode(message.axolotlSenderKeyDistributionMessage, 0, message.axolotlSenderKeyDistributionMessage.length) : options.bytes === Array ? Array.prototype.slice.call(message.axolotlSenderKeyDistributionMessage) : message.axolotlSenderKeyDistributionMessage; return object; }; /** * Converts this SenderKeyDistributionMessage to JSON. * @function toJSON * @memberof proto.SenderKeyDistributionMessage * @instance * @returns {Object.} JSON object */ SenderKeyDistributionMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SenderKeyDistributionMessage; })(); proto.ImageMessage = (function() { /** * Properties of an ImageMessage. * @memberof proto * @interface IImageMessage * @property {string|null} [url] ImageMessage url * @property {string|null} [mimetype] ImageMessage mimetype * @property {string|null} [caption] ImageMessage caption * @property {Uint8Array|null} [fileSha256] ImageMessage fileSha256 * @property {number|Long|null} [fileLength] ImageMessage fileLength * @property {number|null} [height] ImageMessage height * @property {number|null} [width] ImageMessage width * @property {Uint8Array|null} [mediaKey] ImageMessage mediaKey * @property {Uint8Array|null} [fileEncSha256] ImageMessage fileEncSha256 * @property {Array.|null} [interactiveAnnotations] ImageMessage interactiveAnnotations * @property {string|null} [directPath] ImageMessage directPath * @property {number|Long|null} [mediaKeyTimestamp] ImageMessage mediaKeyTimestamp * @property {Uint8Array|null} [jpegThumbnail] ImageMessage jpegThumbnail * @property {proto.IContextInfo|null} [contextInfo] ImageMessage contextInfo * @property {Uint8Array|null} [firstScanSidecar] ImageMessage firstScanSidecar * @property {number|null} [firstScanLength] ImageMessage firstScanLength * @property {number|null} [experimentGroupId] ImageMessage experimentGroupId * @property {Uint8Array|null} [scansSidecar] ImageMessage scansSidecar * @property {Array.|null} [scanLengths] ImageMessage scanLengths * @property {Uint8Array|null} [midQualityFileSha256] ImageMessage midQualityFileSha256 * @property {Uint8Array|null} [midQualityFileEncSha256] ImageMessage midQualityFileEncSha256 * @property {boolean|null} [viewOnce] ImageMessage viewOnce */ /** * Constructs a new ImageMessage. * @memberof proto * @classdesc Represents an ImageMessage. * @implements IImageMessage * @constructor * @param {proto.IImageMessage=} [properties] Properties to set */ function ImageMessage(properties) { this.interactiveAnnotations = []; this.scanLengths = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ImageMessage url. * @member {string} url * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.url = ""; /** * ImageMessage mimetype. * @member {string} mimetype * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.mimetype = ""; /** * ImageMessage caption. * @member {string} caption * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.caption = ""; /** * ImageMessage fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.fileSha256 = $util.newBuffer([]); /** * ImageMessage fileLength. * @member {number|Long} fileLength * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * ImageMessage height. * @member {number} height * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.height = 0; /** * ImageMessage width. * @member {number} width * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.width = 0; /** * ImageMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.mediaKey = $util.newBuffer([]); /** * ImageMessage fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.fileEncSha256 = $util.newBuffer([]); /** * ImageMessage interactiveAnnotations. * @member {Array.} interactiveAnnotations * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.interactiveAnnotations = $util.emptyArray; /** * ImageMessage directPath. * @member {string} directPath * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.directPath = ""; /** * ImageMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * ImageMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * ImageMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.contextInfo = null; /** * ImageMessage firstScanSidecar. * @member {Uint8Array} firstScanSidecar * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.firstScanSidecar = $util.newBuffer([]); /** * ImageMessage firstScanLength. * @member {number} firstScanLength * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.firstScanLength = 0; /** * ImageMessage experimentGroupId. * @member {number} experimentGroupId * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.experimentGroupId = 0; /** * ImageMessage scansSidecar. * @member {Uint8Array} scansSidecar * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.scansSidecar = $util.newBuffer([]); /** * ImageMessage scanLengths. * @member {Array.} scanLengths * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.scanLengths = $util.emptyArray; /** * ImageMessage midQualityFileSha256. * @member {Uint8Array} midQualityFileSha256 * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.midQualityFileSha256 = $util.newBuffer([]); /** * ImageMessage midQualityFileEncSha256. * @member {Uint8Array} midQualityFileEncSha256 * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.midQualityFileEncSha256 = $util.newBuffer([]); /** * ImageMessage viewOnce. * @member {boolean} viewOnce * @memberof proto.ImageMessage * @instance */ ImageMessage.prototype.viewOnce = false; /** * Creates a new ImageMessage instance using the specified properties. * @function create * @memberof proto.ImageMessage * @static * @param {proto.IImageMessage=} [properties] Properties to set * @returns {proto.ImageMessage} ImageMessage instance */ ImageMessage.create = function create(properties) { return new ImageMessage(properties); }; /** * Encodes the specified ImageMessage message. Does not implicitly {@link proto.ImageMessage.verify|verify} messages. * @function encode * @memberof proto.ImageMessage * @static * @param {proto.IImageMessage} message ImageMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ImageMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); if (message.mimetype != null && Object.hasOwnProperty.call(message, "mimetype")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimetype); if (message.caption != null && Object.hasOwnProperty.call(message, "caption")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.caption); if (message.fileSha256 != null && Object.hasOwnProperty.call(message, "fileSha256")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.fileSha256); if (message.fileLength != null && Object.hasOwnProperty.call(message, "fileLength")) writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.fileLength); if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.height); if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.width); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.mediaKey); if (message.fileEncSha256 != null && Object.hasOwnProperty.call(message, "fileEncSha256")) writer.uint32(/* id 9, wireType 2 =*/74).bytes(message.fileEncSha256); if (message.interactiveAnnotations != null && message.interactiveAnnotations.length) for (var i = 0; i < message.interactiveAnnotations.length; ++i) $root.proto.InteractiveAnnotation.encode(message.interactiveAnnotations[i], writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); if (message.directPath != null && Object.hasOwnProperty.call(message, "directPath")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.directPath); if (message.mediaKeyTimestamp != null && Object.hasOwnProperty.call(message, "mediaKeyTimestamp")) writer.uint32(/* id 12, wireType 0 =*/96).int64(message.mediaKeyTimestamp); if (message.jpegThumbnail != null && Object.hasOwnProperty.call(message, "jpegThumbnail")) writer.uint32(/* id 16, wireType 2 =*/130).bytes(message.jpegThumbnail); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.firstScanSidecar != null && Object.hasOwnProperty.call(message, "firstScanSidecar")) writer.uint32(/* id 18, wireType 2 =*/146).bytes(message.firstScanSidecar); if (message.firstScanLength != null && Object.hasOwnProperty.call(message, "firstScanLength")) writer.uint32(/* id 19, wireType 0 =*/152).uint32(message.firstScanLength); if (message.experimentGroupId != null && Object.hasOwnProperty.call(message, "experimentGroupId")) writer.uint32(/* id 20, wireType 0 =*/160).uint32(message.experimentGroupId); if (message.scansSidecar != null && Object.hasOwnProperty.call(message, "scansSidecar")) writer.uint32(/* id 21, wireType 2 =*/170).bytes(message.scansSidecar); if (message.scanLengths != null && message.scanLengths.length) for (var i = 0; i < message.scanLengths.length; ++i) writer.uint32(/* id 22, wireType 0 =*/176).uint32(message.scanLengths[i]); if (message.midQualityFileSha256 != null && Object.hasOwnProperty.call(message, "midQualityFileSha256")) writer.uint32(/* id 23, wireType 2 =*/186).bytes(message.midQualityFileSha256); if (message.midQualityFileEncSha256 != null && Object.hasOwnProperty.call(message, "midQualityFileEncSha256")) writer.uint32(/* id 24, wireType 2 =*/194).bytes(message.midQualityFileEncSha256); if (message.viewOnce != null && Object.hasOwnProperty.call(message, "viewOnce")) writer.uint32(/* id 25, wireType 0 =*/200).bool(message.viewOnce); return writer; }; /** * Encodes the specified ImageMessage message, length delimited. Does not implicitly {@link proto.ImageMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.ImageMessage * @static * @param {proto.IImageMessage} message ImageMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ImageMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an ImageMessage message from the specified reader or buffer. * @function decode * @memberof proto.ImageMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ImageMessage} ImageMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ImageMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ImageMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.url = reader.string(); break; case 2: message.mimetype = reader.string(); break; case 3: message.caption = reader.string(); break; case 4: message.fileSha256 = reader.bytes(); break; case 5: message.fileLength = reader.uint64(); break; case 6: message.height = reader.uint32(); break; case 7: message.width = reader.uint32(); break; case 8: message.mediaKey = reader.bytes(); break; case 9: message.fileEncSha256 = reader.bytes(); break; case 10: if (!(message.interactiveAnnotations && message.interactiveAnnotations.length)) message.interactiveAnnotations = []; message.interactiveAnnotations.push($root.proto.InteractiveAnnotation.decode(reader, reader.uint32())); break; case 11: message.directPath = reader.string(); break; case 12: message.mediaKeyTimestamp = reader.int64(); break; case 16: message.jpegThumbnail = reader.bytes(); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 18: message.firstScanSidecar = reader.bytes(); break; case 19: message.firstScanLength = reader.uint32(); break; case 20: message.experimentGroupId = reader.uint32(); break; case 21: message.scansSidecar = reader.bytes(); break; case 22: if (!(message.scanLengths && message.scanLengths.length)) message.scanLengths = []; if ((tag & 7) === 2) { var end2 = reader.uint32() + reader.pos; while (reader.pos < end2) message.scanLengths.push(reader.uint32()); } else message.scanLengths.push(reader.uint32()); break; case 23: message.midQualityFileSha256 = reader.bytes(); break; case 24: message.midQualityFileEncSha256 = reader.bytes(); break; case 25: message.viewOnce = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an ImageMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ImageMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ImageMessage} ImageMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ImageMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an ImageMessage message. * @function verify * @memberof proto.ImageMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ImageMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.url != null && message.hasOwnProperty("url")) if (!$util.isString(message.url)) return "url: string expected"; if (message.mimetype != null && message.hasOwnProperty("mimetype")) if (!$util.isString(message.mimetype)) return "mimetype: string expected"; if (message.caption != null && message.hasOwnProperty("caption")) if (!$util.isString(message.caption)) return "caption: string expected"; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) if (!(message.fileSha256 && typeof message.fileSha256.length === "number" || $util.isString(message.fileSha256))) return "fileSha256: buffer expected"; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (!$util.isInteger(message.fileLength) && !(message.fileLength && $util.isInteger(message.fileLength.low) && $util.isInteger(message.fileLength.high))) return "fileLength: integer|Long expected"; if (message.height != null && message.hasOwnProperty("height")) if (!$util.isInteger(message.height)) return "height: integer expected"; if (message.width != null && message.hasOwnProperty("width")) if (!$util.isInteger(message.width)) return "width: integer expected"; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) if (!(message.mediaKey && typeof message.mediaKey.length === "number" || $util.isString(message.mediaKey))) return "mediaKey: buffer expected"; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) if (!(message.fileEncSha256 && typeof message.fileEncSha256.length === "number" || $util.isString(message.fileEncSha256))) return "fileEncSha256: buffer expected"; if (message.interactiveAnnotations != null && message.hasOwnProperty("interactiveAnnotations")) { if (!Array.isArray(message.interactiveAnnotations)) return "interactiveAnnotations: array expected"; for (var i = 0; i < message.interactiveAnnotations.length; ++i) { var error = $root.proto.InteractiveAnnotation.verify(message.interactiveAnnotations[i]); if (error) return "interactiveAnnotations." + error; } } if (message.directPath != null && message.hasOwnProperty("directPath")) if (!$util.isString(message.directPath)) return "directPath: string expected"; if (message.mediaKeyTimestamp != null && message.hasOwnProperty("mediaKeyTimestamp")) if (!$util.isInteger(message.mediaKeyTimestamp) && !(message.mediaKeyTimestamp && $util.isInteger(message.mediaKeyTimestamp.low) && $util.isInteger(message.mediaKeyTimestamp.high))) return "mediaKeyTimestamp: integer|Long expected"; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) if (!(message.jpegThumbnail && typeof message.jpegThumbnail.length === "number" || $util.isString(message.jpegThumbnail))) return "jpegThumbnail: buffer expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } if (message.firstScanSidecar != null && message.hasOwnProperty("firstScanSidecar")) if (!(message.firstScanSidecar && typeof message.firstScanSidecar.length === "number" || $util.isString(message.firstScanSidecar))) return "firstScanSidecar: buffer expected"; if (message.firstScanLength != null && message.hasOwnProperty("firstScanLength")) if (!$util.isInteger(message.firstScanLength)) return "firstScanLength: integer expected"; if (message.experimentGroupId != null && message.hasOwnProperty("experimentGroupId")) if (!$util.isInteger(message.experimentGroupId)) return "experimentGroupId: integer expected"; if (message.scansSidecar != null && message.hasOwnProperty("scansSidecar")) if (!(message.scansSidecar && typeof message.scansSidecar.length === "number" || $util.isString(message.scansSidecar))) return "scansSidecar: buffer expected"; if (message.scanLengths != null && message.hasOwnProperty("scanLengths")) { if (!Array.isArray(message.scanLengths)) return "scanLengths: array expected"; for (var i = 0; i < message.scanLengths.length; ++i) if (!$util.isInteger(message.scanLengths[i])) return "scanLengths: integer[] expected"; } if (message.midQualityFileSha256 != null && message.hasOwnProperty("midQualityFileSha256")) if (!(message.midQualityFileSha256 && typeof message.midQualityFileSha256.length === "number" || $util.isString(message.midQualityFileSha256))) return "midQualityFileSha256: buffer expected"; if (message.midQualityFileEncSha256 != null && message.hasOwnProperty("midQualityFileEncSha256")) if (!(message.midQualityFileEncSha256 && typeof message.midQualityFileEncSha256.length === "number" || $util.isString(message.midQualityFileEncSha256))) return "midQualityFileEncSha256: buffer expected"; if (message.viewOnce != null && message.hasOwnProperty("viewOnce")) if (typeof message.viewOnce !== "boolean") return "viewOnce: boolean expected"; return null; }; /** * Creates an ImageMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ImageMessage * @static * @param {Object.} object Plain object * @returns {proto.ImageMessage} ImageMessage */ ImageMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.ImageMessage) return object; var message = new $root.proto.ImageMessage(); if (object.url != null) message.url = String(object.url); if (object.mimetype != null) message.mimetype = String(object.mimetype); if (object.caption != null) message.caption = String(object.caption); if (object.fileSha256 != null) if (typeof object.fileSha256 === "string") $util.base64.decode(object.fileSha256, message.fileSha256 = $util.newBuffer($util.base64.length(object.fileSha256)), 0); else if (object.fileSha256.length) message.fileSha256 = object.fileSha256; if (object.fileLength != null) if ($util.Long) (message.fileLength = $util.Long.fromValue(object.fileLength)).unsigned = true; else if (typeof object.fileLength === "string") message.fileLength = parseInt(object.fileLength, 10); else if (typeof object.fileLength === "number") message.fileLength = object.fileLength; else if (typeof object.fileLength === "object") message.fileLength = new $util.LongBits(object.fileLength.low >>> 0, object.fileLength.high >>> 0).toNumber(true); if (object.height != null) message.height = object.height >>> 0; if (object.width != null) message.width = object.width >>> 0; if (object.mediaKey != null) if (typeof object.mediaKey === "string") $util.base64.decode(object.mediaKey, message.mediaKey = $util.newBuffer($util.base64.length(object.mediaKey)), 0); else if (object.mediaKey.length) message.mediaKey = object.mediaKey; if (object.fileEncSha256 != null) if (typeof object.fileEncSha256 === "string") $util.base64.decode(object.fileEncSha256, message.fileEncSha256 = $util.newBuffer($util.base64.length(object.fileEncSha256)), 0); else if (object.fileEncSha256.length) message.fileEncSha256 = object.fileEncSha256; if (object.interactiveAnnotations) { if (!Array.isArray(object.interactiveAnnotations)) throw TypeError(".proto.ImageMessage.interactiveAnnotations: array expected"); message.interactiveAnnotations = []; for (var i = 0; i < object.interactiveAnnotations.length; ++i) { if (typeof object.interactiveAnnotations[i] !== "object") throw TypeError(".proto.ImageMessage.interactiveAnnotations: object expected"); message.interactiveAnnotations[i] = $root.proto.InteractiveAnnotation.fromObject(object.interactiveAnnotations[i]); } } if (object.directPath != null) message.directPath = String(object.directPath); if (object.mediaKeyTimestamp != null) if ($util.Long) (message.mediaKeyTimestamp = $util.Long.fromValue(object.mediaKeyTimestamp)).unsigned = false; else if (typeof object.mediaKeyTimestamp === "string") message.mediaKeyTimestamp = parseInt(object.mediaKeyTimestamp, 10); else if (typeof object.mediaKeyTimestamp === "number") message.mediaKeyTimestamp = object.mediaKeyTimestamp; else if (typeof object.mediaKeyTimestamp === "object") message.mediaKeyTimestamp = new $util.LongBits(object.mediaKeyTimestamp.low >>> 0, object.mediaKeyTimestamp.high >>> 0).toNumber(); if (object.jpegThumbnail != null) if (typeof object.jpegThumbnail === "string") $util.base64.decode(object.jpegThumbnail, message.jpegThumbnail = $util.newBuffer($util.base64.length(object.jpegThumbnail)), 0); else if (object.jpegThumbnail.length) message.jpegThumbnail = object.jpegThumbnail; if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.ImageMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.firstScanSidecar != null) if (typeof object.firstScanSidecar === "string") $util.base64.decode(object.firstScanSidecar, message.firstScanSidecar = $util.newBuffer($util.base64.length(object.firstScanSidecar)), 0); else if (object.firstScanSidecar.length) message.firstScanSidecar = object.firstScanSidecar; if (object.firstScanLength != null) message.firstScanLength = object.firstScanLength >>> 0; if (object.experimentGroupId != null) message.experimentGroupId = object.experimentGroupId >>> 0; if (object.scansSidecar != null) if (typeof object.scansSidecar === "string") $util.base64.decode(object.scansSidecar, message.scansSidecar = $util.newBuffer($util.base64.length(object.scansSidecar)), 0); else if (object.scansSidecar.length) message.scansSidecar = object.scansSidecar; if (object.scanLengths) { if (!Array.isArray(object.scanLengths)) throw TypeError(".proto.ImageMessage.scanLengths: array expected"); message.scanLengths = []; for (var i = 0; i < object.scanLengths.length; ++i) message.scanLengths[i] = object.scanLengths[i] >>> 0; } if (object.midQualityFileSha256 != null) if (typeof object.midQualityFileSha256 === "string") $util.base64.decode(object.midQualityFileSha256, message.midQualityFileSha256 = $util.newBuffer($util.base64.length(object.midQualityFileSha256)), 0); else if (object.midQualityFileSha256.length) message.midQualityFileSha256 = object.midQualityFileSha256; if (object.midQualityFileEncSha256 != null) if (typeof object.midQualityFileEncSha256 === "string") $util.base64.decode(object.midQualityFileEncSha256, message.midQualityFileEncSha256 = $util.newBuffer($util.base64.length(object.midQualityFileEncSha256)), 0); else if (object.midQualityFileEncSha256.length) message.midQualityFileEncSha256 = object.midQualityFileEncSha256; if (object.viewOnce != null) message.viewOnce = Boolean(object.viewOnce); return message; }; /** * Creates a plain object from an ImageMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.ImageMessage * @static * @param {proto.ImageMessage} message ImageMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ImageMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.interactiveAnnotations = []; object.scanLengths = []; } if (options.defaults) { object.url = ""; object.mimetype = ""; object.caption = ""; if (options.bytes === String) object.fileSha256 = ""; else { object.fileSha256 = []; if (options.bytes !== Array) object.fileSha256 = $util.newBuffer(object.fileSha256); } if ($util.Long) { var long = new $util.Long(0, 0, true); object.fileLength = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.fileLength = options.longs === String ? "0" : 0; object.height = 0; object.width = 0; if (options.bytes === String) object.mediaKey = ""; else { object.mediaKey = []; if (options.bytes !== Array) object.mediaKey = $util.newBuffer(object.mediaKey); } if (options.bytes === String) object.fileEncSha256 = ""; else { object.fileEncSha256 = []; if (options.bytes !== Array) object.fileEncSha256 = $util.newBuffer(object.fileEncSha256); } object.directPath = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.mediaKeyTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.mediaKeyTimestamp = options.longs === String ? "0" : 0; if (options.bytes === String) object.jpegThumbnail = ""; else { object.jpegThumbnail = []; if (options.bytes !== Array) object.jpegThumbnail = $util.newBuffer(object.jpegThumbnail); } object.contextInfo = null; if (options.bytes === String) object.firstScanSidecar = ""; else { object.firstScanSidecar = []; if (options.bytes !== Array) object.firstScanSidecar = $util.newBuffer(object.firstScanSidecar); } object.firstScanLength = 0; object.experimentGroupId = 0; if (options.bytes === String) object.scansSidecar = ""; else { object.scansSidecar = []; if (options.bytes !== Array) object.scansSidecar = $util.newBuffer(object.scansSidecar); } if (options.bytes === String) object.midQualityFileSha256 = ""; else { object.midQualityFileSha256 = []; if (options.bytes !== Array) object.midQualityFileSha256 = $util.newBuffer(object.midQualityFileSha256); } if (options.bytes === String) object.midQualityFileEncSha256 = ""; else { object.midQualityFileEncSha256 = []; if (options.bytes !== Array) object.midQualityFileEncSha256 = $util.newBuffer(object.midQualityFileEncSha256); } object.viewOnce = false; } if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; if (message.mimetype != null && message.hasOwnProperty("mimetype")) object.mimetype = message.mimetype; if (message.caption != null && message.hasOwnProperty("caption")) object.caption = message.caption; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) object.fileSha256 = options.bytes === String ? $util.base64.encode(message.fileSha256, 0, message.fileSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileSha256) : message.fileSha256; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (typeof message.fileLength === "number") object.fileLength = options.longs === String ? String(message.fileLength) : message.fileLength; else object.fileLength = options.longs === String ? $util.Long.prototype.toString.call(message.fileLength) : options.longs === Number ? new $util.LongBits(message.fileLength.low >>> 0, message.fileLength.high >>> 0).toNumber(true) : message.fileLength; if (message.height != null && message.hasOwnProperty("height")) object.height = message.height; if (message.width != null && message.hasOwnProperty("width")) object.width = message.width; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) object.mediaKey = options.bytes === String ? $util.base64.encode(message.mediaKey, 0, message.mediaKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.mediaKey) : message.mediaKey; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) object.fileEncSha256 = options.bytes === String ? $util.base64.encode(message.fileEncSha256, 0, message.fileEncSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileEncSha256) : message.fileEncSha256; if (message.interactiveAnnotations && message.interactiveAnnotations.length) { object.interactiveAnnotations = []; for (var j = 0; j < message.interactiveAnnotations.length; ++j) object.interactiveAnnotations[j] = $root.proto.InteractiveAnnotation.toObject(message.interactiveAnnotations[j], options); } if (message.directPath != null && message.hasOwnProperty("directPath")) object.directPath = message.directPath; if (message.mediaKeyTimestamp != null && message.hasOwnProperty("mediaKeyTimestamp")) if (typeof message.mediaKeyTimestamp === "number") object.mediaKeyTimestamp = options.longs === String ? String(message.mediaKeyTimestamp) : message.mediaKeyTimestamp; else object.mediaKeyTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.mediaKeyTimestamp) : options.longs === Number ? new $util.LongBits(message.mediaKeyTimestamp.low >>> 0, message.mediaKeyTimestamp.high >>> 0).toNumber() : message.mediaKeyTimestamp; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) object.jpegThumbnail = options.bytes === String ? $util.base64.encode(message.jpegThumbnail, 0, message.jpegThumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.jpegThumbnail) : message.jpegThumbnail; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); if (message.firstScanSidecar != null && message.hasOwnProperty("firstScanSidecar")) object.firstScanSidecar = options.bytes === String ? $util.base64.encode(message.firstScanSidecar, 0, message.firstScanSidecar.length) : options.bytes === Array ? Array.prototype.slice.call(message.firstScanSidecar) : message.firstScanSidecar; if (message.firstScanLength != null && message.hasOwnProperty("firstScanLength")) object.firstScanLength = message.firstScanLength; if (message.experimentGroupId != null && message.hasOwnProperty("experimentGroupId")) object.experimentGroupId = message.experimentGroupId; if (message.scansSidecar != null && message.hasOwnProperty("scansSidecar")) object.scansSidecar = options.bytes === String ? $util.base64.encode(message.scansSidecar, 0, message.scansSidecar.length) : options.bytes === Array ? Array.prototype.slice.call(message.scansSidecar) : message.scansSidecar; if (message.scanLengths && message.scanLengths.length) { object.scanLengths = []; for (var j = 0; j < message.scanLengths.length; ++j) object.scanLengths[j] = message.scanLengths[j]; } if (message.midQualityFileSha256 != null && message.hasOwnProperty("midQualityFileSha256")) object.midQualityFileSha256 = options.bytes === String ? $util.base64.encode(message.midQualityFileSha256, 0, message.midQualityFileSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.midQualityFileSha256) : message.midQualityFileSha256; if (message.midQualityFileEncSha256 != null && message.hasOwnProperty("midQualityFileEncSha256")) object.midQualityFileEncSha256 = options.bytes === String ? $util.base64.encode(message.midQualityFileEncSha256, 0, message.midQualityFileEncSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.midQualityFileEncSha256) : message.midQualityFileEncSha256; if (message.viewOnce != null && message.hasOwnProperty("viewOnce")) object.viewOnce = message.viewOnce; return object; }; /** * Converts this ImageMessage to JSON. * @function toJSON * @memberof proto.ImageMessage * @instance * @returns {Object.} JSON object */ ImageMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ImageMessage; })(); proto.ContactMessage = (function() { /** * Properties of a ContactMessage. * @memberof proto * @interface IContactMessage * @property {string|null} [displayName] ContactMessage displayName * @property {string|null} [vcard] ContactMessage vcard * @property {proto.IContextInfo|null} [contextInfo] ContactMessage contextInfo */ /** * Constructs a new ContactMessage. * @memberof proto * @classdesc Represents a ContactMessage. * @implements IContactMessage * @constructor * @param {proto.IContactMessage=} [properties] Properties to set */ function ContactMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ContactMessage displayName. * @member {string} displayName * @memberof proto.ContactMessage * @instance */ ContactMessage.prototype.displayName = ""; /** * ContactMessage vcard. * @member {string} vcard * @memberof proto.ContactMessage * @instance */ ContactMessage.prototype.vcard = ""; /** * ContactMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.ContactMessage * @instance */ ContactMessage.prototype.contextInfo = null; /** * Creates a new ContactMessage instance using the specified properties. * @function create * @memberof proto.ContactMessage * @static * @param {proto.IContactMessage=} [properties] Properties to set * @returns {proto.ContactMessage} ContactMessage instance */ ContactMessage.create = function create(properties) { return new ContactMessage(properties); }; /** * Encodes the specified ContactMessage message. Does not implicitly {@link proto.ContactMessage.verify|verify} messages. * @function encode * @memberof proto.ContactMessage * @static * @param {proto.IContactMessage} message ContactMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ContactMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.displayName); if (message.vcard != null && Object.hasOwnProperty.call(message, "vcard")) writer.uint32(/* id 16, wireType 2 =*/130).string(message.vcard); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); return writer; }; /** * Encodes the specified ContactMessage message, length delimited. Does not implicitly {@link proto.ContactMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.ContactMessage * @static * @param {proto.IContactMessage} message ContactMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ContactMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ContactMessage message from the specified reader or buffer. * @function decode * @memberof proto.ContactMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ContactMessage} ContactMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ContactMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ContactMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayName = reader.string(); break; case 16: message.vcard = reader.string(); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ContactMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ContactMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ContactMessage} ContactMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ContactMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ContactMessage message. * @function verify * @memberof proto.ContactMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ContactMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.displayName != null && message.hasOwnProperty("displayName")) if (!$util.isString(message.displayName)) return "displayName: string expected"; if (message.vcard != null && message.hasOwnProperty("vcard")) if (!$util.isString(message.vcard)) return "vcard: string expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } return null; }; /** * Creates a ContactMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ContactMessage * @static * @param {Object.} object Plain object * @returns {proto.ContactMessage} ContactMessage */ ContactMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.ContactMessage) return object; var message = new $root.proto.ContactMessage(); if (object.displayName != null) message.displayName = String(object.displayName); if (object.vcard != null) message.vcard = String(object.vcard); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.ContactMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a ContactMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.ContactMessage * @static * @param {proto.ContactMessage} message ContactMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ContactMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.displayName = ""; object.vcard = ""; object.contextInfo = null; } if (message.displayName != null && message.hasOwnProperty("displayName")) object.displayName = message.displayName; if (message.vcard != null && message.hasOwnProperty("vcard")) object.vcard = message.vcard; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this ContactMessage to JSON. * @function toJSON * @memberof proto.ContactMessage * @instance * @returns {Object.} JSON object */ ContactMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ContactMessage; })(); proto.LocationMessage = (function() { /** * Properties of a LocationMessage. * @memberof proto * @interface ILocationMessage * @property {number|null} [degreesLatitude] LocationMessage degreesLatitude * @property {number|null} [degreesLongitude] LocationMessage degreesLongitude * @property {string|null} [name] LocationMessage name * @property {string|null} [address] LocationMessage address * @property {string|null} [url] LocationMessage url * @property {boolean|null} [isLive] LocationMessage isLive * @property {number|null} [accuracyInMeters] LocationMessage accuracyInMeters * @property {number|null} [speedInMps] LocationMessage speedInMps * @property {number|null} [degreesClockwiseFromMagneticNorth] LocationMessage degreesClockwiseFromMagneticNorth * @property {string|null} [comment] LocationMessage comment * @property {Uint8Array|null} [jpegThumbnail] LocationMessage jpegThumbnail * @property {proto.IContextInfo|null} [contextInfo] LocationMessage contextInfo */ /** * Constructs a new LocationMessage. * @memberof proto * @classdesc Represents a LocationMessage. * @implements ILocationMessage * @constructor * @param {proto.ILocationMessage=} [properties] Properties to set */ function LocationMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * LocationMessage degreesLatitude. * @member {number} degreesLatitude * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.degreesLatitude = 0; /** * LocationMessage degreesLongitude. * @member {number} degreesLongitude * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.degreesLongitude = 0; /** * LocationMessage name. * @member {string} name * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.name = ""; /** * LocationMessage address. * @member {string} address * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.address = ""; /** * LocationMessage url. * @member {string} url * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.url = ""; /** * LocationMessage isLive. * @member {boolean} isLive * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.isLive = false; /** * LocationMessage accuracyInMeters. * @member {number} accuracyInMeters * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.accuracyInMeters = 0; /** * LocationMessage speedInMps. * @member {number} speedInMps * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.speedInMps = 0; /** * LocationMessage degreesClockwiseFromMagneticNorth. * @member {number} degreesClockwiseFromMagneticNorth * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.degreesClockwiseFromMagneticNorth = 0; /** * LocationMessage comment. * @member {string} comment * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.comment = ""; /** * LocationMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * LocationMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.LocationMessage * @instance */ LocationMessage.prototype.contextInfo = null; /** * Creates a new LocationMessage instance using the specified properties. * @function create * @memberof proto.LocationMessage * @static * @param {proto.ILocationMessage=} [properties] Properties to set * @returns {proto.LocationMessage} LocationMessage instance */ LocationMessage.create = function create(properties) { return new LocationMessage(properties); }; /** * Encodes the specified LocationMessage message. Does not implicitly {@link proto.LocationMessage.verify|verify} messages. * @function encode * @memberof proto.LocationMessage * @static * @param {proto.ILocationMessage} message LocationMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LocationMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.degreesLatitude != null && Object.hasOwnProperty.call(message, "degreesLatitude")) writer.uint32(/* id 1, wireType 1 =*/9).double(message.degreesLatitude); if (message.degreesLongitude != null && Object.hasOwnProperty.call(message, "degreesLongitude")) writer.uint32(/* id 2, wireType 1 =*/17).double(message.degreesLongitude); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.name); if (message.address != null && Object.hasOwnProperty.call(message, "address")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.address); if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.url); if (message.isLive != null && Object.hasOwnProperty.call(message, "isLive")) writer.uint32(/* id 6, wireType 0 =*/48).bool(message.isLive); if (message.accuracyInMeters != null && Object.hasOwnProperty.call(message, "accuracyInMeters")) writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.accuracyInMeters); if (message.speedInMps != null && Object.hasOwnProperty.call(message, "speedInMps")) writer.uint32(/* id 8, wireType 5 =*/69).float(message.speedInMps); if (message.degreesClockwiseFromMagneticNorth != null && Object.hasOwnProperty.call(message, "degreesClockwiseFromMagneticNorth")) writer.uint32(/* id 9, wireType 0 =*/72).uint32(message.degreesClockwiseFromMagneticNorth); if (message.comment != null && Object.hasOwnProperty.call(message, "comment")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.comment); if (message.jpegThumbnail != null && Object.hasOwnProperty.call(message, "jpegThumbnail")) writer.uint32(/* id 16, wireType 2 =*/130).bytes(message.jpegThumbnail); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); return writer; }; /** * Encodes the specified LocationMessage message, length delimited. Does not implicitly {@link proto.LocationMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.LocationMessage * @static * @param {proto.ILocationMessage} message LocationMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LocationMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a LocationMessage message from the specified reader or buffer. * @function decode * @memberof proto.LocationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.LocationMessage} LocationMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LocationMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.LocationMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.degreesLatitude = reader.double(); break; case 2: message.degreesLongitude = reader.double(); break; case 3: message.name = reader.string(); break; case 4: message.address = reader.string(); break; case 5: message.url = reader.string(); break; case 6: message.isLive = reader.bool(); break; case 7: message.accuracyInMeters = reader.uint32(); break; case 8: message.speedInMps = reader.float(); break; case 9: message.degreesClockwiseFromMagneticNorth = reader.uint32(); break; case 11: message.comment = reader.string(); break; case 16: message.jpegThumbnail = reader.bytes(); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a LocationMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.LocationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.LocationMessage} LocationMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LocationMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a LocationMessage message. * @function verify * @memberof proto.LocationMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ LocationMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.degreesLatitude != null && message.hasOwnProperty("degreesLatitude")) if (typeof message.degreesLatitude !== "number") return "degreesLatitude: number expected"; if (message.degreesLongitude != null && message.hasOwnProperty("degreesLongitude")) if (typeof message.degreesLongitude !== "number") return "degreesLongitude: number expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.address != null && message.hasOwnProperty("address")) if (!$util.isString(message.address)) return "address: string expected"; if (message.url != null && message.hasOwnProperty("url")) if (!$util.isString(message.url)) return "url: string expected"; if (message.isLive != null && message.hasOwnProperty("isLive")) if (typeof message.isLive !== "boolean") return "isLive: boolean expected"; if (message.accuracyInMeters != null && message.hasOwnProperty("accuracyInMeters")) if (!$util.isInteger(message.accuracyInMeters)) return "accuracyInMeters: integer expected"; if (message.speedInMps != null && message.hasOwnProperty("speedInMps")) if (typeof message.speedInMps !== "number") return "speedInMps: number expected"; if (message.degreesClockwiseFromMagneticNorth != null && message.hasOwnProperty("degreesClockwiseFromMagneticNorth")) if (!$util.isInteger(message.degreesClockwiseFromMagneticNorth)) return "degreesClockwiseFromMagneticNorth: integer expected"; if (message.comment != null && message.hasOwnProperty("comment")) if (!$util.isString(message.comment)) return "comment: string expected"; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) if (!(message.jpegThumbnail && typeof message.jpegThumbnail.length === "number" || $util.isString(message.jpegThumbnail))) return "jpegThumbnail: buffer expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } return null; }; /** * Creates a LocationMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.LocationMessage * @static * @param {Object.} object Plain object * @returns {proto.LocationMessage} LocationMessage */ LocationMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.LocationMessage) return object; var message = new $root.proto.LocationMessage(); if (object.degreesLatitude != null) message.degreesLatitude = Number(object.degreesLatitude); if (object.degreesLongitude != null) message.degreesLongitude = Number(object.degreesLongitude); if (object.name != null) message.name = String(object.name); if (object.address != null) message.address = String(object.address); if (object.url != null) message.url = String(object.url); if (object.isLive != null) message.isLive = Boolean(object.isLive); if (object.accuracyInMeters != null) message.accuracyInMeters = object.accuracyInMeters >>> 0; if (object.speedInMps != null) message.speedInMps = Number(object.speedInMps); if (object.degreesClockwiseFromMagneticNorth != null) message.degreesClockwiseFromMagneticNorth = object.degreesClockwiseFromMagneticNorth >>> 0; if (object.comment != null) message.comment = String(object.comment); if (object.jpegThumbnail != null) if (typeof object.jpegThumbnail === "string") $util.base64.decode(object.jpegThumbnail, message.jpegThumbnail = $util.newBuffer($util.base64.length(object.jpegThumbnail)), 0); else if (object.jpegThumbnail.length) message.jpegThumbnail = object.jpegThumbnail; if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.LocationMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a LocationMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.LocationMessage * @static * @param {proto.LocationMessage} message LocationMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ LocationMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.degreesLatitude = 0; object.degreesLongitude = 0; object.name = ""; object.address = ""; object.url = ""; object.isLive = false; object.accuracyInMeters = 0; object.speedInMps = 0; object.degreesClockwiseFromMagneticNorth = 0; object.comment = ""; if (options.bytes === String) object.jpegThumbnail = ""; else { object.jpegThumbnail = []; if (options.bytes !== Array) object.jpegThumbnail = $util.newBuffer(object.jpegThumbnail); } object.contextInfo = null; } if (message.degreesLatitude != null && message.hasOwnProperty("degreesLatitude")) object.degreesLatitude = options.json && !isFinite(message.degreesLatitude) ? String(message.degreesLatitude) : message.degreesLatitude; if (message.degreesLongitude != null && message.hasOwnProperty("degreesLongitude")) object.degreesLongitude = options.json && !isFinite(message.degreesLongitude) ? String(message.degreesLongitude) : message.degreesLongitude; if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.address != null && message.hasOwnProperty("address")) object.address = message.address; if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; if (message.isLive != null && message.hasOwnProperty("isLive")) object.isLive = message.isLive; if (message.accuracyInMeters != null && message.hasOwnProperty("accuracyInMeters")) object.accuracyInMeters = message.accuracyInMeters; if (message.speedInMps != null && message.hasOwnProperty("speedInMps")) object.speedInMps = options.json && !isFinite(message.speedInMps) ? String(message.speedInMps) : message.speedInMps; if (message.degreesClockwiseFromMagneticNorth != null && message.hasOwnProperty("degreesClockwiseFromMagneticNorth")) object.degreesClockwiseFromMagneticNorth = message.degreesClockwiseFromMagneticNorth; if (message.comment != null && message.hasOwnProperty("comment")) object.comment = message.comment; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) object.jpegThumbnail = options.bytes === String ? $util.base64.encode(message.jpegThumbnail, 0, message.jpegThumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.jpegThumbnail) : message.jpegThumbnail; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this LocationMessage to JSON. * @function toJSON * @memberof proto.LocationMessage * @instance * @returns {Object.} JSON object */ LocationMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return LocationMessage; })(); proto.ExtendedTextMessage = (function() { /** * Properties of an ExtendedTextMessage. * @memberof proto * @interface IExtendedTextMessage * @property {string|null} [text] ExtendedTextMessage text * @property {string|null} [matchedText] ExtendedTextMessage matchedText * @property {string|null} [canonicalUrl] ExtendedTextMessage canonicalUrl * @property {string|null} [description] ExtendedTextMessage description * @property {string|null} [title] ExtendedTextMessage title * @property {number|null} [textArgb] ExtendedTextMessage textArgb * @property {number|null} [backgroundArgb] ExtendedTextMessage backgroundArgb * @property {proto.ExtendedTextMessage.ExtendedTextMessageFontType|null} [font] ExtendedTextMessage font * @property {proto.ExtendedTextMessage.ExtendedTextMessagePreviewType|null} [previewType] ExtendedTextMessage previewType * @property {Uint8Array|null} [jpegThumbnail] ExtendedTextMessage jpegThumbnail * @property {proto.IContextInfo|null} [contextInfo] ExtendedTextMessage contextInfo * @property {boolean|null} [doNotPlayInline] ExtendedTextMessage doNotPlayInline */ /** * Constructs a new ExtendedTextMessage. * @memberof proto * @classdesc Represents an ExtendedTextMessage. * @implements IExtendedTextMessage * @constructor * @param {proto.IExtendedTextMessage=} [properties] Properties to set */ function ExtendedTextMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ExtendedTextMessage text. * @member {string} text * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.text = ""; /** * ExtendedTextMessage matchedText. * @member {string} matchedText * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.matchedText = ""; /** * ExtendedTextMessage canonicalUrl. * @member {string} canonicalUrl * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.canonicalUrl = ""; /** * ExtendedTextMessage description. * @member {string} description * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.description = ""; /** * ExtendedTextMessage title. * @member {string} title * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.title = ""; /** * ExtendedTextMessage textArgb. * @member {number} textArgb * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.textArgb = 0; /** * ExtendedTextMessage backgroundArgb. * @member {number} backgroundArgb * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.backgroundArgb = 0; /** * ExtendedTextMessage font. * @member {proto.ExtendedTextMessage.ExtendedTextMessageFontType} font * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.font = 0; /** * ExtendedTextMessage previewType. * @member {proto.ExtendedTextMessage.ExtendedTextMessagePreviewType} previewType * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.previewType = 0; /** * ExtendedTextMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * ExtendedTextMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.contextInfo = null; /** * ExtendedTextMessage doNotPlayInline. * @member {boolean} doNotPlayInline * @memberof proto.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.doNotPlayInline = false; /** * Creates a new ExtendedTextMessage instance using the specified properties. * @function create * @memberof proto.ExtendedTextMessage * @static * @param {proto.IExtendedTextMessage=} [properties] Properties to set * @returns {proto.ExtendedTextMessage} ExtendedTextMessage instance */ ExtendedTextMessage.create = function create(properties) { return new ExtendedTextMessage(properties); }; /** * Encodes the specified ExtendedTextMessage message. Does not implicitly {@link proto.ExtendedTextMessage.verify|verify} messages. * @function encode * @memberof proto.ExtendedTextMessage * @static * @param {proto.IExtendedTextMessage} message ExtendedTextMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ExtendedTextMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.text); if (message.matchedText != null && Object.hasOwnProperty.call(message, "matchedText")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.matchedText); if (message.canonicalUrl != null && Object.hasOwnProperty.call(message, "canonicalUrl")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.canonicalUrl); if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.description); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.title); if (message.textArgb != null && Object.hasOwnProperty.call(message, "textArgb")) writer.uint32(/* id 7, wireType 5 =*/61).fixed32(message.textArgb); if (message.backgroundArgb != null && Object.hasOwnProperty.call(message, "backgroundArgb")) writer.uint32(/* id 8, wireType 5 =*/69).fixed32(message.backgroundArgb); if (message.font != null && Object.hasOwnProperty.call(message, "font")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.font); if (message.previewType != null && Object.hasOwnProperty.call(message, "previewType")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.previewType); if (message.jpegThumbnail != null && Object.hasOwnProperty.call(message, "jpegThumbnail")) writer.uint32(/* id 16, wireType 2 =*/130).bytes(message.jpegThumbnail); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.doNotPlayInline != null && Object.hasOwnProperty.call(message, "doNotPlayInline")) writer.uint32(/* id 18, wireType 0 =*/144).bool(message.doNotPlayInline); return writer; }; /** * Encodes the specified ExtendedTextMessage message, length delimited. Does not implicitly {@link proto.ExtendedTextMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.ExtendedTextMessage * @static * @param {proto.IExtendedTextMessage} message ExtendedTextMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ExtendedTextMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an ExtendedTextMessage message from the specified reader or buffer. * @function decode * @memberof proto.ExtendedTextMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ExtendedTextMessage} ExtendedTextMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ExtendedTextMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ExtendedTextMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.text = reader.string(); break; case 2: message.matchedText = reader.string(); break; case 4: message.canonicalUrl = reader.string(); break; case 5: message.description = reader.string(); break; case 6: message.title = reader.string(); break; case 7: message.textArgb = reader.fixed32(); break; case 8: message.backgroundArgb = reader.fixed32(); break; case 9: message.font = reader.int32(); break; case 10: message.previewType = reader.int32(); break; case 16: message.jpegThumbnail = reader.bytes(); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 18: message.doNotPlayInline = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an ExtendedTextMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ExtendedTextMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ExtendedTextMessage} ExtendedTextMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ExtendedTextMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an ExtendedTextMessage message. * @function verify * @memberof proto.ExtendedTextMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ExtendedTextMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.text != null && message.hasOwnProperty("text")) if (!$util.isString(message.text)) return "text: string expected"; if (message.matchedText != null && message.hasOwnProperty("matchedText")) if (!$util.isString(message.matchedText)) return "matchedText: string expected"; if (message.canonicalUrl != null && message.hasOwnProperty("canonicalUrl")) if (!$util.isString(message.canonicalUrl)) return "canonicalUrl: string expected"; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) return "description: string expected"; if (message.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: string expected"; if (message.textArgb != null && message.hasOwnProperty("textArgb")) if (!$util.isInteger(message.textArgb)) return "textArgb: integer expected"; if (message.backgroundArgb != null && message.hasOwnProperty("backgroundArgb")) if (!$util.isInteger(message.backgroundArgb)) return "backgroundArgb: integer expected"; if (message.font != null && message.hasOwnProperty("font")) switch (message.font) { default: return "font: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: break; } if (message.previewType != null && message.hasOwnProperty("previewType")) switch (message.previewType) { default: return "previewType: enum value expected"; case 0: case 1: break; } if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) if (!(message.jpegThumbnail && typeof message.jpegThumbnail.length === "number" || $util.isString(message.jpegThumbnail))) return "jpegThumbnail: buffer expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } if (message.doNotPlayInline != null && message.hasOwnProperty("doNotPlayInline")) if (typeof message.doNotPlayInline !== "boolean") return "doNotPlayInline: boolean expected"; return null; }; /** * Creates an ExtendedTextMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ExtendedTextMessage * @static * @param {Object.} object Plain object * @returns {proto.ExtendedTextMessage} ExtendedTextMessage */ ExtendedTextMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.ExtendedTextMessage) return object; var message = new $root.proto.ExtendedTextMessage(); if (object.text != null) message.text = String(object.text); if (object.matchedText != null) message.matchedText = String(object.matchedText); if (object.canonicalUrl != null) message.canonicalUrl = String(object.canonicalUrl); if (object.description != null) message.description = String(object.description); if (object.title != null) message.title = String(object.title); if (object.textArgb != null) message.textArgb = object.textArgb >>> 0; if (object.backgroundArgb != null) message.backgroundArgb = object.backgroundArgb >>> 0; switch (object.font) { case "SANS_SERIF": case 0: message.font = 0; break; case "SERIF": case 1: message.font = 1; break; case "NORICAN_REGULAR": case 2: message.font = 2; break; case "BRYNDAN_WRITE": case 3: message.font = 3; break; case "BEBASNEUE_REGULAR": case 4: message.font = 4; break; case "OSWALD_HEAVY": case 5: message.font = 5; break; } switch (object.previewType) { case "NONE": case 0: message.previewType = 0; break; case "VIDEO": case 1: message.previewType = 1; break; } if (object.jpegThumbnail != null) if (typeof object.jpegThumbnail === "string") $util.base64.decode(object.jpegThumbnail, message.jpegThumbnail = $util.newBuffer($util.base64.length(object.jpegThumbnail)), 0); else if (object.jpegThumbnail.length) message.jpegThumbnail = object.jpegThumbnail; if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.ExtendedTextMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.doNotPlayInline != null) message.doNotPlayInline = Boolean(object.doNotPlayInline); return message; }; /** * Creates a plain object from an ExtendedTextMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.ExtendedTextMessage * @static * @param {proto.ExtendedTextMessage} message ExtendedTextMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ExtendedTextMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.text = ""; object.matchedText = ""; object.canonicalUrl = ""; object.description = ""; object.title = ""; object.textArgb = 0; object.backgroundArgb = 0; object.font = options.enums === String ? "SANS_SERIF" : 0; object.previewType = options.enums === String ? "NONE" : 0; if (options.bytes === String) object.jpegThumbnail = ""; else { object.jpegThumbnail = []; if (options.bytes !== Array) object.jpegThumbnail = $util.newBuffer(object.jpegThumbnail); } object.contextInfo = null; object.doNotPlayInline = false; } if (message.text != null && message.hasOwnProperty("text")) object.text = message.text; if (message.matchedText != null && message.hasOwnProperty("matchedText")) object.matchedText = message.matchedText; if (message.canonicalUrl != null && message.hasOwnProperty("canonicalUrl")) object.canonicalUrl = message.canonicalUrl; if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.textArgb != null && message.hasOwnProperty("textArgb")) object.textArgb = message.textArgb; if (message.backgroundArgb != null && message.hasOwnProperty("backgroundArgb")) object.backgroundArgb = message.backgroundArgb; if (message.font != null && message.hasOwnProperty("font")) object.font = options.enums === String ? $root.proto.ExtendedTextMessage.ExtendedTextMessageFontType[message.font] : message.font; if (message.previewType != null && message.hasOwnProperty("previewType")) object.previewType = options.enums === String ? $root.proto.ExtendedTextMessage.ExtendedTextMessagePreviewType[message.previewType] : message.previewType; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) object.jpegThumbnail = options.bytes === String ? $util.base64.encode(message.jpegThumbnail, 0, message.jpegThumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.jpegThumbnail) : message.jpegThumbnail; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); if (message.doNotPlayInline != null && message.hasOwnProperty("doNotPlayInline")) object.doNotPlayInline = message.doNotPlayInline; return object; }; /** * Converts this ExtendedTextMessage to JSON. * @function toJSON * @memberof proto.ExtendedTextMessage * @instance * @returns {Object.} JSON object */ ExtendedTextMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ExtendedTextMessageFontType enum. * @name proto.ExtendedTextMessage.ExtendedTextMessageFontType * @enum {number} * @property {number} SANS_SERIF=0 SANS_SERIF value * @property {number} SERIF=1 SERIF value * @property {number} NORICAN_REGULAR=2 NORICAN_REGULAR value * @property {number} BRYNDAN_WRITE=3 BRYNDAN_WRITE value * @property {number} BEBASNEUE_REGULAR=4 BEBASNEUE_REGULAR value * @property {number} OSWALD_HEAVY=5 OSWALD_HEAVY value */ ExtendedTextMessage.ExtendedTextMessageFontType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "SANS_SERIF"] = 0; values[valuesById[1] = "SERIF"] = 1; values[valuesById[2] = "NORICAN_REGULAR"] = 2; values[valuesById[3] = "BRYNDAN_WRITE"] = 3; values[valuesById[4] = "BEBASNEUE_REGULAR"] = 4; values[valuesById[5] = "OSWALD_HEAVY"] = 5; return values; })(); /** * ExtendedTextMessagePreviewType enum. * @name proto.ExtendedTextMessage.ExtendedTextMessagePreviewType * @enum {number} * @property {number} NONE=0 NONE value * @property {number} VIDEO=1 VIDEO value */ ExtendedTextMessage.ExtendedTextMessagePreviewType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "NONE"] = 0; values[valuesById[1] = "VIDEO"] = 1; return values; })(); return ExtendedTextMessage; })(); proto.DocumentMessage = (function() { /** * Properties of a DocumentMessage. * @memberof proto * @interface IDocumentMessage * @property {string|null} [url] DocumentMessage url * @property {string|null} [mimetype] DocumentMessage mimetype * @property {string|null} [title] DocumentMessage title * @property {Uint8Array|null} [fileSha256] DocumentMessage fileSha256 * @property {number|Long|null} [fileLength] DocumentMessage fileLength * @property {number|null} [pageCount] DocumentMessage pageCount * @property {Uint8Array|null} [mediaKey] DocumentMessage mediaKey * @property {string|null} [fileName] DocumentMessage fileName * @property {Uint8Array|null} [fileEncSha256] DocumentMessage fileEncSha256 * @property {string|null} [directPath] DocumentMessage directPath * @property {number|Long|null} [mediaKeyTimestamp] DocumentMessage mediaKeyTimestamp * @property {boolean|null} [contactVcard] DocumentMessage contactVcard * @property {string|null} [thumbnailDirectPath] DocumentMessage thumbnailDirectPath * @property {Uint8Array|null} [thumbnailSha256] DocumentMessage thumbnailSha256 * @property {Uint8Array|null} [thumbnailEncSha256] DocumentMessage thumbnailEncSha256 * @property {Uint8Array|null} [jpegThumbnail] DocumentMessage jpegThumbnail * @property {proto.IContextInfo|null} [contextInfo] DocumentMessage contextInfo * @property {number|null} [thumbnailHeight] DocumentMessage thumbnailHeight * @property {number|null} [thumbnailWidth] DocumentMessage thumbnailWidth */ /** * Constructs a new DocumentMessage. * @memberof proto * @classdesc Represents a DocumentMessage. * @implements IDocumentMessage * @constructor * @param {proto.IDocumentMessage=} [properties] Properties to set */ function DocumentMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * DocumentMessage url. * @member {string} url * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.url = ""; /** * DocumentMessage mimetype. * @member {string} mimetype * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.mimetype = ""; /** * DocumentMessage title. * @member {string} title * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.title = ""; /** * DocumentMessage fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.fileSha256 = $util.newBuffer([]); /** * DocumentMessage fileLength. * @member {number|Long} fileLength * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * DocumentMessage pageCount. * @member {number} pageCount * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.pageCount = 0; /** * DocumentMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.mediaKey = $util.newBuffer([]); /** * DocumentMessage fileName. * @member {string} fileName * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.fileName = ""; /** * DocumentMessage fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.fileEncSha256 = $util.newBuffer([]); /** * DocumentMessage directPath. * @member {string} directPath * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.directPath = ""; /** * DocumentMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * DocumentMessage contactVcard. * @member {boolean} contactVcard * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.contactVcard = false; /** * DocumentMessage thumbnailDirectPath. * @member {string} thumbnailDirectPath * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.thumbnailDirectPath = ""; /** * DocumentMessage thumbnailSha256. * @member {Uint8Array} thumbnailSha256 * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.thumbnailSha256 = $util.newBuffer([]); /** * DocumentMessage thumbnailEncSha256. * @member {Uint8Array} thumbnailEncSha256 * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.thumbnailEncSha256 = $util.newBuffer([]); /** * DocumentMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * DocumentMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.contextInfo = null; /** * DocumentMessage thumbnailHeight. * @member {number} thumbnailHeight * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.thumbnailHeight = 0; /** * DocumentMessage thumbnailWidth. * @member {number} thumbnailWidth * @memberof proto.DocumentMessage * @instance */ DocumentMessage.prototype.thumbnailWidth = 0; /** * Creates a new DocumentMessage instance using the specified properties. * @function create * @memberof proto.DocumentMessage * @static * @param {proto.IDocumentMessage=} [properties] Properties to set * @returns {proto.DocumentMessage} DocumentMessage instance */ DocumentMessage.create = function create(properties) { return new DocumentMessage(properties); }; /** * Encodes the specified DocumentMessage message. Does not implicitly {@link proto.DocumentMessage.verify|verify} messages. * @function encode * @memberof proto.DocumentMessage * @static * @param {proto.IDocumentMessage} message DocumentMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DocumentMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); if (message.mimetype != null && Object.hasOwnProperty.call(message, "mimetype")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimetype); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.title); if (message.fileSha256 != null && Object.hasOwnProperty.call(message, "fileSha256")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.fileSha256); if (message.fileLength != null && Object.hasOwnProperty.call(message, "fileLength")) writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.fileLength); if (message.pageCount != null && Object.hasOwnProperty.call(message, "pageCount")) writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.pageCount); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.mediaKey); if (message.fileName != null && Object.hasOwnProperty.call(message, "fileName")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.fileName); if (message.fileEncSha256 != null && Object.hasOwnProperty.call(message, "fileEncSha256")) writer.uint32(/* id 9, wireType 2 =*/74).bytes(message.fileEncSha256); if (message.directPath != null && Object.hasOwnProperty.call(message, "directPath")) writer.uint32(/* id 10, wireType 2 =*/82).string(message.directPath); if (message.mediaKeyTimestamp != null && Object.hasOwnProperty.call(message, "mediaKeyTimestamp")) writer.uint32(/* id 11, wireType 0 =*/88).int64(message.mediaKeyTimestamp); if (message.contactVcard != null && Object.hasOwnProperty.call(message, "contactVcard")) writer.uint32(/* id 12, wireType 0 =*/96).bool(message.contactVcard); if (message.thumbnailDirectPath != null && Object.hasOwnProperty.call(message, "thumbnailDirectPath")) writer.uint32(/* id 13, wireType 2 =*/106).string(message.thumbnailDirectPath); if (message.thumbnailSha256 != null && Object.hasOwnProperty.call(message, "thumbnailSha256")) writer.uint32(/* id 14, wireType 2 =*/114).bytes(message.thumbnailSha256); if (message.thumbnailEncSha256 != null && Object.hasOwnProperty.call(message, "thumbnailEncSha256")) writer.uint32(/* id 15, wireType 2 =*/122).bytes(message.thumbnailEncSha256); if (message.jpegThumbnail != null && Object.hasOwnProperty.call(message, "jpegThumbnail")) writer.uint32(/* id 16, wireType 2 =*/130).bytes(message.jpegThumbnail); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.thumbnailHeight != null && Object.hasOwnProperty.call(message, "thumbnailHeight")) writer.uint32(/* id 18, wireType 0 =*/144).uint32(message.thumbnailHeight); if (message.thumbnailWidth != null && Object.hasOwnProperty.call(message, "thumbnailWidth")) writer.uint32(/* id 19, wireType 0 =*/152).uint32(message.thumbnailWidth); return writer; }; /** * Encodes the specified DocumentMessage message, length delimited. Does not implicitly {@link proto.DocumentMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.DocumentMessage * @static * @param {proto.IDocumentMessage} message DocumentMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DocumentMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DocumentMessage message from the specified reader or buffer. * @function decode * @memberof proto.DocumentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.DocumentMessage} DocumentMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DocumentMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.DocumentMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.url = reader.string(); break; case 2: message.mimetype = reader.string(); break; case 3: message.title = reader.string(); break; case 4: message.fileSha256 = reader.bytes(); break; case 5: message.fileLength = reader.uint64(); break; case 6: message.pageCount = reader.uint32(); break; case 7: message.mediaKey = reader.bytes(); break; case 8: message.fileName = reader.string(); break; case 9: message.fileEncSha256 = reader.bytes(); break; case 10: message.directPath = reader.string(); break; case 11: message.mediaKeyTimestamp = reader.int64(); break; case 12: message.contactVcard = reader.bool(); break; case 13: message.thumbnailDirectPath = reader.string(); break; case 14: message.thumbnailSha256 = reader.bytes(); break; case 15: message.thumbnailEncSha256 = reader.bytes(); break; case 16: message.jpegThumbnail = reader.bytes(); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 18: message.thumbnailHeight = reader.uint32(); break; case 19: message.thumbnailWidth = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DocumentMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.DocumentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.DocumentMessage} DocumentMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DocumentMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DocumentMessage message. * @function verify * @memberof proto.DocumentMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DocumentMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.url != null && message.hasOwnProperty("url")) if (!$util.isString(message.url)) return "url: string expected"; if (message.mimetype != null && message.hasOwnProperty("mimetype")) if (!$util.isString(message.mimetype)) return "mimetype: string expected"; if (message.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: string expected"; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) if (!(message.fileSha256 && typeof message.fileSha256.length === "number" || $util.isString(message.fileSha256))) return "fileSha256: buffer expected"; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (!$util.isInteger(message.fileLength) && !(message.fileLength && $util.isInteger(message.fileLength.low) && $util.isInteger(message.fileLength.high))) return "fileLength: integer|Long expected"; if (message.pageCount != null && message.hasOwnProperty("pageCount")) if (!$util.isInteger(message.pageCount)) return "pageCount: integer expected"; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) if (!(message.mediaKey && typeof message.mediaKey.length === "number" || $util.isString(message.mediaKey))) return "mediaKey: buffer expected"; if (message.fileName != null && message.hasOwnProperty("fileName")) if (!$util.isString(message.fileName)) return "fileName: string expected"; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) if (!(message.fileEncSha256 && typeof message.fileEncSha256.length === "number" || $util.isString(message.fileEncSha256))) return "fileEncSha256: buffer expected"; if (message.directPath != null && message.hasOwnProperty("directPath")) if (!$util.isString(message.directPath)) return "directPath: string expected"; if (message.mediaKeyTimestamp != null && message.hasOwnProperty("mediaKeyTimestamp")) if (!$util.isInteger(message.mediaKeyTimestamp) && !(message.mediaKeyTimestamp && $util.isInteger(message.mediaKeyTimestamp.low) && $util.isInteger(message.mediaKeyTimestamp.high))) return "mediaKeyTimestamp: integer|Long expected"; if (message.contactVcard != null && message.hasOwnProperty("contactVcard")) if (typeof message.contactVcard !== "boolean") return "contactVcard: boolean expected"; if (message.thumbnailDirectPath != null && message.hasOwnProperty("thumbnailDirectPath")) if (!$util.isString(message.thumbnailDirectPath)) return "thumbnailDirectPath: string expected"; if (message.thumbnailSha256 != null && message.hasOwnProperty("thumbnailSha256")) if (!(message.thumbnailSha256 && typeof message.thumbnailSha256.length === "number" || $util.isString(message.thumbnailSha256))) return "thumbnailSha256: buffer expected"; if (message.thumbnailEncSha256 != null && message.hasOwnProperty("thumbnailEncSha256")) if (!(message.thumbnailEncSha256 && typeof message.thumbnailEncSha256.length === "number" || $util.isString(message.thumbnailEncSha256))) return "thumbnailEncSha256: buffer expected"; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) if (!(message.jpegThumbnail && typeof message.jpegThumbnail.length === "number" || $util.isString(message.jpegThumbnail))) return "jpegThumbnail: buffer expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } if (message.thumbnailHeight != null && message.hasOwnProperty("thumbnailHeight")) if (!$util.isInteger(message.thumbnailHeight)) return "thumbnailHeight: integer expected"; if (message.thumbnailWidth != null && message.hasOwnProperty("thumbnailWidth")) if (!$util.isInteger(message.thumbnailWidth)) return "thumbnailWidth: integer expected"; return null; }; /** * Creates a DocumentMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.DocumentMessage * @static * @param {Object.} object Plain object * @returns {proto.DocumentMessage} DocumentMessage */ DocumentMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.DocumentMessage) return object; var message = new $root.proto.DocumentMessage(); if (object.url != null) message.url = String(object.url); if (object.mimetype != null) message.mimetype = String(object.mimetype); if (object.title != null) message.title = String(object.title); if (object.fileSha256 != null) if (typeof object.fileSha256 === "string") $util.base64.decode(object.fileSha256, message.fileSha256 = $util.newBuffer($util.base64.length(object.fileSha256)), 0); else if (object.fileSha256.length) message.fileSha256 = object.fileSha256; if (object.fileLength != null) if ($util.Long) (message.fileLength = $util.Long.fromValue(object.fileLength)).unsigned = true; else if (typeof object.fileLength === "string") message.fileLength = parseInt(object.fileLength, 10); else if (typeof object.fileLength === "number") message.fileLength = object.fileLength; else if (typeof object.fileLength === "object") message.fileLength = new $util.LongBits(object.fileLength.low >>> 0, object.fileLength.high >>> 0).toNumber(true); if (object.pageCount != null) message.pageCount = object.pageCount >>> 0; if (object.mediaKey != null) if (typeof object.mediaKey === "string") $util.base64.decode(object.mediaKey, message.mediaKey = $util.newBuffer($util.base64.length(object.mediaKey)), 0); else if (object.mediaKey.length) message.mediaKey = object.mediaKey; if (object.fileName != null) message.fileName = String(object.fileName); if (object.fileEncSha256 != null) if (typeof object.fileEncSha256 === "string") $util.base64.decode(object.fileEncSha256, message.fileEncSha256 = $util.newBuffer($util.base64.length(object.fileEncSha256)), 0); else if (object.fileEncSha256.length) message.fileEncSha256 = object.fileEncSha256; if (object.directPath != null) message.directPath = String(object.directPath); if (object.mediaKeyTimestamp != null) if ($util.Long) (message.mediaKeyTimestamp = $util.Long.fromValue(object.mediaKeyTimestamp)).unsigned = false; else if (typeof object.mediaKeyTimestamp === "string") message.mediaKeyTimestamp = parseInt(object.mediaKeyTimestamp, 10); else if (typeof object.mediaKeyTimestamp === "number") message.mediaKeyTimestamp = object.mediaKeyTimestamp; else if (typeof object.mediaKeyTimestamp === "object") message.mediaKeyTimestamp = new $util.LongBits(object.mediaKeyTimestamp.low >>> 0, object.mediaKeyTimestamp.high >>> 0).toNumber(); if (object.contactVcard != null) message.contactVcard = Boolean(object.contactVcard); if (object.thumbnailDirectPath != null) message.thumbnailDirectPath = String(object.thumbnailDirectPath); if (object.thumbnailSha256 != null) if (typeof object.thumbnailSha256 === "string") $util.base64.decode(object.thumbnailSha256, message.thumbnailSha256 = $util.newBuffer($util.base64.length(object.thumbnailSha256)), 0); else if (object.thumbnailSha256.length) message.thumbnailSha256 = object.thumbnailSha256; if (object.thumbnailEncSha256 != null) if (typeof object.thumbnailEncSha256 === "string") $util.base64.decode(object.thumbnailEncSha256, message.thumbnailEncSha256 = $util.newBuffer($util.base64.length(object.thumbnailEncSha256)), 0); else if (object.thumbnailEncSha256.length) message.thumbnailEncSha256 = object.thumbnailEncSha256; if (object.jpegThumbnail != null) if (typeof object.jpegThumbnail === "string") $util.base64.decode(object.jpegThumbnail, message.jpegThumbnail = $util.newBuffer($util.base64.length(object.jpegThumbnail)), 0); else if (object.jpegThumbnail.length) message.jpegThumbnail = object.jpegThumbnail; if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.DocumentMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.thumbnailHeight != null) message.thumbnailHeight = object.thumbnailHeight >>> 0; if (object.thumbnailWidth != null) message.thumbnailWidth = object.thumbnailWidth >>> 0; return message; }; /** * Creates a plain object from a DocumentMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.DocumentMessage * @static * @param {proto.DocumentMessage} message DocumentMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ DocumentMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.url = ""; object.mimetype = ""; object.title = ""; if (options.bytes === String) object.fileSha256 = ""; else { object.fileSha256 = []; if (options.bytes !== Array) object.fileSha256 = $util.newBuffer(object.fileSha256); } if ($util.Long) { var long = new $util.Long(0, 0, true); object.fileLength = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.fileLength = options.longs === String ? "0" : 0; object.pageCount = 0; if (options.bytes === String) object.mediaKey = ""; else { object.mediaKey = []; if (options.bytes !== Array) object.mediaKey = $util.newBuffer(object.mediaKey); } object.fileName = ""; if (options.bytes === String) object.fileEncSha256 = ""; else { object.fileEncSha256 = []; if (options.bytes !== Array) object.fileEncSha256 = $util.newBuffer(object.fileEncSha256); } object.directPath = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.mediaKeyTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.mediaKeyTimestamp = options.longs === String ? "0" : 0; object.contactVcard = false; object.thumbnailDirectPath = ""; if (options.bytes === String) object.thumbnailSha256 = ""; else { object.thumbnailSha256 = []; if (options.bytes !== Array) object.thumbnailSha256 = $util.newBuffer(object.thumbnailSha256); } if (options.bytes === String) object.thumbnailEncSha256 = ""; else { object.thumbnailEncSha256 = []; if (options.bytes !== Array) object.thumbnailEncSha256 = $util.newBuffer(object.thumbnailEncSha256); } if (options.bytes === String) object.jpegThumbnail = ""; else { object.jpegThumbnail = []; if (options.bytes !== Array) object.jpegThumbnail = $util.newBuffer(object.jpegThumbnail); } object.contextInfo = null; object.thumbnailHeight = 0; object.thumbnailWidth = 0; } if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; if (message.mimetype != null && message.hasOwnProperty("mimetype")) object.mimetype = message.mimetype; if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) object.fileSha256 = options.bytes === String ? $util.base64.encode(message.fileSha256, 0, message.fileSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileSha256) : message.fileSha256; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (typeof message.fileLength === "number") object.fileLength = options.longs === String ? String(message.fileLength) : message.fileLength; else object.fileLength = options.longs === String ? $util.Long.prototype.toString.call(message.fileLength) : options.longs === Number ? new $util.LongBits(message.fileLength.low >>> 0, message.fileLength.high >>> 0).toNumber(true) : message.fileLength; if (message.pageCount != null && message.hasOwnProperty("pageCount")) object.pageCount = message.pageCount; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) object.mediaKey = options.bytes === String ? $util.base64.encode(message.mediaKey, 0, message.mediaKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.mediaKey) : message.mediaKey; if (message.fileName != null && message.hasOwnProperty("fileName")) object.fileName = message.fileName; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) object.fileEncSha256 = options.bytes === String ? $util.base64.encode(message.fileEncSha256, 0, message.fileEncSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileEncSha256) : message.fileEncSha256; if (message.directPath != null && message.hasOwnProperty("directPath")) object.directPath = message.directPath; if (message.mediaKeyTimestamp != null && message.hasOwnProperty("mediaKeyTimestamp")) if (typeof message.mediaKeyTimestamp === "number") object.mediaKeyTimestamp = options.longs === String ? String(message.mediaKeyTimestamp) : message.mediaKeyTimestamp; else object.mediaKeyTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.mediaKeyTimestamp) : options.longs === Number ? new $util.LongBits(message.mediaKeyTimestamp.low >>> 0, message.mediaKeyTimestamp.high >>> 0).toNumber() : message.mediaKeyTimestamp; if (message.contactVcard != null && message.hasOwnProperty("contactVcard")) object.contactVcard = message.contactVcard; if (message.thumbnailDirectPath != null && message.hasOwnProperty("thumbnailDirectPath")) object.thumbnailDirectPath = message.thumbnailDirectPath; if (message.thumbnailSha256 != null && message.hasOwnProperty("thumbnailSha256")) object.thumbnailSha256 = options.bytes === String ? $util.base64.encode(message.thumbnailSha256, 0, message.thumbnailSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbnailSha256) : message.thumbnailSha256; if (message.thumbnailEncSha256 != null && message.hasOwnProperty("thumbnailEncSha256")) object.thumbnailEncSha256 = options.bytes === String ? $util.base64.encode(message.thumbnailEncSha256, 0, message.thumbnailEncSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbnailEncSha256) : message.thumbnailEncSha256; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) object.jpegThumbnail = options.bytes === String ? $util.base64.encode(message.jpegThumbnail, 0, message.jpegThumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.jpegThumbnail) : message.jpegThumbnail; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); if (message.thumbnailHeight != null && message.hasOwnProperty("thumbnailHeight")) object.thumbnailHeight = message.thumbnailHeight; if (message.thumbnailWidth != null && message.hasOwnProperty("thumbnailWidth")) object.thumbnailWidth = message.thumbnailWidth; return object; }; /** * Converts this DocumentMessage to JSON. * @function toJSON * @memberof proto.DocumentMessage * @instance * @returns {Object.} JSON object */ DocumentMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DocumentMessage; })(); proto.AudioMessage = (function() { /** * Properties of an AudioMessage. * @memberof proto * @interface IAudioMessage * @property {string|null} [url] AudioMessage url * @property {string|null} [mimetype] AudioMessage mimetype * @property {Uint8Array|null} [fileSha256] AudioMessage fileSha256 * @property {number|Long|null} [fileLength] AudioMessage fileLength * @property {number|null} [seconds] AudioMessage seconds * @property {boolean|null} [ptt] AudioMessage ptt * @property {Uint8Array|null} [mediaKey] AudioMessage mediaKey * @property {Uint8Array|null} [fileEncSha256] AudioMessage fileEncSha256 * @property {string|null} [directPath] AudioMessage directPath * @property {number|Long|null} [mediaKeyTimestamp] AudioMessage mediaKeyTimestamp * @property {proto.IContextInfo|null} [contextInfo] AudioMessage contextInfo * @property {Uint8Array|null} [streamingSidecar] AudioMessage streamingSidecar */ /** * Constructs a new AudioMessage. * @memberof proto * @classdesc Represents an AudioMessage. * @implements IAudioMessage * @constructor * @param {proto.IAudioMessage=} [properties] Properties to set */ function AudioMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * AudioMessage url. * @member {string} url * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.url = ""; /** * AudioMessage mimetype. * @member {string} mimetype * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.mimetype = ""; /** * AudioMessage fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.fileSha256 = $util.newBuffer([]); /** * AudioMessage fileLength. * @member {number|Long} fileLength * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * AudioMessage seconds. * @member {number} seconds * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.seconds = 0; /** * AudioMessage ptt. * @member {boolean} ptt * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.ptt = false; /** * AudioMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.mediaKey = $util.newBuffer([]); /** * AudioMessage fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.fileEncSha256 = $util.newBuffer([]); /** * AudioMessage directPath. * @member {string} directPath * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.directPath = ""; /** * AudioMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * AudioMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.contextInfo = null; /** * AudioMessage streamingSidecar. * @member {Uint8Array} streamingSidecar * @memberof proto.AudioMessage * @instance */ AudioMessage.prototype.streamingSidecar = $util.newBuffer([]); /** * Creates a new AudioMessage instance using the specified properties. * @function create * @memberof proto.AudioMessage * @static * @param {proto.IAudioMessage=} [properties] Properties to set * @returns {proto.AudioMessage} AudioMessage instance */ AudioMessage.create = function create(properties) { return new AudioMessage(properties); }; /** * Encodes the specified AudioMessage message. Does not implicitly {@link proto.AudioMessage.verify|verify} messages. * @function encode * @memberof proto.AudioMessage * @static * @param {proto.IAudioMessage} message AudioMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AudioMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); if (message.mimetype != null && Object.hasOwnProperty.call(message, "mimetype")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimetype); if (message.fileSha256 != null && Object.hasOwnProperty.call(message, "fileSha256")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.fileSha256); if (message.fileLength != null && Object.hasOwnProperty.call(message, "fileLength")) writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.fileLength); if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.seconds); if (message.ptt != null && Object.hasOwnProperty.call(message, "ptt")) writer.uint32(/* id 6, wireType 0 =*/48).bool(message.ptt); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.mediaKey); if (message.fileEncSha256 != null && Object.hasOwnProperty.call(message, "fileEncSha256")) writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.fileEncSha256); if (message.directPath != null && Object.hasOwnProperty.call(message, "directPath")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.directPath); if (message.mediaKeyTimestamp != null && Object.hasOwnProperty.call(message, "mediaKeyTimestamp")) writer.uint32(/* id 10, wireType 0 =*/80).int64(message.mediaKeyTimestamp); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.streamingSidecar != null && Object.hasOwnProperty.call(message, "streamingSidecar")) writer.uint32(/* id 18, wireType 2 =*/146).bytes(message.streamingSidecar); return writer; }; /** * Encodes the specified AudioMessage message, length delimited. Does not implicitly {@link proto.AudioMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.AudioMessage * @static * @param {proto.IAudioMessage} message AudioMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AudioMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AudioMessage message from the specified reader or buffer. * @function decode * @memberof proto.AudioMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.AudioMessage} AudioMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AudioMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.AudioMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.url = reader.string(); break; case 2: message.mimetype = reader.string(); break; case 3: message.fileSha256 = reader.bytes(); break; case 4: message.fileLength = reader.uint64(); break; case 5: message.seconds = reader.uint32(); break; case 6: message.ptt = reader.bool(); break; case 7: message.mediaKey = reader.bytes(); break; case 8: message.fileEncSha256 = reader.bytes(); break; case 9: message.directPath = reader.string(); break; case 10: message.mediaKeyTimestamp = reader.int64(); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 18: message.streamingSidecar = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AudioMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.AudioMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.AudioMessage} AudioMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AudioMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AudioMessage message. * @function verify * @memberof proto.AudioMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AudioMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.url != null && message.hasOwnProperty("url")) if (!$util.isString(message.url)) return "url: string expected"; if (message.mimetype != null && message.hasOwnProperty("mimetype")) if (!$util.isString(message.mimetype)) return "mimetype: string expected"; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) if (!(message.fileSha256 && typeof message.fileSha256.length === "number" || $util.isString(message.fileSha256))) return "fileSha256: buffer expected"; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (!$util.isInteger(message.fileLength) && !(message.fileLength && $util.isInteger(message.fileLength.low) && $util.isInteger(message.fileLength.high))) return "fileLength: integer|Long expected"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds)) return "seconds: integer expected"; if (message.ptt != null && message.hasOwnProperty("ptt")) if (typeof message.ptt !== "boolean") return "ptt: boolean expected"; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) if (!(message.mediaKey && typeof message.mediaKey.length === "number" || $util.isString(message.mediaKey))) return "mediaKey: buffer expected"; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) if (!(message.fileEncSha256 && typeof message.fileEncSha256.length === "number" || $util.isString(message.fileEncSha256))) return "fileEncSha256: buffer expected"; if (message.directPath != null && message.hasOwnProperty("directPath")) if (!$util.isString(message.directPath)) return "directPath: string expected"; if (message.mediaKeyTimestamp != null && message.hasOwnProperty("mediaKeyTimestamp")) if (!$util.isInteger(message.mediaKeyTimestamp) && !(message.mediaKeyTimestamp && $util.isInteger(message.mediaKeyTimestamp.low) && $util.isInteger(message.mediaKeyTimestamp.high))) return "mediaKeyTimestamp: integer|Long expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } if (message.streamingSidecar != null && message.hasOwnProperty("streamingSidecar")) if (!(message.streamingSidecar && typeof message.streamingSidecar.length === "number" || $util.isString(message.streamingSidecar))) return "streamingSidecar: buffer expected"; return null; }; /** * Creates an AudioMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.AudioMessage * @static * @param {Object.} object Plain object * @returns {proto.AudioMessage} AudioMessage */ AudioMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.AudioMessage) return object; var message = new $root.proto.AudioMessage(); if (object.url != null) message.url = String(object.url); if (object.mimetype != null) message.mimetype = String(object.mimetype); if (object.fileSha256 != null) if (typeof object.fileSha256 === "string") $util.base64.decode(object.fileSha256, message.fileSha256 = $util.newBuffer($util.base64.length(object.fileSha256)), 0); else if (object.fileSha256.length) message.fileSha256 = object.fileSha256; if (object.fileLength != null) if ($util.Long) (message.fileLength = $util.Long.fromValue(object.fileLength)).unsigned = true; else if (typeof object.fileLength === "string") message.fileLength = parseInt(object.fileLength, 10); else if (typeof object.fileLength === "number") message.fileLength = object.fileLength; else if (typeof object.fileLength === "object") message.fileLength = new $util.LongBits(object.fileLength.low >>> 0, object.fileLength.high >>> 0).toNumber(true); if (object.seconds != null) message.seconds = object.seconds >>> 0; if (object.ptt != null) message.ptt = Boolean(object.ptt); if (object.mediaKey != null) if (typeof object.mediaKey === "string") $util.base64.decode(object.mediaKey, message.mediaKey = $util.newBuffer($util.base64.length(object.mediaKey)), 0); else if (object.mediaKey.length) message.mediaKey = object.mediaKey; if (object.fileEncSha256 != null) if (typeof object.fileEncSha256 === "string") $util.base64.decode(object.fileEncSha256, message.fileEncSha256 = $util.newBuffer($util.base64.length(object.fileEncSha256)), 0); else if (object.fileEncSha256.length) message.fileEncSha256 = object.fileEncSha256; if (object.directPath != null) message.directPath = String(object.directPath); if (object.mediaKeyTimestamp != null) if ($util.Long) (message.mediaKeyTimestamp = $util.Long.fromValue(object.mediaKeyTimestamp)).unsigned = false; else if (typeof object.mediaKeyTimestamp === "string") message.mediaKeyTimestamp = parseInt(object.mediaKeyTimestamp, 10); else if (typeof object.mediaKeyTimestamp === "number") message.mediaKeyTimestamp = object.mediaKeyTimestamp; else if (typeof object.mediaKeyTimestamp === "object") message.mediaKeyTimestamp = new $util.LongBits(object.mediaKeyTimestamp.low >>> 0, object.mediaKeyTimestamp.high >>> 0).toNumber(); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.AudioMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.streamingSidecar != null) if (typeof object.streamingSidecar === "string") $util.base64.decode(object.streamingSidecar, message.streamingSidecar = $util.newBuffer($util.base64.length(object.streamingSidecar)), 0); else if (object.streamingSidecar.length) message.streamingSidecar = object.streamingSidecar; return message; }; /** * Creates a plain object from an AudioMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.AudioMessage * @static * @param {proto.AudioMessage} message AudioMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ AudioMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.url = ""; object.mimetype = ""; if (options.bytes === String) object.fileSha256 = ""; else { object.fileSha256 = []; if (options.bytes !== Array) object.fileSha256 = $util.newBuffer(object.fileSha256); } if ($util.Long) { var long = new $util.Long(0, 0, true); object.fileLength = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.fileLength = options.longs === String ? "0" : 0; object.seconds = 0; object.ptt = false; if (options.bytes === String) object.mediaKey = ""; else { object.mediaKey = []; if (options.bytes !== Array) object.mediaKey = $util.newBuffer(object.mediaKey); } if (options.bytes === String) object.fileEncSha256 = ""; else { object.fileEncSha256 = []; if (options.bytes !== Array) object.fileEncSha256 = $util.newBuffer(object.fileEncSha256); } object.directPath = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.mediaKeyTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.mediaKeyTimestamp = options.longs === String ? "0" : 0; object.contextInfo = null; if (options.bytes === String) object.streamingSidecar = ""; else { object.streamingSidecar = []; if (options.bytes !== Array) object.streamingSidecar = $util.newBuffer(object.streamingSidecar); } } if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; if (message.mimetype != null && message.hasOwnProperty("mimetype")) object.mimetype = message.mimetype; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) object.fileSha256 = options.bytes === String ? $util.base64.encode(message.fileSha256, 0, message.fileSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileSha256) : message.fileSha256; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (typeof message.fileLength === "number") object.fileLength = options.longs === String ? String(message.fileLength) : message.fileLength; else object.fileLength = options.longs === String ? $util.Long.prototype.toString.call(message.fileLength) : options.longs === Number ? new $util.LongBits(message.fileLength.low >>> 0, message.fileLength.high >>> 0).toNumber(true) : message.fileLength; if (message.seconds != null && message.hasOwnProperty("seconds")) object.seconds = message.seconds; if (message.ptt != null && message.hasOwnProperty("ptt")) object.ptt = message.ptt; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) object.mediaKey = options.bytes === String ? $util.base64.encode(message.mediaKey, 0, message.mediaKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.mediaKey) : message.mediaKey; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) object.fileEncSha256 = options.bytes === String ? $util.base64.encode(message.fileEncSha256, 0, message.fileEncSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileEncSha256) : message.fileEncSha256; if (message.directPath != null && message.hasOwnProperty("directPath")) object.directPath = message.directPath; if (message.mediaKeyTimestamp != null && message.hasOwnProperty("mediaKeyTimestamp")) if (typeof message.mediaKeyTimestamp === "number") object.mediaKeyTimestamp = options.longs === String ? String(message.mediaKeyTimestamp) : message.mediaKeyTimestamp; else object.mediaKeyTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.mediaKeyTimestamp) : options.longs === Number ? new $util.LongBits(message.mediaKeyTimestamp.low >>> 0, message.mediaKeyTimestamp.high >>> 0).toNumber() : message.mediaKeyTimestamp; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); if (message.streamingSidecar != null && message.hasOwnProperty("streamingSidecar")) object.streamingSidecar = options.bytes === String ? $util.base64.encode(message.streamingSidecar, 0, message.streamingSidecar.length) : options.bytes === Array ? Array.prototype.slice.call(message.streamingSidecar) : message.streamingSidecar; return object; }; /** * Converts this AudioMessage to JSON. * @function toJSON * @memberof proto.AudioMessage * @instance * @returns {Object.} JSON object */ AudioMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AudioMessage; })(); proto.VideoMessage = (function() { /** * Properties of a VideoMessage. * @memberof proto * @interface IVideoMessage * @property {string|null} [url] VideoMessage url * @property {string|null} [mimetype] VideoMessage mimetype * @property {Uint8Array|null} [fileSha256] VideoMessage fileSha256 * @property {number|Long|null} [fileLength] VideoMessage fileLength * @property {number|null} [seconds] VideoMessage seconds * @property {Uint8Array|null} [mediaKey] VideoMessage mediaKey * @property {string|null} [caption] VideoMessage caption * @property {boolean|null} [gifPlayback] VideoMessage gifPlayback * @property {number|null} [height] VideoMessage height * @property {number|null} [width] VideoMessage width * @property {Uint8Array|null} [fileEncSha256] VideoMessage fileEncSha256 * @property {Array.|null} [interactiveAnnotations] VideoMessage interactiveAnnotations * @property {string|null} [directPath] VideoMessage directPath * @property {number|Long|null} [mediaKeyTimestamp] VideoMessage mediaKeyTimestamp * @property {Uint8Array|null} [jpegThumbnail] VideoMessage jpegThumbnail * @property {proto.IContextInfo|null} [contextInfo] VideoMessage contextInfo * @property {Uint8Array|null} [streamingSidecar] VideoMessage streamingSidecar * @property {proto.VideoMessage.VideoMessageAttribution|null} [gifAttribution] VideoMessage gifAttribution * @property {boolean|null} [viewOnce] VideoMessage viewOnce */ /** * Constructs a new VideoMessage. * @memberof proto * @classdesc Represents a VideoMessage. * @implements IVideoMessage * @constructor * @param {proto.IVideoMessage=} [properties] Properties to set */ function VideoMessage(properties) { this.interactiveAnnotations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * VideoMessage url. * @member {string} url * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.url = ""; /** * VideoMessage mimetype. * @member {string} mimetype * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.mimetype = ""; /** * VideoMessage fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.fileSha256 = $util.newBuffer([]); /** * VideoMessage fileLength. * @member {number|Long} fileLength * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * VideoMessage seconds. * @member {number} seconds * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.seconds = 0; /** * VideoMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.mediaKey = $util.newBuffer([]); /** * VideoMessage caption. * @member {string} caption * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.caption = ""; /** * VideoMessage gifPlayback. * @member {boolean} gifPlayback * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.gifPlayback = false; /** * VideoMessage height. * @member {number} height * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.height = 0; /** * VideoMessage width. * @member {number} width * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.width = 0; /** * VideoMessage fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.fileEncSha256 = $util.newBuffer([]); /** * VideoMessage interactiveAnnotations. * @member {Array.} interactiveAnnotations * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.interactiveAnnotations = $util.emptyArray; /** * VideoMessage directPath. * @member {string} directPath * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.directPath = ""; /** * VideoMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * VideoMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * VideoMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.contextInfo = null; /** * VideoMessage streamingSidecar. * @member {Uint8Array} streamingSidecar * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.streamingSidecar = $util.newBuffer([]); /** * VideoMessage gifAttribution. * @member {proto.VideoMessage.VideoMessageAttribution} gifAttribution * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.gifAttribution = 0; /** * VideoMessage viewOnce. * @member {boolean} viewOnce * @memberof proto.VideoMessage * @instance */ VideoMessage.prototype.viewOnce = false; /** * Creates a new VideoMessage instance using the specified properties. * @function create * @memberof proto.VideoMessage * @static * @param {proto.IVideoMessage=} [properties] Properties to set * @returns {proto.VideoMessage} VideoMessage instance */ VideoMessage.create = function create(properties) { return new VideoMessage(properties); }; /** * Encodes the specified VideoMessage message. Does not implicitly {@link proto.VideoMessage.verify|verify} messages. * @function encode * @memberof proto.VideoMessage * @static * @param {proto.IVideoMessage} message VideoMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ VideoMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); if (message.mimetype != null && Object.hasOwnProperty.call(message, "mimetype")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimetype); if (message.fileSha256 != null && Object.hasOwnProperty.call(message, "fileSha256")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.fileSha256); if (message.fileLength != null && Object.hasOwnProperty.call(message, "fileLength")) writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.fileLength); if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.seconds); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.mediaKey); if (message.caption != null && Object.hasOwnProperty.call(message, "caption")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.caption); if (message.gifPlayback != null && Object.hasOwnProperty.call(message, "gifPlayback")) writer.uint32(/* id 8, wireType 0 =*/64).bool(message.gifPlayback); if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 9, wireType 0 =*/72).uint32(message.height); if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 10, wireType 0 =*/80).uint32(message.width); if (message.fileEncSha256 != null && Object.hasOwnProperty.call(message, "fileEncSha256")) writer.uint32(/* id 11, wireType 2 =*/90).bytes(message.fileEncSha256); if (message.interactiveAnnotations != null && message.interactiveAnnotations.length) for (var i = 0; i < message.interactiveAnnotations.length; ++i) $root.proto.InteractiveAnnotation.encode(message.interactiveAnnotations[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); if (message.directPath != null && Object.hasOwnProperty.call(message, "directPath")) writer.uint32(/* id 13, wireType 2 =*/106).string(message.directPath); if (message.mediaKeyTimestamp != null && Object.hasOwnProperty.call(message, "mediaKeyTimestamp")) writer.uint32(/* id 14, wireType 0 =*/112).int64(message.mediaKeyTimestamp); if (message.jpegThumbnail != null && Object.hasOwnProperty.call(message, "jpegThumbnail")) writer.uint32(/* id 16, wireType 2 =*/130).bytes(message.jpegThumbnail); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.streamingSidecar != null && Object.hasOwnProperty.call(message, "streamingSidecar")) writer.uint32(/* id 18, wireType 2 =*/146).bytes(message.streamingSidecar); if (message.gifAttribution != null && Object.hasOwnProperty.call(message, "gifAttribution")) writer.uint32(/* id 19, wireType 0 =*/152).int32(message.gifAttribution); if (message.viewOnce != null && Object.hasOwnProperty.call(message, "viewOnce")) writer.uint32(/* id 20, wireType 0 =*/160).bool(message.viewOnce); return writer; }; /** * Encodes the specified VideoMessage message, length delimited. Does not implicitly {@link proto.VideoMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.VideoMessage * @static * @param {proto.IVideoMessage} message VideoMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ VideoMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a VideoMessage message from the specified reader or buffer. * @function decode * @memberof proto.VideoMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.VideoMessage} VideoMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ VideoMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.VideoMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.url = reader.string(); break; case 2: message.mimetype = reader.string(); break; case 3: message.fileSha256 = reader.bytes(); break; case 4: message.fileLength = reader.uint64(); break; case 5: message.seconds = reader.uint32(); break; case 6: message.mediaKey = reader.bytes(); break; case 7: message.caption = reader.string(); break; case 8: message.gifPlayback = reader.bool(); break; case 9: message.height = reader.uint32(); break; case 10: message.width = reader.uint32(); break; case 11: message.fileEncSha256 = reader.bytes(); break; case 12: if (!(message.interactiveAnnotations && message.interactiveAnnotations.length)) message.interactiveAnnotations = []; message.interactiveAnnotations.push($root.proto.InteractiveAnnotation.decode(reader, reader.uint32())); break; case 13: message.directPath = reader.string(); break; case 14: message.mediaKeyTimestamp = reader.int64(); break; case 16: message.jpegThumbnail = reader.bytes(); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 18: message.streamingSidecar = reader.bytes(); break; case 19: message.gifAttribution = reader.int32(); break; case 20: message.viewOnce = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a VideoMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.VideoMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.VideoMessage} VideoMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ VideoMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a VideoMessage message. * @function verify * @memberof proto.VideoMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ VideoMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.url != null && message.hasOwnProperty("url")) if (!$util.isString(message.url)) return "url: string expected"; if (message.mimetype != null && message.hasOwnProperty("mimetype")) if (!$util.isString(message.mimetype)) return "mimetype: string expected"; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) if (!(message.fileSha256 && typeof message.fileSha256.length === "number" || $util.isString(message.fileSha256))) return "fileSha256: buffer expected"; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (!$util.isInteger(message.fileLength) && !(message.fileLength && $util.isInteger(message.fileLength.low) && $util.isInteger(message.fileLength.high))) return "fileLength: integer|Long expected"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds)) return "seconds: integer expected"; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) if (!(message.mediaKey && typeof message.mediaKey.length === "number" || $util.isString(message.mediaKey))) return "mediaKey: buffer expected"; if (message.caption != null && message.hasOwnProperty("caption")) if (!$util.isString(message.caption)) return "caption: string expected"; if (message.gifPlayback != null && message.hasOwnProperty("gifPlayback")) if (typeof message.gifPlayback !== "boolean") return "gifPlayback: boolean expected"; if (message.height != null && message.hasOwnProperty("height")) if (!$util.isInteger(message.height)) return "height: integer expected"; if (message.width != null && message.hasOwnProperty("width")) if (!$util.isInteger(message.width)) return "width: integer expected"; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) if (!(message.fileEncSha256 && typeof message.fileEncSha256.length === "number" || $util.isString(message.fileEncSha256))) return "fileEncSha256: buffer expected"; if (message.interactiveAnnotations != null && message.hasOwnProperty("interactiveAnnotations")) { if (!Array.isArray(message.interactiveAnnotations)) return "interactiveAnnotations: array expected"; for (var i = 0; i < message.interactiveAnnotations.length; ++i) { var error = $root.proto.InteractiveAnnotation.verify(message.interactiveAnnotations[i]); if (error) return "interactiveAnnotations." + error; } } if (message.directPath != null && message.hasOwnProperty("directPath")) if (!$util.isString(message.directPath)) return "directPath: string expected"; if (message.mediaKeyTimestamp != null && message.hasOwnProperty("mediaKeyTimestamp")) if (!$util.isInteger(message.mediaKeyTimestamp) && !(message.mediaKeyTimestamp && $util.isInteger(message.mediaKeyTimestamp.low) && $util.isInteger(message.mediaKeyTimestamp.high))) return "mediaKeyTimestamp: integer|Long expected"; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) if (!(message.jpegThumbnail && typeof message.jpegThumbnail.length === "number" || $util.isString(message.jpegThumbnail))) return "jpegThumbnail: buffer expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } if (message.streamingSidecar != null && message.hasOwnProperty("streamingSidecar")) if (!(message.streamingSidecar && typeof message.streamingSidecar.length === "number" || $util.isString(message.streamingSidecar))) return "streamingSidecar: buffer expected"; if (message.gifAttribution != null && message.hasOwnProperty("gifAttribution")) switch (message.gifAttribution) { default: return "gifAttribution: enum value expected"; case 0: case 1: case 2: break; } if (message.viewOnce != null && message.hasOwnProperty("viewOnce")) if (typeof message.viewOnce !== "boolean") return "viewOnce: boolean expected"; return null; }; /** * Creates a VideoMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.VideoMessage * @static * @param {Object.} object Plain object * @returns {proto.VideoMessage} VideoMessage */ VideoMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.VideoMessage) return object; var message = new $root.proto.VideoMessage(); if (object.url != null) message.url = String(object.url); if (object.mimetype != null) message.mimetype = String(object.mimetype); if (object.fileSha256 != null) if (typeof object.fileSha256 === "string") $util.base64.decode(object.fileSha256, message.fileSha256 = $util.newBuffer($util.base64.length(object.fileSha256)), 0); else if (object.fileSha256.length) message.fileSha256 = object.fileSha256; if (object.fileLength != null) if ($util.Long) (message.fileLength = $util.Long.fromValue(object.fileLength)).unsigned = true; else if (typeof object.fileLength === "string") message.fileLength = parseInt(object.fileLength, 10); else if (typeof object.fileLength === "number") message.fileLength = object.fileLength; else if (typeof object.fileLength === "object") message.fileLength = new $util.LongBits(object.fileLength.low >>> 0, object.fileLength.high >>> 0).toNumber(true); if (object.seconds != null) message.seconds = object.seconds >>> 0; if (object.mediaKey != null) if (typeof object.mediaKey === "string") $util.base64.decode(object.mediaKey, message.mediaKey = $util.newBuffer($util.base64.length(object.mediaKey)), 0); else if (object.mediaKey.length) message.mediaKey = object.mediaKey; if (object.caption != null) message.caption = String(object.caption); if (object.gifPlayback != null) message.gifPlayback = Boolean(object.gifPlayback); if (object.height != null) message.height = object.height >>> 0; if (object.width != null) message.width = object.width >>> 0; if (object.fileEncSha256 != null) if (typeof object.fileEncSha256 === "string") $util.base64.decode(object.fileEncSha256, message.fileEncSha256 = $util.newBuffer($util.base64.length(object.fileEncSha256)), 0); else if (object.fileEncSha256.length) message.fileEncSha256 = object.fileEncSha256; if (object.interactiveAnnotations) { if (!Array.isArray(object.interactiveAnnotations)) throw TypeError(".proto.VideoMessage.interactiveAnnotations: array expected"); message.interactiveAnnotations = []; for (var i = 0; i < object.interactiveAnnotations.length; ++i) { if (typeof object.interactiveAnnotations[i] !== "object") throw TypeError(".proto.VideoMessage.interactiveAnnotations: object expected"); message.interactiveAnnotations[i] = $root.proto.InteractiveAnnotation.fromObject(object.interactiveAnnotations[i]); } } if (object.directPath != null) message.directPath = String(object.directPath); if (object.mediaKeyTimestamp != null) if ($util.Long) (message.mediaKeyTimestamp = $util.Long.fromValue(object.mediaKeyTimestamp)).unsigned = false; else if (typeof object.mediaKeyTimestamp === "string") message.mediaKeyTimestamp = parseInt(object.mediaKeyTimestamp, 10); else if (typeof object.mediaKeyTimestamp === "number") message.mediaKeyTimestamp = object.mediaKeyTimestamp; else if (typeof object.mediaKeyTimestamp === "object") message.mediaKeyTimestamp = new $util.LongBits(object.mediaKeyTimestamp.low >>> 0, object.mediaKeyTimestamp.high >>> 0).toNumber(); if (object.jpegThumbnail != null) if (typeof object.jpegThumbnail === "string") $util.base64.decode(object.jpegThumbnail, message.jpegThumbnail = $util.newBuffer($util.base64.length(object.jpegThumbnail)), 0); else if (object.jpegThumbnail.length) message.jpegThumbnail = object.jpegThumbnail; if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.VideoMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.streamingSidecar != null) if (typeof object.streamingSidecar === "string") $util.base64.decode(object.streamingSidecar, message.streamingSidecar = $util.newBuffer($util.base64.length(object.streamingSidecar)), 0); else if (object.streamingSidecar.length) message.streamingSidecar = object.streamingSidecar; switch (object.gifAttribution) { case "NONE": case 0: message.gifAttribution = 0; break; case "GIPHY": case 1: message.gifAttribution = 1; break; case "TENOR": case 2: message.gifAttribution = 2; break; } if (object.viewOnce != null) message.viewOnce = Boolean(object.viewOnce); return message; }; /** * Creates a plain object from a VideoMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.VideoMessage * @static * @param {proto.VideoMessage} message VideoMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ VideoMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.interactiveAnnotations = []; if (options.defaults) { object.url = ""; object.mimetype = ""; if (options.bytes === String) object.fileSha256 = ""; else { object.fileSha256 = []; if (options.bytes !== Array) object.fileSha256 = $util.newBuffer(object.fileSha256); } if ($util.Long) { var long = new $util.Long(0, 0, true); object.fileLength = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.fileLength = options.longs === String ? "0" : 0; object.seconds = 0; if (options.bytes === String) object.mediaKey = ""; else { object.mediaKey = []; if (options.bytes !== Array) object.mediaKey = $util.newBuffer(object.mediaKey); } object.caption = ""; object.gifPlayback = false; object.height = 0; object.width = 0; if (options.bytes === String) object.fileEncSha256 = ""; else { object.fileEncSha256 = []; if (options.bytes !== Array) object.fileEncSha256 = $util.newBuffer(object.fileEncSha256); } object.directPath = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.mediaKeyTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.mediaKeyTimestamp = options.longs === String ? "0" : 0; if (options.bytes === String) object.jpegThumbnail = ""; else { object.jpegThumbnail = []; if (options.bytes !== Array) object.jpegThumbnail = $util.newBuffer(object.jpegThumbnail); } object.contextInfo = null; if (options.bytes === String) object.streamingSidecar = ""; else { object.streamingSidecar = []; if (options.bytes !== Array) object.streamingSidecar = $util.newBuffer(object.streamingSidecar); } object.gifAttribution = options.enums === String ? "NONE" : 0; object.viewOnce = false; } if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; if (message.mimetype != null && message.hasOwnProperty("mimetype")) object.mimetype = message.mimetype; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) object.fileSha256 = options.bytes === String ? $util.base64.encode(message.fileSha256, 0, message.fileSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileSha256) : message.fileSha256; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (typeof message.fileLength === "number") object.fileLength = options.longs === String ? String(message.fileLength) : message.fileLength; else object.fileLength = options.longs === String ? $util.Long.prototype.toString.call(message.fileLength) : options.longs === Number ? new $util.LongBits(message.fileLength.low >>> 0, message.fileLength.high >>> 0).toNumber(true) : message.fileLength; if (message.seconds != null && message.hasOwnProperty("seconds")) object.seconds = message.seconds; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) object.mediaKey = options.bytes === String ? $util.base64.encode(message.mediaKey, 0, message.mediaKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.mediaKey) : message.mediaKey; if (message.caption != null && message.hasOwnProperty("caption")) object.caption = message.caption; if (message.gifPlayback != null && message.hasOwnProperty("gifPlayback")) object.gifPlayback = message.gifPlayback; if (message.height != null && message.hasOwnProperty("height")) object.height = message.height; if (message.width != null && message.hasOwnProperty("width")) object.width = message.width; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) object.fileEncSha256 = options.bytes === String ? $util.base64.encode(message.fileEncSha256, 0, message.fileEncSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileEncSha256) : message.fileEncSha256; if (message.interactiveAnnotations && message.interactiveAnnotations.length) { object.interactiveAnnotations = []; for (var j = 0; j < message.interactiveAnnotations.length; ++j) object.interactiveAnnotations[j] = $root.proto.InteractiveAnnotation.toObject(message.interactiveAnnotations[j], options); } if (message.directPath != null && message.hasOwnProperty("directPath")) object.directPath = message.directPath; if (message.mediaKeyTimestamp != null && message.hasOwnProperty("mediaKeyTimestamp")) if (typeof message.mediaKeyTimestamp === "number") object.mediaKeyTimestamp = options.longs === String ? String(message.mediaKeyTimestamp) : message.mediaKeyTimestamp; else object.mediaKeyTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.mediaKeyTimestamp) : options.longs === Number ? new $util.LongBits(message.mediaKeyTimestamp.low >>> 0, message.mediaKeyTimestamp.high >>> 0).toNumber() : message.mediaKeyTimestamp; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) object.jpegThumbnail = options.bytes === String ? $util.base64.encode(message.jpegThumbnail, 0, message.jpegThumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.jpegThumbnail) : message.jpegThumbnail; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); if (message.streamingSidecar != null && message.hasOwnProperty("streamingSidecar")) object.streamingSidecar = options.bytes === String ? $util.base64.encode(message.streamingSidecar, 0, message.streamingSidecar.length) : options.bytes === Array ? Array.prototype.slice.call(message.streamingSidecar) : message.streamingSidecar; if (message.gifAttribution != null && message.hasOwnProperty("gifAttribution")) object.gifAttribution = options.enums === String ? $root.proto.VideoMessage.VideoMessageAttribution[message.gifAttribution] : message.gifAttribution; if (message.viewOnce != null && message.hasOwnProperty("viewOnce")) object.viewOnce = message.viewOnce; return object; }; /** * Converts this VideoMessage to JSON. * @function toJSON * @memberof proto.VideoMessage * @instance * @returns {Object.} JSON object */ VideoMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * VideoMessageAttribution enum. * @name proto.VideoMessage.VideoMessageAttribution * @enum {number} * @property {number} NONE=0 NONE value * @property {number} GIPHY=1 GIPHY value * @property {number} TENOR=2 TENOR value */ VideoMessage.VideoMessageAttribution = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "NONE"] = 0; values[valuesById[1] = "GIPHY"] = 1; values[valuesById[2] = "TENOR"] = 2; return values; })(); return VideoMessage; })(); proto.Call = (function() { /** * Properties of a Call. * @memberof proto * @interface ICall * @property {Uint8Array|null} [callKey] Call callKey */ /** * Constructs a new Call. * @memberof proto * @classdesc Represents a Call. * @implements ICall * @constructor * @param {proto.ICall=} [properties] Properties to set */ function Call(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * Call callKey. * @member {Uint8Array} callKey * @memberof proto.Call * @instance */ Call.prototype.callKey = $util.newBuffer([]); /** * Creates a new Call instance using the specified properties. * @function create * @memberof proto.Call * @static * @param {proto.ICall=} [properties] Properties to set * @returns {proto.Call} Call instance */ Call.create = function create(properties) { return new Call(properties); }; /** * Encodes the specified Call message. Does not implicitly {@link proto.Call.verify|verify} messages. * @function encode * @memberof proto.Call * @static * @param {proto.ICall} message Call message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Call.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.callKey != null && Object.hasOwnProperty.call(message, "callKey")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.callKey); return writer; }; /** * Encodes the specified Call message, length delimited. Does not implicitly {@link proto.Call.verify|verify} messages. * @function encodeDelimited * @memberof proto.Call * @static * @param {proto.ICall} message Call message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Call.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Call message from the specified reader or buffer. * @function decode * @memberof proto.Call * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Call} Call * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Call.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.Call(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.callKey = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Call message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Call * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Call} Call * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Call.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Call message. * @function verify * @memberof proto.Call * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Call.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.callKey != null && message.hasOwnProperty("callKey")) if (!(message.callKey && typeof message.callKey.length === "number" || $util.isString(message.callKey))) return "callKey: buffer expected"; return null; }; /** * Creates a Call message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Call * @static * @param {Object.} object Plain object * @returns {proto.Call} Call */ Call.fromObject = function fromObject(object) { if (object instanceof $root.proto.Call) return object; var message = new $root.proto.Call(); if (object.callKey != null) if (typeof object.callKey === "string") $util.base64.decode(object.callKey, message.callKey = $util.newBuffer($util.base64.length(object.callKey)), 0); else if (object.callKey.length) message.callKey = object.callKey; return message; }; /** * Creates a plain object from a Call message. Also converts values to other types if specified. * @function toObject * @memberof proto.Call * @static * @param {proto.Call} message Call * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ Call.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) if (options.bytes === String) object.callKey = ""; else { object.callKey = []; if (options.bytes !== Array) object.callKey = $util.newBuffer(object.callKey); } if (message.callKey != null && message.hasOwnProperty("callKey")) object.callKey = options.bytes === String ? $util.base64.encode(message.callKey, 0, message.callKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.callKey) : message.callKey; return object; }; /** * Converts this Call to JSON. * @function toJSON * @memberof proto.Call * @instance * @returns {Object.} JSON object */ Call.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Call; })(); proto.Chat = (function() { /** * Properties of a Chat. * @memberof proto * @interface IChat * @property {string|null} [displayName] Chat displayName * @property {string|null} [id] Chat id */ /** * Constructs a new Chat. * @memberof proto * @classdesc Represents a Chat. * @implements IChat * @constructor * @param {proto.IChat=} [properties] Properties to set */ function Chat(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * Chat displayName. * @member {string} displayName * @memberof proto.Chat * @instance */ Chat.prototype.displayName = ""; /** * Chat id. * @member {string} id * @memberof proto.Chat * @instance */ Chat.prototype.id = ""; /** * Creates a new Chat instance using the specified properties. * @function create * @memberof proto.Chat * @static * @param {proto.IChat=} [properties] Properties to set * @returns {proto.Chat} Chat instance */ Chat.create = function create(properties) { return new Chat(properties); }; /** * Encodes the specified Chat message. Does not implicitly {@link proto.Chat.verify|verify} messages. * @function encode * @memberof proto.Chat * @static * @param {proto.IChat} message Chat message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Chat.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.displayName); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.id); return writer; }; /** * Encodes the specified Chat message, length delimited. Does not implicitly {@link proto.Chat.verify|verify} messages. * @function encodeDelimited * @memberof proto.Chat * @static * @param {proto.IChat} message Chat message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Chat.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Chat message from the specified reader or buffer. * @function decode * @memberof proto.Chat * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Chat} Chat * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Chat.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.Chat(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayName = reader.string(); break; case 2: message.id = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Chat message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Chat * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Chat} Chat * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Chat.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Chat message. * @function verify * @memberof proto.Chat * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Chat.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.displayName != null && message.hasOwnProperty("displayName")) if (!$util.isString(message.displayName)) return "displayName: string expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; return null; }; /** * Creates a Chat message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Chat * @static * @param {Object.} object Plain object * @returns {proto.Chat} Chat */ Chat.fromObject = function fromObject(object) { if (object instanceof $root.proto.Chat) return object; var message = new $root.proto.Chat(); if (object.displayName != null) message.displayName = String(object.displayName); if (object.id != null) message.id = String(object.id); return message; }; /** * Creates a plain object from a Chat message. Also converts values to other types if specified. * @function toObject * @memberof proto.Chat * @static * @param {proto.Chat} message Chat * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ Chat.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.displayName = ""; object.id = ""; } if (message.displayName != null && message.hasOwnProperty("displayName")) object.displayName = message.displayName; if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; return object; }; /** * Converts this Chat to JSON. * @function toJSON * @memberof proto.Chat * @instance * @returns {Object.} JSON object */ Chat.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Chat; })(); proto.ProtocolMessage = (function() { /** * Properties of a ProtocolMessage. * @memberof proto * @interface IProtocolMessage * @property {proto.IMessageKey|null} [key] ProtocolMessage key * @property {proto.ProtocolMessage.ProtocolMessageType|null} [type] ProtocolMessage type * @property {number|null} [ephemeralExpiration] ProtocolMessage ephemeralExpiration * @property {number|Long|null} [ephemeralSettingTimestamp] ProtocolMessage ephemeralSettingTimestamp * @property {proto.IHistorySyncNotification|null} [historySyncNotification] ProtocolMessage historySyncNotification * @property {proto.IAppStateSyncKeyShare|null} [appStateSyncKeyShare] ProtocolMessage appStateSyncKeyShare * @property {proto.IAppStateSyncKeyRequest|null} [appStateSyncKeyRequest] ProtocolMessage appStateSyncKeyRequest * @property {proto.IInitialSecurityNotificationSettingSync|null} [initialSecurityNotificationSettingSync] ProtocolMessage initialSecurityNotificationSettingSync */ /** * Constructs a new ProtocolMessage. * @memberof proto * @classdesc Represents a ProtocolMessage. * @implements IProtocolMessage * @constructor * @param {proto.IProtocolMessage=} [properties] Properties to set */ function ProtocolMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ProtocolMessage key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.ProtocolMessage * @instance */ ProtocolMessage.prototype.key = null; /** * ProtocolMessage type. * @member {proto.ProtocolMessage.ProtocolMessageType} type * @memberof proto.ProtocolMessage * @instance */ ProtocolMessage.prototype.type = 0; /** * ProtocolMessage ephemeralExpiration. * @member {number} ephemeralExpiration * @memberof proto.ProtocolMessage * @instance */ ProtocolMessage.prototype.ephemeralExpiration = 0; /** * ProtocolMessage ephemeralSettingTimestamp. * @member {number|Long} ephemeralSettingTimestamp * @memberof proto.ProtocolMessage * @instance */ ProtocolMessage.prototype.ephemeralSettingTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * ProtocolMessage historySyncNotification. * @member {proto.IHistorySyncNotification|null|undefined} historySyncNotification * @memberof proto.ProtocolMessage * @instance */ ProtocolMessage.prototype.historySyncNotification = null; /** * ProtocolMessage appStateSyncKeyShare. * @member {proto.IAppStateSyncKeyShare|null|undefined} appStateSyncKeyShare * @memberof proto.ProtocolMessage * @instance */ ProtocolMessage.prototype.appStateSyncKeyShare = null; /** * ProtocolMessage appStateSyncKeyRequest. * @member {proto.IAppStateSyncKeyRequest|null|undefined} appStateSyncKeyRequest * @memberof proto.ProtocolMessage * @instance */ ProtocolMessage.prototype.appStateSyncKeyRequest = null; /** * ProtocolMessage initialSecurityNotificationSettingSync. * @member {proto.IInitialSecurityNotificationSettingSync|null|undefined} initialSecurityNotificationSettingSync * @memberof proto.ProtocolMessage * @instance */ ProtocolMessage.prototype.initialSecurityNotificationSettingSync = null; /** * Creates a new ProtocolMessage instance using the specified properties. * @function create * @memberof proto.ProtocolMessage * @static * @param {proto.IProtocolMessage=} [properties] Properties to set * @returns {proto.ProtocolMessage} ProtocolMessage instance */ ProtocolMessage.create = function create(properties) { return new ProtocolMessage(properties); }; /** * Encodes the specified ProtocolMessage message. Does not implicitly {@link proto.ProtocolMessage.verify|verify} messages. * @function encode * @memberof proto.ProtocolMessage * @static * @param {proto.IProtocolMessage} message ProtocolMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProtocolMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.key != null && Object.hasOwnProperty.call(message, "key")) $root.proto.MessageKey.encode(message.key, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type); if (message.ephemeralExpiration != null && Object.hasOwnProperty.call(message, "ephemeralExpiration")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.ephemeralExpiration); if (message.ephemeralSettingTimestamp != null && Object.hasOwnProperty.call(message, "ephemeralSettingTimestamp")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.ephemeralSettingTimestamp); if (message.historySyncNotification != null && Object.hasOwnProperty.call(message, "historySyncNotification")) $root.proto.HistorySyncNotification.encode(message.historySyncNotification, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.appStateSyncKeyShare != null && Object.hasOwnProperty.call(message, "appStateSyncKeyShare")) $root.proto.AppStateSyncKeyShare.encode(message.appStateSyncKeyShare, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.appStateSyncKeyRequest != null && Object.hasOwnProperty.call(message, "appStateSyncKeyRequest")) $root.proto.AppStateSyncKeyRequest.encode(message.appStateSyncKeyRequest, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.initialSecurityNotificationSettingSync != null && Object.hasOwnProperty.call(message, "initialSecurityNotificationSettingSync")) $root.proto.InitialSecurityNotificationSettingSync.encode(message.initialSecurityNotificationSettingSync, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; /** * Encodes the specified ProtocolMessage message, length delimited. Does not implicitly {@link proto.ProtocolMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.ProtocolMessage * @static * @param {proto.IProtocolMessage} message ProtocolMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProtocolMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ProtocolMessage message from the specified reader or buffer. * @function decode * @memberof proto.ProtocolMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ProtocolMessage} ProtocolMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProtocolMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ProtocolMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 2: message.type = reader.int32(); break; case 4: message.ephemeralExpiration = reader.uint32(); break; case 5: message.ephemeralSettingTimestamp = reader.int64(); break; case 6: message.historySyncNotification = $root.proto.HistorySyncNotification.decode(reader, reader.uint32()); break; case 7: message.appStateSyncKeyShare = $root.proto.AppStateSyncKeyShare.decode(reader, reader.uint32()); break; case 8: message.appStateSyncKeyRequest = $root.proto.AppStateSyncKeyRequest.decode(reader, reader.uint32()); break; case 9: message.initialSecurityNotificationSettingSync = $root.proto.InitialSecurityNotificationSettingSync.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ProtocolMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ProtocolMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ProtocolMessage} ProtocolMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProtocolMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ProtocolMessage message. * @function verify * @memberof proto.ProtocolMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ProtocolMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.key != null && message.hasOwnProperty("key")) { var error = $root.proto.MessageKey.verify(message.key); if (error) return "key." + error; } if (message.type != null && message.hasOwnProperty("type")) switch (message.type) { default: return "type: enum value expected"; case 0: case 3: case 4: case 5: case 6: case 7: case 8: case 9: break; } if (message.ephemeralExpiration != null && message.hasOwnProperty("ephemeralExpiration")) if (!$util.isInteger(message.ephemeralExpiration)) return "ephemeralExpiration: integer expected"; if (message.ephemeralSettingTimestamp != null && message.hasOwnProperty("ephemeralSettingTimestamp")) if (!$util.isInteger(message.ephemeralSettingTimestamp) && !(message.ephemeralSettingTimestamp && $util.isInteger(message.ephemeralSettingTimestamp.low) && $util.isInteger(message.ephemeralSettingTimestamp.high))) return "ephemeralSettingTimestamp: integer|Long expected"; if (message.historySyncNotification != null && message.hasOwnProperty("historySyncNotification")) { var error = $root.proto.HistorySyncNotification.verify(message.historySyncNotification); if (error) return "historySyncNotification." + error; } if (message.appStateSyncKeyShare != null && message.hasOwnProperty("appStateSyncKeyShare")) { var error = $root.proto.AppStateSyncKeyShare.verify(message.appStateSyncKeyShare); if (error) return "appStateSyncKeyShare." + error; } if (message.appStateSyncKeyRequest != null && message.hasOwnProperty("appStateSyncKeyRequest")) { var error = $root.proto.AppStateSyncKeyRequest.verify(message.appStateSyncKeyRequest); if (error) return "appStateSyncKeyRequest." + error; } if (message.initialSecurityNotificationSettingSync != null && message.hasOwnProperty("initialSecurityNotificationSettingSync")) { var error = $root.proto.InitialSecurityNotificationSettingSync.verify(message.initialSecurityNotificationSettingSync); if (error) return "initialSecurityNotificationSettingSync." + error; } return null; }; /** * Creates a ProtocolMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ProtocolMessage * @static * @param {Object.} object Plain object * @returns {proto.ProtocolMessage} ProtocolMessage */ ProtocolMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.ProtocolMessage) return object; var message = new $root.proto.ProtocolMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.ProtocolMessage.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } switch (object.type) { case "REVOKE": case 0: message.type = 0; break; case "EPHEMERAL_SETTING": case 3: message.type = 3; break; case "EPHEMERAL_SYNC_RESPONSE": case 4: message.type = 4; break; case "HISTORY_SYNC_NOTIFICATION": case 5: message.type = 5; break; case "APP_STATE_SYNC_KEY_SHARE": case 6: message.type = 6; break; case "APP_STATE_SYNC_KEY_REQUEST": case 7: message.type = 7; break; case "MSG_FANOUT_BACKFILL_REQUEST": case 8: message.type = 8; break; case "INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC": case 9: message.type = 9; break; } if (object.ephemeralExpiration != null) message.ephemeralExpiration = object.ephemeralExpiration >>> 0; if (object.ephemeralSettingTimestamp != null) if ($util.Long) (message.ephemeralSettingTimestamp = $util.Long.fromValue(object.ephemeralSettingTimestamp)).unsigned = false; else if (typeof object.ephemeralSettingTimestamp === "string") message.ephemeralSettingTimestamp = parseInt(object.ephemeralSettingTimestamp, 10); else if (typeof object.ephemeralSettingTimestamp === "number") message.ephemeralSettingTimestamp = object.ephemeralSettingTimestamp; else if (typeof object.ephemeralSettingTimestamp === "object") message.ephemeralSettingTimestamp = new $util.LongBits(object.ephemeralSettingTimestamp.low >>> 0, object.ephemeralSettingTimestamp.high >>> 0).toNumber(); if (object.historySyncNotification != null) { if (typeof object.historySyncNotification !== "object") throw TypeError(".proto.ProtocolMessage.historySyncNotification: object expected"); message.historySyncNotification = $root.proto.HistorySyncNotification.fromObject(object.historySyncNotification); } if (object.appStateSyncKeyShare != null) { if (typeof object.appStateSyncKeyShare !== "object") throw TypeError(".proto.ProtocolMessage.appStateSyncKeyShare: object expected"); message.appStateSyncKeyShare = $root.proto.AppStateSyncKeyShare.fromObject(object.appStateSyncKeyShare); } if (object.appStateSyncKeyRequest != null) { if (typeof object.appStateSyncKeyRequest !== "object") throw TypeError(".proto.ProtocolMessage.appStateSyncKeyRequest: object expected"); message.appStateSyncKeyRequest = $root.proto.AppStateSyncKeyRequest.fromObject(object.appStateSyncKeyRequest); } if (object.initialSecurityNotificationSettingSync != null) { if (typeof object.initialSecurityNotificationSettingSync !== "object") throw TypeError(".proto.ProtocolMessage.initialSecurityNotificationSettingSync: object expected"); message.initialSecurityNotificationSettingSync = $root.proto.InitialSecurityNotificationSettingSync.fromObject(object.initialSecurityNotificationSettingSync); } return message; }; /** * Creates a plain object from a ProtocolMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.ProtocolMessage * @static * @param {proto.ProtocolMessage} message ProtocolMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ProtocolMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.key = null; object.type = options.enums === String ? "REVOKE" : 0; object.ephemeralExpiration = 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.ephemeralSettingTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.ephemeralSettingTimestamp = options.longs === String ? "0" : 0; object.historySyncNotification = null; object.appStateSyncKeyShare = null; object.appStateSyncKeyRequest = null; object.initialSecurityNotificationSettingSync = null; } if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); if (message.type != null && message.hasOwnProperty("type")) object.type = options.enums === String ? $root.proto.ProtocolMessage.ProtocolMessageType[message.type] : message.type; if (message.ephemeralExpiration != null && message.hasOwnProperty("ephemeralExpiration")) object.ephemeralExpiration = message.ephemeralExpiration; if (message.ephemeralSettingTimestamp != null && message.hasOwnProperty("ephemeralSettingTimestamp")) if (typeof message.ephemeralSettingTimestamp === "number") object.ephemeralSettingTimestamp = options.longs === String ? String(message.ephemeralSettingTimestamp) : message.ephemeralSettingTimestamp; else object.ephemeralSettingTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.ephemeralSettingTimestamp) : options.longs === Number ? new $util.LongBits(message.ephemeralSettingTimestamp.low >>> 0, message.ephemeralSettingTimestamp.high >>> 0).toNumber() : message.ephemeralSettingTimestamp; if (message.historySyncNotification != null && message.hasOwnProperty("historySyncNotification")) object.historySyncNotification = $root.proto.HistorySyncNotification.toObject(message.historySyncNotification, options); if (message.appStateSyncKeyShare != null && message.hasOwnProperty("appStateSyncKeyShare")) object.appStateSyncKeyShare = $root.proto.AppStateSyncKeyShare.toObject(message.appStateSyncKeyShare, options); if (message.appStateSyncKeyRequest != null && message.hasOwnProperty("appStateSyncKeyRequest")) object.appStateSyncKeyRequest = $root.proto.AppStateSyncKeyRequest.toObject(message.appStateSyncKeyRequest, options); if (message.initialSecurityNotificationSettingSync != null && message.hasOwnProperty("initialSecurityNotificationSettingSync")) object.initialSecurityNotificationSettingSync = $root.proto.InitialSecurityNotificationSettingSync.toObject(message.initialSecurityNotificationSettingSync, options); return object; }; /** * Converts this ProtocolMessage to JSON. * @function toJSON * @memberof proto.ProtocolMessage * @instance * @returns {Object.} JSON object */ ProtocolMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ProtocolMessageType enum. * @name proto.ProtocolMessage.ProtocolMessageType * @enum {number} * @property {number} REVOKE=0 REVOKE value * @property {number} EPHEMERAL_SETTING=3 EPHEMERAL_SETTING value * @property {number} EPHEMERAL_SYNC_RESPONSE=4 EPHEMERAL_SYNC_RESPONSE value * @property {number} HISTORY_SYNC_NOTIFICATION=5 HISTORY_SYNC_NOTIFICATION value * @property {number} APP_STATE_SYNC_KEY_SHARE=6 APP_STATE_SYNC_KEY_SHARE value * @property {number} APP_STATE_SYNC_KEY_REQUEST=7 APP_STATE_SYNC_KEY_REQUEST value * @property {number} MSG_FANOUT_BACKFILL_REQUEST=8 MSG_FANOUT_BACKFILL_REQUEST value * @property {number} INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC=9 INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC value */ ProtocolMessage.ProtocolMessageType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "REVOKE"] = 0; values[valuesById[3] = "EPHEMERAL_SETTING"] = 3; values[valuesById[4] = "EPHEMERAL_SYNC_RESPONSE"] = 4; values[valuesById[5] = "HISTORY_SYNC_NOTIFICATION"] = 5; values[valuesById[6] = "APP_STATE_SYNC_KEY_SHARE"] = 6; values[valuesById[7] = "APP_STATE_SYNC_KEY_REQUEST"] = 7; values[valuesById[8] = "MSG_FANOUT_BACKFILL_REQUEST"] = 8; values[valuesById[9] = "INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC"] = 9; return values; })(); return ProtocolMessage; })(); proto.HistorySyncNotification = (function() { /** * Properties of a HistorySyncNotification. * @memberof proto * @interface IHistorySyncNotification * @property {Uint8Array|null} [fileSha256] HistorySyncNotification fileSha256 * @property {number|Long|null} [fileLength] HistorySyncNotification fileLength * @property {Uint8Array|null} [mediaKey] HistorySyncNotification mediaKey * @property {Uint8Array|null} [fileEncSha256] HistorySyncNotification fileEncSha256 * @property {string|null} [directPath] HistorySyncNotification directPath * @property {proto.HistorySyncNotification.HistorySyncNotificationHistorySyncType|null} [syncType] HistorySyncNotification syncType * @property {number|null} [chunkOrder] HistorySyncNotification chunkOrder * @property {string|null} [originalMessageId] HistorySyncNotification originalMessageId */ /** * Constructs a new HistorySyncNotification. * @memberof proto * @classdesc Represents a HistorySyncNotification. * @implements IHistorySyncNotification * @constructor * @param {proto.IHistorySyncNotification=} [properties] Properties to set */ function HistorySyncNotification(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HistorySyncNotification fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.fileSha256 = $util.newBuffer([]); /** * HistorySyncNotification fileLength. * @member {number|Long} fileLength * @memberof proto.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * HistorySyncNotification mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.mediaKey = $util.newBuffer([]); /** * HistorySyncNotification fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.fileEncSha256 = $util.newBuffer([]); /** * HistorySyncNotification directPath. * @member {string} directPath * @memberof proto.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.directPath = ""; /** * HistorySyncNotification syncType. * @member {proto.HistorySyncNotification.HistorySyncNotificationHistorySyncType} syncType * @memberof proto.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.syncType = 0; /** * HistorySyncNotification chunkOrder. * @member {number} chunkOrder * @memberof proto.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.chunkOrder = 0; /** * HistorySyncNotification originalMessageId. * @member {string} originalMessageId * @memberof proto.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.originalMessageId = ""; /** * Creates a new HistorySyncNotification instance using the specified properties. * @function create * @memberof proto.HistorySyncNotification * @static * @param {proto.IHistorySyncNotification=} [properties] Properties to set * @returns {proto.HistorySyncNotification} HistorySyncNotification instance */ HistorySyncNotification.create = function create(properties) { return new HistorySyncNotification(properties); }; /** * Encodes the specified HistorySyncNotification message. Does not implicitly {@link proto.HistorySyncNotification.verify|verify} messages. * @function encode * @memberof proto.HistorySyncNotification * @static * @param {proto.IHistorySyncNotification} message HistorySyncNotification message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HistorySyncNotification.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.fileSha256 != null && Object.hasOwnProperty.call(message, "fileSha256")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.fileSha256); if (message.fileLength != null && Object.hasOwnProperty.call(message, "fileLength")) writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.fileLength); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.mediaKey); if (message.fileEncSha256 != null && Object.hasOwnProperty.call(message, "fileEncSha256")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.fileEncSha256); if (message.directPath != null && Object.hasOwnProperty.call(message, "directPath")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.directPath); if (message.syncType != null && Object.hasOwnProperty.call(message, "syncType")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.syncType); if (message.chunkOrder != null && Object.hasOwnProperty.call(message, "chunkOrder")) writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.chunkOrder); if (message.originalMessageId != null && Object.hasOwnProperty.call(message, "originalMessageId")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.originalMessageId); return writer; }; /** * Encodes the specified HistorySyncNotification message, length delimited. Does not implicitly {@link proto.HistorySyncNotification.verify|verify} messages. * @function encodeDelimited * @memberof proto.HistorySyncNotification * @static * @param {proto.IHistorySyncNotification} message HistorySyncNotification message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HistorySyncNotification.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HistorySyncNotification message from the specified reader or buffer. * @function decode * @memberof proto.HistorySyncNotification * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HistorySyncNotification} HistorySyncNotification * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HistorySyncNotification.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HistorySyncNotification(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.fileSha256 = reader.bytes(); break; case 2: message.fileLength = reader.uint64(); break; case 3: message.mediaKey = reader.bytes(); break; case 4: message.fileEncSha256 = reader.bytes(); break; case 5: message.directPath = reader.string(); break; case 6: message.syncType = reader.int32(); break; case 7: message.chunkOrder = reader.uint32(); break; case 8: message.originalMessageId = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HistorySyncNotification message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HistorySyncNotification * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HistorySyncNotification} HistorySyncNotification * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HistorySyncNotification.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HistorySyncNotification message. * @function verify * @memberof proto.HistorySyncNotification * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HistorySyncNotification.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) if (!(message.fileSha256 && typeof message.fileSha256.length === "number" || $util.isString(message.fileSha256))) return "fileSha256: buffer expected"; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (!$util.isInteger(message.fileLength) && !(message.fileLength && $util.isInteger(message.fileLength.low) && $util.isInteger(message.fileLength.high))) return "fileLength: integer|Long expected"; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) if (!(message.mediaKey && typeof message.mediaKey.length === "number" || $util.isString(message.mediaKey))) return "mediaKey: buffer expected"; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) if (!(message.fileEncSha256 && typeof message.fileEncSha256.length === "number" || $util.isString(message.fileEncSha256))) return "fileEncSha256: buffer expected"; if (message.directPath != null && message.hasOwnProperty("directPath")) if (!$util.isString(message.directPath)) return "directPath: string expected"; if (message.syncType != null && message.hasOwnProperty("syncType")) switch (message.syncType) { default: return "syncType: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.chunkOrder != null && message.hasOwnProperty("chunkOrder")) if (!$util.isInteger(message.chunkOrder)) return "chunkOrder: integer expected"; if (message.originalMessageId != null && message.hasOwnProperty("originalMessageId")) if (!$util.isString(message.originalMessageId)) return "originalMessageId: string expected"; return null; }; /** * Creates a HistorySyncNotification message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HistorySyncNotification * @static * @param {Object.} object Plain object * @returns {proto.HistorySyncNotification} HistorySyncNotification */ HistorySyncNotification.fromObject = function fromObject(object) { if (object instanceof $root.proto.HistorySyncNotification) return object; var message = new $root.proto.HistorySyncNotification(); if (object.fileSha256 != null) if (typeof object.fileSha256 === "string") $util.base64.decode(object.fileSha256, message.fileSha256 = $util.newBuffer($util.base64.length(object.fileSha256)), 0); else if (object.fileSha256.length) message.fileSha256 = object.fileSha256; if (object.fileLength != null) if ($util.Long) (message.fileLength = $util.Long.fromValue(object.fileLength)).unsigned = true; else if (typeof object.fileLength === "string") message.fileLength = parseInt(object.fileLength, 10); else if (typeof object.fileLength === "number") message.fileLength = object.fileLength; else if (typeof object.fileLength === "object") message.fileLength = new $util.LongBits(object.fileLength.low >>> 0, object.fileLength.high >>> 0).toNumber(true); if (object.mediaKey != null) if (typeof object.mediaKey === "string") $util.base64.decode(object.mediaKey, message.mediaKey = $util.newBuffer($util.base64.length(object.mediaKey)), 0); else if (object.mediaKey.length) message.mediaKey = object.mediaKey; if (object.fileEncSha256 != null) if (typeof object.fileEncSha256 === "string") $util.base64.decode(object.fileEncSha256, message.fileEncSha256 = $util.newBuffer($util.base64.length(object.fileEncSha256)), 0); else if (object.fileEncSha256.length) message.fileEncSha256 = object.fileEncSha256; if (object.directPath != null) message.directPath = String(object.directPath); switch (object.syncType) { case "INITIAL_BOOTSTRAP": case 0: message.syncType = 0; break; case "INITIAL_STATUS_V3": case 1: message.syncType = 1; break; case "FULL": case 2: message.syncType = 2; break; case "RECENT": case 3: message.syncType = 3; break; } if (object.chunkOrder != null) message.chunkOrder = object.chunkOrder >>> 0; if (object.originalMessageId != null) message.originalMessageId = String(object.originalMessageId); return message; }; /** * Creates a plain object from a HistorySyncNotification message. Also converts values to other types if specified. * @function toObject * @memberof proto.HistorySyncNotification * @static * @param {proto.HistorySyncNotification} message HistorySyncNotification * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HistorySyncNotification.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.fileSha256 = ""; else { object.fileSha256 = []; if (options.bytes !== Array) object.fileSha256 = $util.newBuffer(object.fileSha256); } if ($util.Long) { var long = new $util.Long(0, 0, true); object.fileLength = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.fileLength = options.longs === String ? "0" : 0; if (options.bytes === String) object.mediaKey = ""; else { object.mediaKey = []; if (options.bytes !== Array) object.mediaKey = $util.newBuffer(object.mediaKey); } if (options.bytes === String) object.fileEncSha256 = ""; else { object.fileEncSha256 = []; if (options.bytes !== Array) object.fileEncSha256 = $util.newBuffer(object.fileEncSha256); } object.directPath = ""; object.syncType = options.enums === String ? "INITIAL_BOOTSTRAP" : 0; object.chunkOrder = 0; object.originalMessageId = ""; } if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) object.fileSha256 = options.bytes === String ? $util.base64.encode(message.fileSha256, 0, message.fileSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileSha256) : message.fileSha256; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (typeof message.fileLength === "number") object.fileLength = options.longs === String ? String(message.fileLength) : message.fileLength; else object.fileLength = options.longs === String ? $util.Long.prototype.toString.call(message.fileLength) : options.longs === Number ? new $util.LongBits(message.fileLength.low >>> 0, message.fileLength.high >>> 0).toNumber(true) : message.fileLength; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) object.mediaKey = options.bytes === String ? $util.base64.encode(message.mediaKey, 0, message.mediaKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.mediaKey) : message.mediaKey; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) object.fileEncSha256 = options.bytes === String ? $util.base64.encode(message.fileEncSha256, 0, message.fileEncSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileEncSha256) : message.fileEncSha256; if (message.directPath != null && message.hasOwnProperty("directPath")) object.directPath = message.directPath; if (message.syncType != null && message.hasOwnProperty("syncType")) object.syncType = options.enums === String ? $root.proto.HistorySyncNotification.HistorySyncNotificationHistorySyncType[message.syncType] : message.syncType; if (message.chunkOrder != null && message.hasOwnProperty("chunkOrder")) object.chunkOrder = message.chunkOrder; if (message.originalMessageId != null && message.hasOwnProperty("originalMessageId")) object.originalMessageId = message.originalMessageId; return object; }; /** * Converts this HistorySyncNotification to JSON. * @function toJSON * @memberof proto.HistorySyncNotification * @instance * @returns {Object.} JSON object */ HistorySyncNotification.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * HistorySyncNotificationHistorySyncType enum. * @name proto.HistorySyncNotification.HistorySyncNotificationHistorySyncType * @enum {number} * @property {number} INITIAL_BOOTSTRAP=0 INITIAL_BOOTSTRAP value * @property {number} INITIAL_STATUS_V3=1 INITIAL_STATUS_V3 value * @property {number} FULL=2 FULL value * @property {number} RECENT=3 RECENT value */ HistorySyncNotification.HistorySyncNotificationHistorySyncType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "INITIAL_BOOTSTRAP"] = 0; values[valuesById[1] = "INITIAL_STATUS_V3"] = 1; values[valuesById[2] = "FULL"] = 2; values[valuesById[3] = "RECENT"] = 3; return values; })(); return HistorySyncNotification; })(); proto.AppStateSyncKey = (function() { /** * Properties of an AppStateSyncKey. * @memberof proto * @interface IAppStateSyncKey * @property {proto.IAppStateSyncKeyId|null} [keyId] AppStateSyncKey keyId * @property {proto.IAppStateSyncKeyData|null} [keyData] AppStateSyncKey keyData */ /** * Constructs a new AppStateSyncKey. * @memberof proto * @classdesc Represents an AppStateSyncKey. * @implements IAppStateSyncKey * @constructor * @param {proto.IAppStateSyncKey=} [properties] Properties to set */ function AppStateSyncKey(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * AppStateSyncKey keyId. * @member {proto.IAppStateSyncKeyId|null|undefined} keyId * @memberof proto.AppStateSyncKey * @instance */ AppStateSyncKey.prototype.keyId = null; /** * AppStateSyncKey keyData. * @member {proto.IAppStateSyncKeyData|null|undefined} keyData * @memberof proto.AppStateSyncKey * @instance */ AppStateSyncKey.prototype.keyData = null; /** * Creates a new AppStateSyncKey instance using the specified properties. * @function create * @memberof proto.AppStateSyncKey * @static * @param {proto.IAppStateSyncKey=} [properties] Properties to set * @returns {proto.AppStateSyncKey} AppStateSyncKey instance */ AppStateSyncKey.create = function create(properties) { return new AppStateSyncKey(properties); }; /** * Encodes the specified AppStateSyncKey message. Does not implicitly {@link proto.AppStateSyncKey.verify|verify} messages. * @function encode * @memberof proto.AppStateSyncKey * @static * @param {proto.IAppStateSyncKey} message AppStateSyncKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKey.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.keyId != null && Object.hasOwnProperty.call(message, "keyId")) $root.proto.AppStateSyncKeyId.encode(message.keyId, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.keyData != null && Object.hasOwnProperty.call(message, "keyData")) $root.proto.AppStateSyncKeyData.encode(message.keyData, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified AppStateSyncKey message, length delimited. Does not implicitly {@link proto.AppStateSyncKey.verify|verify} messages. * @function encodeDelimited * @memberof proto.AppStateSyncKey * @static * @param {proto.IAppStateSyncKey} message AppStateSyncKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKey.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AppStateSyncKey message from the specified reader or buffer. * @function decode * @memberof proto.AppStateSyncKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.AppStateSyncKey} AppStateSyncKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKey.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.AppStateSyncKey(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.keyId = $root.proto.AppStateSyncKeyId.decode(reader, reader.uint32()); break; case 2: message.keyData = $root.proto.AppStateSyncKeyData.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AppStateSyncKey message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.AppStateSyncKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.AppStateSyncKey} AppStateSyncKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKey.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AppStateSyncKey message. * @function verify * @memberof proto.AppStateSyncKey * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AppStateSyncKey.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.keyId != null && message.hasOwnProperty("keyId")) { var error = $root.proto.AppStateSyncKeyId.verify(message.keyId); if (error) return "keyId." + error; } if (message.keyData != null && message.hasOwnProperty("keyData")) { var error = $root.proto.AppStateSyncKeyData.verify(message.keyData); if (error) return "keyData." + error; } return null; }; /** * Creates an AppStateSyncKey message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.AppStateSyncKey * @static * @param {Object.} object Plain object * @returns {proto.AppStateSyncKey} AppStateSyncKey */ AppStateSyncKey.fromObject = function fromObject(object) { if (object instanceof $root.proto.AppStateSyncKey) return object; var message = new $root.proto.AppStateSyncKey(); if (object.keyId != null) { if (typeof object.keyId !== "object") throw TypeError(".proto.AppStateSyncKey.keyId: object expected"); message.keyId = $root.proto.AppStateSyncKeyId.fromObject(object.keyId); } if (object.keyData != null) { if (typeof object.keyData !== "object") throw TypeError(".proto.AppStateSyncKey.keyData: object expected"); message.keyData = $root.proto.AppStateSyncKeyData.fromObject(object.keyData); } return message; }; /** * Creates a plain object from an AppStateSyncKey message. Also converts values to other types if specified. * @function toObject * @memberof proto.AppStateSyncKey * @static * @param {proto.AppStateSyncKey} message AppStateSyncKey * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ AppStateSyncKey.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.keyId = null; object.keyData = null; } if (message.keyId != null && message.hasOwnProperty("keyId")) object.keyId = $root.proto.AppStateSyncKeyId.toObject(message.keyId, options); if (message.keyData != null && message.hasOwnProperty("keyData")) object.keyData = $root.proto.AppStateSyncKeyData.toObject(message.keyData, options); return object; }; /** * Converts this AppStateSyncKey to JSON. * @function toJSON * @memberof proto.AppStateSyncKey * @instance * @returns {Object.} JSON object */ AppStateSyncKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKey; })(); proto.AppStateSyncKeyId = (function() { /** * Properties of an AppStateSyncKeyId. * @memberof proto * @interface IAppStateSyncKeyId * @property {Uint8Array|null} [keyId] AppStateSyncKeyId keyId */ /** * Constructs a new AppStateSyncKeyId. * @memberof proto * @classdesc Represents an AppStateSyncKeyId. * @implements IAppStateSyncKeyId * @constructor * @param {proto.IAppStateSyncKeyId=} [properties] Properties to set */ function AppStateSyncKeyId(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * AppStateSyncKeyId keyId. * @member {Uint8Array} keyId * @memberof proto.AppStateSyncKeyId * @instance */ AppStateSyncKeyId.prototype.keyId = $util.newBuffer([]); /** * Creates a new AppStateSyncKeyId instance using the specified properties. * @function create * @memberof proto.AppStateSyncKeyId * @static * @param {proto.IAppStateSyncKeyId=} [properties] Properties to set * @returns {proto.AppStateSyncKeyId} AppStateSyncKeyId instance */ AppStateSyncKeyId.create = function create(properties) { return new AppStateSyncKeyId(properties); }; /** * Encodes the specified AppStateSyncKeyId message. Does not implicitly {@link proto.AppStateSyncKeyId.verify|verify} messages. * @function encode * @memberof proto.AppStateSyncKeyId * @static * @param {proto.IAppStateSyncKeyId} message AppStateSyncKeyId message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKeyId.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.keyId != null && Object.hasOwnProperty.call(message, "keyId")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.keyId); return writer; }; /** * Encodes the specified AppStateSyncKeyId message, length delimited. Does not implicitly {@link proto.AppStateSyncKeyId.verify|verify} messages. * @function encodeDelimited * @memberof proto.AppStateSyncKeyId * @static * @param {proto.IAppStateSyncKeyId} message AppStateSyncKeyId message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKeyId.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AppStateSyncKeyId message from the specified reader or buffer. * @function decode * @memberof proto.AppStateSyncKeyId * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.AppStateSyncKeyId} AppStateSyncKeyId * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKeyId.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.AppStateSyncKeyId(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.keyId = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AppStateSyncKeyId message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.AppStateSyncKeyId * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.AppStateSyncKeyId} AppStateSyncKeyId * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKeyId.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AppStateSyncKeyId message. * @function verify * @memberof proto.AppStateSyncKeyId * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AppStateSyncKeyId.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.keyId != null && message.hasOwnProperty("keyId")) if (!(message.keyId && typeof message.keyId.length === "number" || $util.isString(message.keyId))) return "keyId: buffer expected"; return null; }; /** * Creates an AppStateSyncKeyId message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.AppStateSyncKeyId * @static * @param {Object.} object Plain object * @returns {proto.AppStateSyncKeyId} AppStateSyncKeyId */ AppStateSyncKeyId.fromObject = function fromObject(object) { if (object instanceof $root.proto.AppStateSyncKeyId) return object; var message = new $root.proto.AppStateSyncKeyId(); if (object.keyId != null) if (typeof object.keyId === "string") $util.base64.decode(object.keyId, message.keyId = $util.newBuffer($util.base64.length(object.keyId)), 0); else if (object.keyId.length) message.keyId = object.keyId; return message; }; /** * Creates a plain object from an AppStateSyncKeyId message. Also converts values to other types if specified. * @function toObject * @memberof proto.AppStateSyncKeyId * @static * @param {proto.AppStateSyncKeyId} message AppStateSyncKeyId * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ AppStateSyncKeyId.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) if (options.bytes === String) object.keyId = ""; else { object.keyId = []; if (options.bytes !== Array) object.keyId = $util.newBuffer(object.keyId); } if (message.keyId != null && message.hasOwnProperty("keyId")) object.keyId = options.bytes === String ? $util.base64.encode(message.keyId, 0, message.keyId.length) : options.bytes === Array ? Array.prototype.slice.call(message.keyId) : message.keyId; return object; }; /** * Converts this AppStateSyncKeyId to JSON. * @function toJSON * @memberof proto.AppStateSyncKeyId * @instance * @returns {Object.} JSON object */ AppStateSyncKeyId.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKeyId; })(); proto.AppStateSyncKeyFingerprint = (function() { /** * Properties of an AppStateSyncKeyFingerprint. * @memberof proto * @interface IAppStateSyncKeyFingerprint * @property {number|null} [rawId] AppStateSyncKeyFingerprint rawId * @property {number|null} [currentIndex] AppStateSyncKeyFingerprint currentIndex */ /** * Constructs a new AppStateSyncKeyFingerprint. * @memberof proto * @classdesc Represents an AppStateSyncKeyFingerprint. * @implements IAppStateSyncKeyFingerprint * @constructor * @param {proto.IAppStateSyncKeyFingerprint=} [properties] Properties to set */ function AppStateSyncKeyFingerprint(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * AppStateSyncKeyFingerprint rawId. * @member {number} rawId * @memberof proto.AppStateSyncKeyFingerprint * @instance */ AppStateSyncKeyFingerprint.prototype.rawId = 0; /** * AppStateSyncKeyFingerprint currentIndex. * @member {number} currentIndex * @memberof proto.AppStateSyncKeyFingerprint * @instance */ AppStateSyncKeyFingerprint.prototype.currentIndex = 0; /** * Creates a new AppStateSyncKeyFingerprint instance using the specified properties. * @function create * @memberof proto.AppStateSyncKeyFingerprint * @static * @param {proto.IAppStateSyncKeyFingerprint=} [properties] Properties to set * @returns {proto.AppStateSyncKeyFingerprint} AppStateSyncKeyFingerprint instance */ AppStateSyncKeyFingerprint.create = function create(properties) { return new AppStateSyncKeyFingerprint(properties); }; /** * Encodes the specified AppStateSyncKeyFingerprint message. Does not implicitly {@link proto.AppStateSyncKeyFingerprint.verify|verify} messages. * @function encode * @memberof proto.AppStateSyncKeyFingerprint * @static * @param {proto.IAppStateSyncKeyFingerprint} message AppStateSyncKeyFingerprint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKeyFingerprint.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.rawId != null && Object.hasOwnProperty.call(message, "rawId")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.rawId); if (message.currentIndex != null && Object.hasOwnProperty.call(message, "currentIndex")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.currentIndex); return writer; }; /** * Encodes the specified AppStateSyncKeyFingerprint message, length delimited. Does not implicitly {@link proto.AppStateSyncKeyFingerprint.verify|verify} messages. * @function encodeDelimited * @memberof proto.AppStateSyncKeyFingerprint * @static * @param {proto.IAppStateSyncKeyFingerprint} message AppStateSyncKeyFingerprint message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKeyFingerprint.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AppStateSyncKeyFingerprint message from the specified reader or buffer. * @function decode * @memberof proto.AppStateSyncKeyFingerprint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.AppStateSyncKeyFingerprint} AppStateSyncKeyFingerprint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKeyFingerprint.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.AppStateSyncKeyFingerprint(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.rawId = reader.uint32(); break; case 2: message.currentIndex = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AppStateSyncKeyFingerprint message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.AppStateSyncKeyFingerprint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.AppStateSyncKeyFingerprint} AppStateSyncKeyFingerprint * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKeyFingerprint.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AppStateSyncKeyFingerprint message. * @function verify * @memberof proto.AppStateSyncKeyFingerprint * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AppStateSyncKeyFingerprint.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.rawId != null && message.hasOwnProperty("rawId")) if (!$util.isInteger(message.rawId)) return "rawId: integer expected"; if (message.currentIndex != null && message.hasOwnProperty("currentIndex")) if (!$util.isInteger(message.currentIndex)) return "currentIndex: integer expected"; return null; }; /** * Creates an AppStateSyncKeyFingerprint message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.AppStateSyncKeyFingerprint * @static * @param {Object.} object Plain object * @returns {proto.AppStateSyncKeyFingerprint} AppStateSyncKeyFingerprint */ AppStateSyncKeyFingerprint.fromObject = function fromObject(object) { if (object instanceof $root.proto.AppStateSyncKeyFingerprint) return object; var message = new $root.proto.AppStateSyncKeyFingerprint(); if (object.rawId != null) message.rawId = object.rawId >>> 0; if (object.currentIndex != null) message.currentIndex = object.currentIndex >>> 0; return message; }; /** * Creates a plain object from an AppStateSyncKeyFingerprint message. Also converts values to other types if specified. * @function toObject * @memberof proto.AppStateSyncKeyFingerprint * @static * @param {proto.AppStateSyncKeyFingerprint} message AppStateSyncKeyFingerprint * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ AppStateSyncKeyFingerprint.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.rawId = 0; object.currentIndex = 0; } if (message.rawId != null && message.hasOwnProperty("rawId")) object.rawId = message.rawId; if (message.currentIndex != null && message.hasOwnProperty("currentIndex")) object.currentIndex = message.currentIndex; return object; }; /** * Converts this AppStateSyncKeyFingerprint to JSON. * @function toJSON * @memberof proto.AppStateSyncKeyFingerprint * @instance * @returns {Object.} JSON object */ AppStateSyncKeyFingerprint.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKeyFingerprint; })(); proto.AppStateSyncKeyData = (function() { /** * Properties of an AppStateSyncKeyData. * @memberof proto * @interface IAppStateSyncKeyData * @property {Uint8Array|null} [keyData] AppStateSyncKeyData keyData * @property {proto.IAppStateSyncKeyFingerprint|null} [fingerprint] AppStateSyncKeyData fingerprint * @property {number|Long|null} [timestamp] AppStateSyncKeyData timestamp */ /** * Constructs a new AppStateSyncKeyData. * @memberof proto * @classdesc Represents an AppStateSyncKeyData. * @implements IAppStateSyncKeyData * @constructor * @param {proto.IAppStateSyncKeyData=} [properties] Properties to set */ function AppStateSyncKeyData(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * AppStateSyncKeyData keyData. * @member {Uint8Array} keyData * @memberof proto.AppStateSyncKeyData * @instance */ AppStateSyncKeyData.prototype.keyData = $util.newBuffer([]); /** * AppStateSyncKeyData fingerprint. * @member {proto.IAppStateSyncKeyFingerprint|null|undefined} fingerprint * @memberof proto.AppStateSyncKeyData * @instance */ AppStateSyncKeyData.prototype.fingerprint = null; /** * AppStateSyncKeyData timestamp. * @member {number|Long} timestamp * @memberof proto.AppStateSyncKeyData * @instance */ AppStateSyncKeyData.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new AppStateSyncKeyData instance using the specified properties. * @function create * @memberof proto.AppStateSyncKeyData * @static * @param {proto.IAppStateSyncKeyData=} [properties] Properties to set * @returns {proto.AppStateSyncKeyData} AppStateSyncKeyData instance */ AppStateSyncKeyData.create = function create(properties) { return new AppStateSyncKeyData(properties); }; /** * Encodes the specified AppStateSyncKeyData message. Does not implicitly {@link proto.AppStateSyncKeyData.verify|verify} messages. * @function encode * @memberof proto.AppStateSyncKeyData * @static * @param {proto.IAppStateSyncKeyData} message AppStateSyncKeyData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKeyData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.keyData != null && Object.hasOwnProperty.call(message, "keyData")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.keyData); if (message.fingerprint != null && Object.hasOwnProperty.call(message, "fingerprint")) $root.proto.AppStateSyncKeyFingerprint.encode(message.fingerprint, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) writer.uint32(/* id 3, wireType 0 =*/24).int64(message.timestamp); return writer; }; /** * Encodes the specified AppStateSyncKeyData message, length delimited. Does not implicitly {@link proto.AppStateSyncKeyData.verify|verify} messages. * @function encodeDelimited * @memberof proto.AppStateSyncKeyData * @static * @param {proto.IAppStateSyncKeyData} message AppStateSyncKeyData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKeyData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AppStateSyncKeyData message from the specified reader or buffer. * @function decode * @memberof proto.AppStateSyncKeyData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.AppStateSyncKeyData} AppStateSyncKeyData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKeyData.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.AppStateSyncKeyData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.keyData = reader.bytes(); break; case 2: message.fingerprint = $root.proto.AppStateSyncKeyFingerprint.decode(reader, reader.uint32()); break; case 3: message.timestamp = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AppStateSyncKeyData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.AppStateSyncKeyData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.AppStateSyncKeyData} AppStateSyncKeyData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKeyData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AppStateSyncKeyData message. * @function verify * @memberof proto.AppStateSyncKeyData * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AppStateSyncKeyData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.keyData != null && message.hasOwnProperty("keyData")) if (!(message.keyData && typeof message.keyData.length === "number" || $util.isString(message.keyData))) return "keyData: buffer expected"; if (message.fingerprint != null && message.hasOwnProperty("fingerprint")) { var error = $root.proto.AppStateSyncKeyFingerprint.verify(message.fingerprint); if (error) return "fingerprint." + error; } if (message.timestamp != null && message.hasOwnProperty("timestamp")) if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high))) return "timestamp: integer|Long expected"; return null; }; /** * Creates an AppStateSyncKeyData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.AppStateSyncKeyData * @static * @param {Object.} object Plain object * @returns {proto.AppStateSyncKeyData} AppStateSyncKeyData */ AppStateSyncKeyData.fromObject = function fromObject(object) { if (object instanceof $root.proto.AppStateSyncKeyData) return object; var message = new $root.proto.AppStateSyncKeyData(); if (object.keyData != null) if (typeof object.keyData === "string") $util.base64.decode(object.keyData, message.keyData = $util.newBuffer($util.base64.length(object.keyData)), 0); else if (object.keyData.length) message.keyData = object.keyData; if (object.fingerprint != null) { if (typeof object.fingerprint !== "object") throw TypeError(".proto.AppStateSyncKeyData.fingerprint: object expected"); message.fingerprint = $root.proto.AppStateSyncKeyFingerprint.fromObject(object.fingerprint); } if (object.timestamp != null) if ($util.Long) (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = false; else if (typeof object.timestamp === "string") message.timestamp = parseInt(object.timestamp, 10); else if (typeof object.timestamp === "number") message.timestamp = object.timestamp; else if (typeof object.timestamp === "object") message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from an AppStateSyncKeyData message. Also converts values to other types if specified. * @function toObject * @memberof proto.AppStateSyncKeyData * @static * @param {proto.AppStateSyncKeyData} message AppStateSyncKeyData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ AppStateSyncKeyData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.keyData = ""; else { object.keyData = []; if (options.bytes !== Array) object.keyData = $util.newBuffer(object.keyData); } object.fingerprint = null; if ($util.Long) { var long = new $util.Long(0, 0, false); object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.timestamp = options.longs === String ? "0" : 0; } if (message.keyData != null && message.hasOwnProperty("keyData")) object.keyData = options.bytes === String ? $util.base64.encode(message.keyData, 0, message.keyData.length) : options.bytes === Array ? Array.prototype.slice.call(message.keyData) : message.keyData; if (message.fingerprint != null && message.hasOwnProperty("fingerprint")) object.fingerprint = $root.proto.AppStateSyncKeyFingerprint.toObject(message.fingerprint, options); if (message.timestamp != null && message.hasOwnProperty("timestamp")) if (typeof message.timestamp === "number") object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp; else object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber() : message.timestamp; return object; }; /** * Converts this AppStateSyncKeyData to JSON. * @function toJSON * @memberof proto.AppStateSyncKeyData * @instance * @returns {Object.} JSON object */ AppStateSyncKeyData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKeyData; })(); proto.AppStateSyncKeyShare = (function() { /** * Properties of an AppStateSyncKeyShare. * @memberof proto * @interface IAppStateSyncKeyShare * @property {Array.|null} [keys] AppStateSyncKeyShare keys */ /** * Constructs a new AppStateSyncKeyShare. * @memberof proto * @classdesc Represents an AppStateSyncKeyShare. * @implements IAppStateSyncKeyShare * @constructor * @param {proto.IAppStateSyncKeyShare=} [properties] Properties to set */ function AppStateSyncKeyShare(properties) { this.keys = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * AppStateSyncKeyShare keys. * @member {Array.} keys * @memberof proto.AppStateSyncKeyShare * @instance */ AppStateSyncKeyShare.prototype.keys = $util.emptyArray; /** * Creates a new AppStateSyncKeyShare instance using the specified properties. * @function create * @memberof proto.AppStateSyncKeyShare * @static * @param {proto.IAppStateSyncKeyShare=} [properties] Properties to set * @returns {proto.AppStateSyncKeyShare} AppStateSyncKeyShare instance */ AppStateSyncKeyShare.create = function create(properties) { return new AppStateSyncKeyShare(properties); }; /** * Encodes the specified AppStateSyncKeyShare message. Does not implicitly {@link proto.AppStateSyncKeyShare.verify|verify} messages. * @function encode * @memberof proto.AppStateSyncKeyShare * @static * @param {proto.IAppStateSyncKeyShare} message AppStateSyncKeyShare message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKeyShare.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.keys != null && message.keys.length) for (var i = 0; i < message.keys.length; ++i) $root.proto.AppStateSyncKey.encode(message.keys[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified AppStateSyncKeyShare message, length delimited. Does not implicitly {@link proto.AppStateSyncKeyShare.verify|verify} messages. * @function encodeDelimited * @memberof proto.AppStateSyncKeyShare * @static * @param {proto.IAppStateSyncKeyShare} message AppStateSyncKeyShare message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKeyShare.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AppStateSyncKeyShare message from the specified reader or buffer. * @function decode * @memberof proto.AppStateSyncKeyShare * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.AppStateSyncKeyShare} AppStateSyncKeyShare * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKeyShare.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.AppStateSyncKeyShare(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.keys && message.keys.length)) message.keys = []; message.keys.push($root.proto.AppStateSyncKey.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AppStateSyncKeyShare message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.AppStateSyncKeyShare * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.AppStateSyncKeyShare} AppStateSyncKeyShare * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKeyShare.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AppStateSyncKeyShare message. * @function verify * @memberof proto.AppStateSyncKeyShare * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AppStateSyncKeyShare.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.keys != null && message.hasOwnProperty("keys")) { if (!Array.isArray(message.keys)) return "keys: array expected"; for (var i = 0; i < message.keys.length; ++i) { var error = $root.proto.AppStateSyncKey.verify(message.keys[i]); if (error) return "keys." + error; } } return null; }; /** * Creates an AppStateSyncKeyShare message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.AppStateSyncKeyShare * @static * @param {Object.} object Plain object * @returns {proto.AppStateSyncKeyShare} AppStateSyncKeyShare */ AppStateSyncKeyShare.fromObject = function fromObject(object) { if (object instanceof $root.proto.AppStateSyncKeyShare) return object; var message = new $root.proto.AppStateSyncKeyShare(); if (object.keys) { if (!Array.isArray(object.keys)) throw TypeError(".proto.AppStateSyncKeyShare.keys: array expected"); message.keys = []; for (var i = 0; i < object.keys.length; ++i) { if (typeof object.keys[i] !== "object") throw TypeError(".proto.AppStateSyncKeyShare.keys: object expected"); message.keys[i] = $root.proto.AppStateSyncKey.fromObject(object.keys[i]); } } return message; }; /** * Creates a plain object from an AppStateSyncKeyShare message. Also converts values to other types if specified. * @function toObject * @memberof proto.AppStateSyncKeyShare * @static * @param {proto.AppStateSyncKeyShare} message AppStateSyncKeyShare * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ AppStateSyncKeyShare.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.keys = []; if (message.keys && message.keys.length) { object.keys = []; for (var j = 0; j < message.keys.length; ++j) object.keys[j] = $root.proto.AppStateSyncKey.toObject(message.keys[j], options); } return object; }; /** * Converts this AppStateSyncKeyShare to JSON. * @function toJSON * @memberof proto.AppStateSyncKeyShare * @instance * @returns {Object.} JSON object */ AppStateSyncKeyShare.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKeyShare; })(); proto.AppStateSyncKeyRequest = (function() { /** * Properties of an AppStateSyncKeyRequest. * @memberof proto * @interface IAppStateSyncKeyRequest * @property {Array.|null} [keyIds] AppStateSyncKeyRequest keyIds */ /** * Constructs a new AppStateSyncKeyRequest. * @memberof proto * @classdesc Represents an AppStateSyncKeyRequest. * @implements IAppStateSyncKeyRequest * @constructor * @param {proto.IAppStateSyncKeyRequest=} [properties] Properties to set */ function AppStateSyncKeyRequest(properties) { this.keyIds = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * AppStateSyncKeyRequest keyIds. * @member {Array.} keyIds * @memberof proto.AppStateSyncKeyRequest * @instance */ AppStateSyncKeyRequest.prototype.keyIds = $util.emptyArray; /** * Creates a new AppStateSyncKeyRequest instance using the specified properties. * @function create * @memberof proto.AppStateSyncKeyRequest * @static * @param {proto.IAppStateSyncKeyRequest=} [properties] Properties to set * @returns {proto.AppStateSyncKeyRequest} AppStateSyncKeyRequest instance */ AppStateSyncKeyRequest.create = function create(properties) { return new AppStateSyncKeyRequest(properties); }; /** * Encodes the specified AppStateSyncKeyRequest message. Does not implicitly {@link proto.AppStateSyncKeyRequest.verify|verify} messages. * @function encode * @memberof proto.AppStateSyncKeyRequest * @static * @param {proto.IAppStateSyncKeyRequest} message AppStateSyncKeyRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKeyRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.keyIds != null && message.keyIds.length) for (var i = 0; i < message.keyIds.length; ++i) $root.proto.AppStateSyncKeyId.encode(message.keyIds[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified AppStateSyncKeyRequest message, length delimited. Does not implicitly {@link proto.AppStateSyncKeyRequest.verify|verify} messages. * @function encodeDelimited * @memberof proto.AppStateSyncKeyRequest * @static * @param {proto.IAppStateSyncKeyRequest} message AppStateSyncKeyRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateSyncKeyRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AppStateSyncKeyRequest message from the specified reader or buffer. * @function decode * @memberof proto.AppStateSyncKeyRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.AppStateSyncKeyRequest} AppStateSyncKeyRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKeyRequest.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.AppStateSyncKeyRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.keyIds && message.keyIds.length)) message.keyIds = []; message.keyIds.push($root.proto.AppStateSyncKeyId.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AppStateSyncKeyRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.AppStateSyncKeyRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.AppStateSyncKeyRequest} AppStateSyncKeyRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateSyncKeyRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AppStateSyncKeyRequest message. * @function verify * @memberof proto.AppStateSyncKeyRequest * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AppStateSyncKeyRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.keyIds != null && message.hasOwnProperty("keyIds")) { if (!Array.isArray(message.keyIds)) return "keyIds: array expected"; for (var i = 0; i < message.keyIds.length; ++i) { var error = $root.proto.AppStateSyncKeyId.verify(message.keyIds[i]); if (error) return "keyIds." + error; } } return null; }; /** * Creates an AppStateSyncKeyRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.AppStateSyncKeyRequest * @static * @param {Object.} object Plain object * @returns {proto.AppStateSyncKeyRequest} AppStateSyncKeyRequest */ AppStateSyncKeyRequest.fromObject = function fromObject(object) { if (object instanceof $root.proto.AppStateSyncKeyRequest) return object; var message = new $root.proto.AppStateSyncKeyRequest(); if (object.keyIds) { if (!Array.isArray(object.keyIds)) throw TypeError(".proto.AppStateSyncKeyRequest.keyIds: array expected"); message.keyIds = []; for (var i = 0; i < object.keyIds.length; ++i) { if (typeof object.keyIds[i] !== "object") throw TypeError(".proto.AppStateSyncKeyRequest.keyIds: object expected"); message.keyIds[i] = $root.proto.AppStateSyncKeyId.fromObject(object.keyIds[i]); } } return message; }; /** * Creates a plain object from an AppStateSyncKeyRequest message. Also converts values to other types if specified. * @function toObject * @memberof proto.AppStateSyncKeyRequest * @static * @param {proto.AppStateSyncKeyRequest} message AppStateSyncKeyRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ AppStateSyncKeyRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.keyIds = []; if (message.keyIds && message.keyIds.length) { object.keyIds = []; for (var j = 0; j < message.keyIds.length; ++j) object.keyIds[j] = $root.proto.AppStateSyncKeyId.toObject(message.keyIds[j], options); } return object; }; /** * Converts this AppStateSyncKeyRequest to JSON. * @function toJSON * @memberof proto.AppStateSyncKeyRequest * @instance * @returns {Object.} JSON object */ AppStateSyncKeyRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKeyRequest; })(); proto.InitialSecurityNotificationSettingSync = (function() { /** * Properties of an InitialSecurityNotificationSettingSync. * @memberof proto * @interface IInitialSecurityNotificationSettingSync * @property {boolean|null} [securityNotificationEnabled] InitialSecurityNotificationSettingSync securityNotificationEnabled */ /** * Constructs a new InitialSecurityNotificationSettingSync. * @memberof proto * @classdesc Represents an InitialSecurityNotificationSettingSync. * @implements IInitialSecurityNotificationSettingSync * @constructor * @param {proto.IInitialSecurityNotificationSettingSync=} [properties] Properties to set */ function InitialSecurityNotificationSettingSync(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * InitialSecurityNotificationSettingSync securityNotificationEnabled. * @member {boolean} securityNotificationEnabled * @memberof proto.InitialSecurityNotificationSettingSync * @instance */ InitialSecurityNotificationSettingSync.prototype.securityNotificationEnabled = false; /** * Creates a new InitialSecurityNotificationSettingSync instance using the specified properties. * @function create * @memberof proto.InitialSecurityNotificationSettingSync * @static * @param {proto.IInitialSecurityNotificationSettingSync=} [properties] Properties to set * @returns {proto.InitialSecurityNotificationSettingSync} InitialSecurityNotificationSettingSync instance */ InitialSecurityNotificationSettingSync.create = function create(properties) { return new InitialSecurityNotificationSettingSync(properties); }; /** * Encodes the specified InitialSecurityNotificationSettingSync message. Does not implicitly {@link proto.InitialSecurityNotificationSettingSync.verify|verify} messages. * @function encode * @memberof proto.InitialSecurityNotificationSettingSync * @static * @param {proto.IInitialSecurityNotificationSettingSync} message InitialSecurityNotificationSettingSync message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InitialSecurityNotificationSettingSync.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.securityNotificationEnabled != null && Object.hasOwnProperty.call(message, "securityNotificationEnabled")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.securityNotificationEnabled); return writer; }; /** * Encodes the specified InitialSecurityNotificationSettingSync message, length delimited. Does not implicitly {@link proto.InitialSecurityNotificationSettingSync.verify|verify} messages. * @function encodeDelimited * @memberof proto.InitialSecurityNotificationSettingSync * @static * @param {proto.IInitialSecurityNotificationSettingSync} message InitialSecurityNotificationSettingSync message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InitialSecurityNotificationSettingSync.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an InitialSecurityNotificationSettingSync message from the specified reader or buffer. * @function decode * @memberof proto.InitialSecurityNotificationSettingSync * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.InitialSecurityNotificationSettingSync} InitialSecurityNotificationSettingSync * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InitialSecurityNotificationSettingSync.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.InitialSecurityNotificationSettingSync(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.securityNotificationEnabled = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an InitialSecurityNotificationSettingSync message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.InitialSecurityNotificationSettingSync * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.InitialSecurityNotificationSettingSync} InitialSecurityNotificationSettingSync * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InitialSecurityNotificationSettingSync.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an InitialSecurityNotificationSettingSync message. * @function verify * @memberof proto.InitialSecurityNotificationSettingSync * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ InitialSecurityNotificationSettingSync.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.securityNotificationEnabled != null && message.hasOwnProperty("securityNotificationEnabled")) if (typeof message.securityNotificationEnabled !== "boolean") return "securityNotificationEnabled: boolean expected"; return null; }; /** * Creates an InitialSecurityNotificationSettingSync message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.InitialSecurityNotificationSettingSync * @static * @param {Object.} object Plain object * @returns {proto.InitialSecurityNotificationSettingSync} InitialSecurityNotificationSettingSync */ InitialSecurityNotificationSettingSync.fromObject = function fromObject(object) { if (object instanceof $root.proto.InitialSecurityNotificationSettingSync) return object; var message = new $root.proto.InitialSecurityNotificationSettingSync(); if (object.securityNotificationEnabled != null) message.securityNotificationEnabled = Boolean(object.securityNotificationEnabled); return message; }; /** * Creates a plain object from an InitialSecurityNotificationSettingSync message. Also converts values to other types if specified. * @function toObject * @memberof proto.InitialSecurityNotificationSettingSync * @static * @param {proto.InitialSecurityNotificationSettingSync} message InitialSecurityNotificationSettingSync * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ InitialSecurityNotificationSettingSync.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.securityNotificationEnabled = false; if (message.securityNotificationEnabled != null && message.hasOwnProperty("securityNotificationEnabled")) object.securityNotificationEnabled = message.securityNotificationEnabled; return object; }; /** * Converts this InitialSecurityNotificationSettingSync to JSON. * @function toJSON * @memberof proto.InitialSecurityNotificationSettingSync * @instance * @returns {Object.} JSON object */ InitialSecurityNotificationSettingSync.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return InitialSecurityNotificationSettingSync; })(); proto.ContactsArrayMessage = (function() { /** * Properties of a ContactsArrayMessage. * @memberof proto * @interface IContactsArrayMessage * @property {string|null} [displayName] ContactsArrayMessage displayName * @property {Array.|null} [contacts] ContactsArrayMessage contacts * @property {proto.IContextInfo|null} [contextInfo] ContactsArrayMessage contextInfo */ /** * Constructs a new ContactsArrayMessage. * @memberof proto * @classdesc Represents a ContactsArrayMessage. * @implements IContactsArrayMessage * @constructor * @param {proto.IContactsArrayMessage=} [properties] Properties to set */ function ContactsArrayMessage(properties) { this.contacts = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ContactsArrayMessage displayName. * @member {string} displayName * @memberof proto.ContactsArrayMessage * @instance */ ContactsArrayMessage.prototype.displayName = ""; /** * ContactsArrayMessage contacts. * @member {Array.} contacts * @memberof proto.ContactsArrayMessage * @instance */ ContactsArrayMessage.prototype.contacts = $util.emptyArray; /** * ContactsArrayMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.ContactsArrayMessage * @instance */ ContactsArrayMessage.prototype.contextInfo = null; /** * Creates a new ContactsArrayMessage instance using the specified properties. * @function create * @memberof proto.ContactsArrayMessage * @static * @param {proto.IContactsArrayMessage=} [properties] Properties to set * @returns {proto.ContactsArrayMessage} ContactsArrayMessage instance */ ContactsArrayMessage.create = function create(properties) { return new ContactsArrayMessage(properties); }; /** * Encodes the specified ContactsArrayMessage message. Does not implicitly {@link proto.ContactsArrayMessage.verify|verify} messages. * @function encode * @memberof proto.ContactsArrayMessage * @static * @param {proto.IContactsArrayMessage} message ContactsArrayMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ContactsArrayMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.displayName); if (message.contacts != null && message.contacts.length) for (var i = 0; i < message.contacts.length; ++i) $root.proto.ContactMessage.encode(message.contacts[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); return writer; }; /** * Encodes the specified ContactsArrayMessage message, length delimited. Does not implicitly {@link proto.ContactsArrayMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.ContactsArrayMessage * @static * @param {proto.IContactsArrayMessage} message ContactsArrayMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ContactsArrayMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ContactsArrayMessage message from the specified reader or buffer. * @function decode * @memberof proto.ContactsArrayMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ContactsArrayMessage} ContactsArrayMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ContactsArrayMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ContactsArrayMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayName = reader.string(); break; case 2: if (!(message.contacts && message.contacts.length)) message.contacts = []; message.contacts.push($root.proto.ContactMessage.decode(reader, reader.uint32())); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ContactsArrayMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ContactsArrayMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ContactsArrayMessage} ContactsArrayMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ContactsArrayMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ContactsArrayMessage message. * @function verify * @memberof proto.ContactsArrayMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ContactsArrayMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.displayName != null && message.hasOwnProperty("displayName")) if (!$util.isString(message.displayName)) return "displayName: string expected"; if (message.contacts != null && message.hasOwnProperty("contacts")) { if (!Array.isArray(message.contacts)) return "contacts: array expected"; for (var i = 0; i < message.contacts.length; ++i) { var error = $root.proto.ContactMessage.verify(message.contacts[i]); if (error) return "contacts." + error; } } if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } return null; }; /** * Creates a ContactsArrayMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ContactsArrayMessage * @static * @param {Object.} object Plain object * @returns {proto.ContactsArrayMessage} ContactsArrayMessage */ ContactsArrayMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.ContactsArrayMessage) return object; var message = new $root.proto.ContactsArrayMessage(); if (object.displayName != null) message.displayName = String(object.displayName); if (object.contacts) { if (!Array.isArray(object.contacts)) throw TypeError(".proto.ContactsArrayMessage.contacts: array expected"); message.contacts = []; for (var i = 0; i < object.contacts.length; ++i) { if (typeof object.contacts[i] !== "object") throw TypeError(".proto.ContactsArrayMessage.contacts: object expected"); message.contacts[i] = $root.proto.ContactMessage.fromObject(object.contacts[i]); } } if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.ContactsArrayMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a ContactsArrayMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.ContactsArrayMessage * @static * @param {proto.ContactsArrayMessage} message ContactsArrayMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ContactsArrayMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.contacts = []; if (options.defaults) { object.displayName = ""; object.contextInfo = null; } if (message.displayName != null && message.hasOwnProperty("displayName")) object.displayName = message.displayName; if (message.contacts && message.contacts.length) { object.contacts = []; for (var j = 0; j < message.contacts.length; ++j) object.contacts[j] = $root.proto.ContactMessage.toObject(message.contacts[j], options); } if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this ContactsArrayMessage to JSON. * @function toJSON * @memberof proto.ContactsArrayMessage * @instance * @returns {Object.} JSON object */ ContactsArrayMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ContactsArrayMessage; })(); proto.HSMCurrency = (function() { /** * Properties of a HSMCurrency. * @memberof proto * @interface IHSMCurrency * @property {string|null} [currencyCode] HSMCurrency currencyCode * @property {number|Long|null} [amount1000] HSMCurrency amount1000 */ /** * Constructs a new HSMCurrency. * @memberof proto * @classdesc Represents a HSMCurrency. * @implements IHSMCurrency * @constructor * @param {proto.IHSMCurrency=} [properties] Properties to set */ function HSMCurrency(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HSMCurrency currencyCode. * @member {string} currencyCode * @memberof proto.HSMCurrency * @instance */ HSMCurrency.prototype.currencyCode = ""; /** * HSMCurrency amount1000. * @member {number|Long} amount1000 * @memberof proto.HSMCurrency * @instance */ HSMCurrency.prototype.amount1000 = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new HSMCurrency instance using the specified properties. * @function create * @memberof proto.HSMCurrency * @static * @param {proto.IHSMCurrency=} [properties] Properties to set * @returns {proto.HSMCurrency} HSMCurrency instance */ HSMCurrency.create = function create(properties) { return new HSMCurrency(properties); }; /** * Encodes the specified HSMCurrency message. Does not implicitly {@link proto.HSMCurrency.verify|verify} messages. * @function encode * @memberof proto.HSMCurrency * @static * @param {proto.IHSMCurrency} message HSMCurrency message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HSMCurrency.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.currencyCode != null && Object.hasOwnProperty.call(message, "currencyCode")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.currencyCode); if (message.amount1000 != null && Object.hasOwnProperty.call(message, "amount1000")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.amount1000); return writer; }; /** * Encodes the specified HSMCurrency message, length delimited. Does not implicitly {@link proto.HSMCurrency.verify|verify} messages. * @function encodeDelimited * @memberof proto.HSMCurrency * @static * @param {proto.IHSMCurrency} message HSMCurrency message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HSMCurrency.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HSMCurrency message from the specified reader or buffer. * @function decode * @memberof proto.HSMCurrency * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HSMCurrency} HSMCurrency * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HSMCurrency.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HSMCurrency(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.currencyCode = reader.string(); break; case 2: message.amount1000 = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HSMCurrency message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HSMCurrency * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HSMCurrency} HSMCurrency * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HSMCurrency.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HSMCurrency message. * @function verify * @memberof proto.HSMCurrency * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HSMCurrency.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) if (!$util.isString(message.currencyCode)) return "currencyCode: string expected"; if (message.amount1000 != null && message.hasOwnProperty("amount1000")) if (!$util.isInteger(message.amount1000) && !(message.amount1000 && $util.isInteger(message.amount1000.low) && $util.isInteger(message.amount1000.high))) return "amount1000: integer|Long expected"; return null; }; /** * Creates a HSMCurrency message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HSMCurrency * @static * @param {Object.} object Plain object * @returns {proto.HSMCurrency} HSMCurrency */ HSMCurrency.fromObject = function fromObject(object) { if (object instanceof $root.proto.HSMCurrency) return object; var message = new $root.proto.HSMCurrency(); if (object.currencyCode != null) message.currencyCode = String(object.currencyCode); if (object.amount1000 != null) if ($util.Long) (message.amount1000 = $util.Long.fromValue(object.amount1000)).unsigned = false; else if (typeof object.amount1000 === "string") message.amount1000 = parseInt(object.amount1000, 10); else if (typeof object.amount1000 === "number") message.amount1000 = object.amount1000; else if (typeof object.amount1000 === "object") message.amount1000 = new $util.LongBits(object.amount1000.low >>> 0, object.amount1000.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a HSMCurrency message. Also converts values to other types if specified. * @function toObject * @memberof proto.HSMCurrency * @static * @param {proto.HSMCurrency} message HSMCurrency * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HSMCurrency.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.currencyCode = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.amount1000 = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.amount1000 = options.longs === String ? "0" : 0; } if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) object.currencyCode = message.currencyCode; if (message.amount1000 != null && message.hasOwnProperty("amount1000")) if (typeof message.amount1000 === "number") object.amount1000 = options.longs === String ? String(message.amount1000) : message.amount1000; else object.amount1000 = options.longs === String ? $util.Long.prototype.toString.call(message.amount1000) : options.longs === Number ? new $util.LongBits(message.amount1000.low >>> 0, message.amount1000.high >>> 0).toNumber() : message.amount1000; return object; }; /** * Converts this HSMCurrency to JSON. * @function toJSON * @memberof proto.HSMCurrency * @instance * @returns {Object.} JSON object */ HSMCurrency.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HSMCurrency; })(); proto.HSMDateTimeComponent = (function() { /** * Properties of a HSMDateTimeComponent. * @memberof proto * @interface IHSMDateTimeComponent * @property {proto.HSMDateTimeComponent.HSMDateTimeComponentDayOfWeekType|null} [dayOfWeek] HSMDateTimeComponent dayOfWeek * @property {number|null} [year] HSMDateTimeComponent year * @property {number|null} [month] HSMDateTimeComponent month * @property {number|null} [dayOfMonth] HSMDateTimeComponent dayOfMonth * @property {number|null} [hour] HSMDateTimeComponent hour * @property {number|null} [minute] HSMDateTimeComponent minute * @property {proto.HSMDateTimeComponent.HSMDateTimeComponentCalendarType|null} [calendar] HSMDateTimeComponent calendar */ /** * Constructs a new HSMDateTimeComponent. * @memberof proto * @classdesc Represents a HSMDateTimeComponent. * @implements IHSMDateTimeComponent * @constructor * @param {proto.IHSMDateTimeComponent=} [properties] Properties to set */ function HSMDateTimeComponent(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HSMDateTimeComponent dayOfWeek. * @member {proto.HSMDateTimeComponent.HSMDateTimeComponentDayOfWeekType} dayOfWeek * @memberof proto.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.dayOfWeek = 1; /** * HSMDateTimeComponent year. * @member {number} year * @memberof proto.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.year = 0; /** * HSMDateTimeComponent month. * @member {number} month * @memberof proto.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.month = 0; /** * HSMDateTimeComponent dayOfMonth. * @member {number} dayOfMonth * @memberof proto.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.dayOfMonth = 0; /** * HSMDateTimeComponent hour. * @member {number} hour * @memberof proto.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.hour = 0; /** * HSMDateTimeComponent minute. * @member {number} minute * @memberof proto.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.minute = 0; /** * HSMDateTimeComponent calendar. * @member {proto.HSMDateTimeComponent.HSMDateTimeComponentCalendarType} calendar * @memberof proto.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.calendar = 1; /** * Creates a new HSMDateTimeComponent instance using the specified properties. * @function create * @memberof proto.HSMDateTimeComponent * @static * @param {proto.IHSMDateTimeComponent=} [properties] Properties to set * @returns {proto.HSMDateTimeComponent} HSMDateTimeComponent instance */ HSMDateTimeComponent.create = function create(properties) { return new HSMDateTimeComponent(properties); }; /** * Encodes the specified HSMDateTimeComponent message. Does not implicitly {@link proto.HSMDateTimeComponent.verify|verify} messages. * @function encode * @memberof proto.HSMDateTimeComponent * @static * @param {proto.IHSMDateTimeComponent} message HSMDateTimeComponent message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HSMDateTimeComponent.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.dayOfWeek != null && Object.hasOwnProperty.call(message, "dayOfWeek")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.dayOfWeek); if (message.year != null && Object.hasOwnProperty.call(message, "year")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.year); if (message.month != null && Object.hasOwnProperty.call(message, "month")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.month); if (message.dayOfMonth != null && Object.hasOwnProperty.call(message, "dayOfMonth")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.dayOfMonth); if (message.hour != null && Object.hasOwnProperty.call(message, "hour")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.hour); if (message.minute != null && Object.hasOwnProperty.call(message, "minute")) writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.minute); if (message.calendar != null && Object.hasOwnProperty.call(message, "calendar")) writer.uint32(/* id 7, wireType 0 =*/56).int32(message.calendar); return writer; }; /** * Encodes the specified HSMDateTimeComponent message, length delimited. Does not implicitly {@link proto.HSMDateTimeComponent.verify|verify} messages. * @function encodeDelimited * @memberof proto.HSMDateTimeComponent * @static * @param {proto.IHSMDateTimeComponent} message HSMDateTimeComponent message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HSMDateTimeComponent.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HSMDateTimeComponent message from the specified reader or buffer. * @function decode * @memberof proto.HSMDateTimeComponent * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HSMDateTimeComponent} HSMDateTimeComponent * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HSMDateTimeComponent.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HSMDateTimeComponent(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.dayOfWeek = reader.int32(); break; case 2: message.year = reader.uint32(); break; case 3: message.month = reader.uint32(); break; case 4: message.dayOfMonth = reader.uint32(); break; case 5: message.hour = reader.uint32(); break; case 6: message.minute = reader.uint32(); break; case 7: message.calendar = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HSMDateTimeComponent message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HSMDateTimeComponent * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HSMDateTimeComponent} HSMDateTimeComponent * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HSMDateTimeComponent.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HSMDateTimeComponent message. * @function verify * @memberof proto.HSMDateTimeComponent * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HSMDateTimeComponent.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.dayOfWeek != null && message.hasOwnProperty("dayOfWeek")) switch (message.dayOfWeek) { default: return "dayOfWeek: enum value expected"; case 1: case 2: case 3: case 4: case 5: case 6: case 7: break; } if (message.year != null && message.hasOwnProperty("year")) if (!$util.isInteger(message.year)) return "year: integer expected"; if (message.month != null && message.hasOwnProperty("month")) if (!$util.isInteger(message.month)) return "month: integer expected"; if (message.dayOfMonth != null && message.hasOwnProperty("dayOfMonth")) if (!$util.isInteger(message.dayOfMonth)) return "dayOfMonth: integer expected"; if (message.hour != null && message.hasOwnProperty("hour")) if (!$util.isInteger(message.hour)) return "hour: integer expected"; if (message.minute != null && message.hasOwnProperty("minute")) if (!$util.isInteger(message.minute)) return "minute: integer expected"; if (message.calendar != null && message.hasOwnProperty("calendar")) switch (message.calendar) { default: return "calendar: enum value expected"; case 1: case 2: break; } return null; }; /** * Creates a HSMDateTimeComponent message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HSMDateTimeComponent * @static * @param {Object.} object Plain object * @returns {proto.HSMDateTimeComponent} HSMDateTimeComponent */ HSMDateTimeComponent.fromObject = function fromObject(object) { if (object instanceof $root.proto.HSMDateTimeComponent) return object; var message = new $root.proto.HSMDateTimeComponent(); switch (object.dayOfWeek) { case "MONDAY": case 1: message.dayOfWeek = 1; break; case "TUESDAY": case 2: message.dayOfWeek = 2; break; case "WEDNESDAY": case 3: message.dayOfWeek = 3; break; case "THURSDAY": case 4: message.dayOfWeek = 4; break; case "FRIDAY": case 5: message.dayOfWeek = 5; break; case "SATURDAY": case 6: message.dayOfWeek = 6; break; case "SUNDAY": case 7: message.dayOfWeek = 7; break; } if (object.year != null) message.year = object.year >>> 0; if (object.month != null) message.month = object.month >>> 0; if (object.dayOfMonth != null) message.dayOfMonth = object.dayOfMonth >>> 0; if (object.hour != null) message.hour = object.hour >>> 0; if (object.minute != null) message.minute = object.minute >>> 0; switch (object.calendar) { case "GREGORIAN": case 1: message.calendar = 1; break; case "SOLAR_HIJRI": case 2: message.calendar = 2; break; } return message; }; /** * Creates a plain object from a HSMDateTimeComponent message. Also converts values to other types if specified. * @function toObject * @memberof proto.HSMDateTimeComponent * @static * @param {proto.HSMDateTimeComponent} message HSMDateTimeComponent * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HSMDateTimeComponent.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.dayOfWeek = options.enums === String ? "MONDAY" : 1; object.year = 0; object.month = 0; object.dayOfMonth = 0; object.hour = 0; object.minute = 0; object.calendar = options.enums === String ? "GREGORIAN" : 1; } if (message.dayOfWeek != null && message.hasOwnProperty("dayOfWeek")) object.dayOfWeek = options.enums === String ? $root.proto.HSMDateTimeComponent.HSMDateTimeComponentDayOfWeekType[message.dayOfWeek] : message.dayOfWeek; if (message.year != null && message.hasOwnProperty("year")) object.year = message.year; if (message.month != null && message.hasOwnProperty("month")) object.month = message.month; if (message.dayOfMonth != null && message.hasOwnProperty("dayOfMonth")) object.dayOfMonth = message.dayOfMonth; if (message.hour != null && message.hasOwnProperty("hour")) object.hour = message.hour; if (message.minute != null && message.hasOwnProperty("minute")) object.minute = message.minute; if (message.calendar != null && message.hasOwnProperty("calendar")) object.calendar = options.enums === String ? $root.proto.HSMDateTimeComponent.HSMDateTimeComponentCalendarType[message.calendar] : message.calendar; return object; }; /** * Converts this HSMDateTimeComponent to JSON. * @function toJSON * @memberof proto.HSMDateTimeComponent * @instance * @returns {Object.} JSON object */ HSMDateTimeComponent.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * HSMDateTimeComponentDayOfWeekType enum. * @name proto.HSMDateTimeComponent.HSMDateTimeComponentDayOfWeekType * @enum {number} * @property {number} MONDAY=1 MONDAY value * @property {number} TUESDAY=2 TUESDAY value * @property {number} WEDNESDAY=3 WEDNESDAY value * @property {number} THURSDAY=4 THURSDAY value * @property {number} FRIDAY=5 FRIDAY value * @property {number} SATURDAY=6 SATURDAY value * @property {number} SUNDAY=7 SUNDAY value */ HSMDateTimeComponent.HSMDateTimeComponentDayOfWeekType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[1] = "MONDAY"] = 1; values[valuesById[2] = "TUESDAY"] = 2; values[valuesById[3] = "WEDNESDAY"] = 3; values[valuesById[4] = "THURSDAY"] = 4; values[valuesById[5] = "FRIDAY"] = 5; values[valuesById[6] = "SATURDAY"] = 6; values[valuesById[7] = "SUNDAY"] = 7; return values; })(); /** * HSMDateTimeComponentCalendarType enum. * @name proto.HSMDateTimeComponent.HSMDateTimeComponentCalendarType * @enum {number} * @property {number} GREGORIAN=1 GREGORIAN value * @property {number} SOLAR_HIJRI=2 SOLAR_HIJRI value */ HSMDateTimeComponent.HSMDateTimeComponentCalendarType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[1] = "GREGORIAN"] = 1; values[valuesById[2] = "SOLAR_HIJRI"] = 2; return values; })(); return HSMDateTimeComponent; })(); proto.HSMDateTimeUnixEpoch = (function() { /** * Properties of a HSMDateTimeUnixEpoch. * @memberof proto * @interface IHSMDateTimeUnixEpoch * @property {number|Long|null} [timestamp] HSMDateTimeUnixEpoch timestamp */ /** * Constructs a new HSMDateTimeUnixEpoch. * @memberof proto * @classdesc Represents a HSMDateTimeUnixEpoch. * @implements IHSMDateTimeUnixEpoch * @constructor * @param {proto.IHSMDateTimeUnixEpoch=} [properties] Properties to set */ function HSMDateTimeUnixEpoch(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HSMDateTimeUnixEpoch timestamp. * @member {number|Long} timestamp * @memberof proto.HSMDateTimeUnixEpoch * @instance */ HSMDateTimeUnixEpoch.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new HSMDateTimeUnixEpoch instance using the specified properties. * @function create * @memberof proto.HSMDateTimeUnixEpoch * @static * @param {proto.IHSMDateTimeUnixEpoch=} [properties] Properties to set * @returns {proto.HSMDateTimeUnixEpoch} HSMDateTimeUnixEpoch instance */ HSMDateTimeUnixEpoch.create = function create(properties) { return new HSMDateTimeUnixEpoch(properties); }; /** * Encodes the specified HSMDateTimeUnixEpoch message. Does not implicitly {@link proto.HSMDateTimeUnixEpoch.verify|verify} messages. * @function encode * @memberof proto.HSMDateTimeUnixEpoch * @static * @param {proto.IHSMDateTimeUnixEpoch} message HSMDateTimeUnixEpoch message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HSMDateTimeUnixEpoch.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.timestamp); return writer; }; /** * Encodes the specified HSMDateTimeUnixEpoch message, length delimited. Does not implicitly {@link proto.HSMDateTimeUnixEpoch.verify|verify} messages. * @function encodeDelimited * @memberof proto.HSMDateTimeUnixEpoch * @static * @param {proto.IHSMDateTimeUnixEpoch} message HSMDateTimeUnixEpoch message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HSMDateTimeUnixEpoch.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HSMDateTimeUnixEpoch message from the specified reader or buffer. * @function decode * @memberof proto.HSMDateTimeUnixEpoch * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HSMDateTimeUnixEpoch} HSMDateTimeUnixEpoch * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HSMDateTimeUnixEpoch.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HSMDateTimeUnixEpoch(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.timestamp = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HSMDateTimeUnixEpoch message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HSMDateTimeUnixEpoch * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HSMDateTimeUnixEpoch} HSMDateTimeUnixEpoch * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HSMDateTimeUnixEpoch.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HSMDateTimeUnixEpoch message. * @function verify * @memberof proto.HSMDateTimeUnixEpoch * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HSMDateTimeUnixEpoch.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.timestamp != null && message.hasOwnProperty("timestamp")) if (!$util.isInteger(message.timestamp) && !(message.timestamp && $util.isInteger(message.timestamp.low) && $util.isInteger(message.timestamp.high))) return "timestamp: integer|Long expected"; return null; }; /** * Creates a HSMDateTimeUnixEpoch message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HSMDateTimeUnixEpoch * @static * @param {Object.} object Plain object * @returns {proto.HSMDateTimeUnixEpoch} HSMDateTimeUnixEpoch */ HSMDateTimeUnixEpoch.fromObject = function fromObject(object) { if (object instanceof $root.proto.HSMDateTimeUnixEpoch) return object; var message = new $root.proto.HSMDateTimeUnixEpoch(); if (object.timestamp != null) if ($util.Long) (message.timestamp = $util.Long.fromValue(object.timestamp)).unsigned = false; else if (typeof object.timestamp === "string") message.timestamp = parseInt(object.timestamp, 10); else if (typeof object.timestamp === "number") message.timestamp = object.timestamp; else if (typeof object.timestamp === "object") message.timestamp = new $util.LongBits(object.timestamp.low >>> 0, object.timestamp.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a HSMDateTimeUnixEpoch message. Also converts values to other types if specified. * @function toObject * @memberof proto.HSMDateTimeUnixEpoch * @static * @param {proto.HSMDateTimeUnixEpoch} message HSMDateTimeUnixEpoch * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HSMDateTimeUnixEpoch.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) if ($util.Long) { var long = new $util.Long(0, 0, false); object.timestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.timestamp = options.longs === String ? "0" : 0; if (message.timestamp != null && message.hasOwnProperty("timestamp")) if (typeof message.timestamp === "number") object.timestamp = options.longs === String ? String(message.timestamp) : message.timestamp; else object.timestamp = options.longs === String ? $util.Long.prototype.toString.call(message.timestamp) : options.longs === Number ? new $util.LongBits(message.timestamp.low >>> 0, message.timestamp.high >>> 0).toNumber() : message.timestamp; return object; }; /** * Converts this HSMDateTimeUnixEpoch to JSON. * @function toJSON * @memberof proto.HSMDateTimeUnixEpoch * @instance * @returns {Object.} JSON object */ HSMDateTimeUnixEpoch.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HSMDateTimeUnixEpoch; })(); proto.HSMDateTime = (function() { /** * Properties of a HSMDateTime. * @memberof proto * @interface IHSMDateTime * @property {proto.IHSMDateTimeComponent|null} [component] HSMDateTime component * @property {proto.IHSMDateTimeUnixEpoch|null} [unixEpoch] HSMDateTime unixEpoch */ /** * Constructs a new HSMDateTime. * @memberof proto * @classdesc Represents a HSMDateTime. * @implements IHSMDateTime * @constructor * @param {proto.IHSMDateTime=} [properties] Properties to set */ function HSMDateTime(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HSMDateTime component. * @member {proto.IHSMDateTimeComponent|null|undefined} component * @memberof proto.HSMDateTime * @instance */ HSMDateTime.prototype.component = null; /** * HSMDateTime unixEpoch. * @member {proto.IHSMDateTimeUnixEpoch|null|undefined} unixEpoch * @memberof proto.HSMDateTime * @instance */ HSMDateTime.prototype.unixEpoch = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * HSMDateTime datetimeOneof. * @member {"component"|"unixEpoch"|undefined} datetimeOneof * @memberof proto.HSMDateTime * @instance */ Object.defineProperty(HSMDateTime.prototype, "datetimeOneof", { get: $util.oneOfGetter($oneOfFields = ["component", "unixEpoch"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new HSMDateTime instance using the specified properties. * @function create * @memberof proto.HSMDateTime * @static * @param {proto.IHSMDateTime=} [properties] Properties to set * @returns {proto.HSMDateTime} HSMDateTime instance */ HSMDateTime.create = function create(properties) { return new HSMDateTime(properties); }; /** * Encodes the specified HSMDateTime message. Does not implicitly {@link proto.HSMDateTime.verify|verify} messages. * @function encode * @memberof proto.HSMDateTime * @static * @param {proto.IHSMDateTime} message HSMDateTime message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HSMDateTime.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.component != null && Object.hasOwnProperty.call(message, "component")) $root.proto.HSMDateTimeComponent.encode(message.component, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.unixEpoch != null && Object.hasOwnProperty.call(message, "unixEpoch")) $root.proto.HSMDateTimeUnixEpoch.encode(message.unixEpoch, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified HSMDateTime message, length delimited. Does not implicitly {@link proto.HSMDateTime.verify|verify} messages. * @function encodeDelimited * @memberof proto.HSMDateTime * @static * @param {proto.IHSMDateTime} message HSMDateTime message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HSMDateTime.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HSMDateTime message from the specified reader or buffer. * @function decode * @memberof proto.HSMDateTime * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HSMDateTime} HSMDateTime * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HSMDateTime.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HSMDateTime(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.component = $root.proto.HSMDateTimeComponent.decode(reader, reader.uint32()); break; case 2: message.unixEpoch = $root.proto.HSMDateTimeUnixEpoch.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HSMDateTime message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HSMDateTime * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HSMDateTime} HSMDateTime * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HSMDateTime.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HSMDateTime message. * @function verify * @memberof proto.HSMDateTime * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HSMDateTime.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.component != null && message.hasOwnProperty("component")) { properties.datetimeOneof = 1; { var error = $root.proto.HSMDateTimeComponent.verify(message.component); if (error) return "component." + error; } } if (message.unixEpoch != null && message.hasOwnProperty("unixEpoch")) { if (properties.datetimeOneof === 1) return "datetimeOneof: multiple values"; properties.datetimeOneof = 1; { var error = $root.proto.HSMDateTimeUnixEpoch.verify(message.unixEpoch); if (error) return "unixEpoch." + error; } } return null; }; /** * Creates a HSMDateTime message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HSMDateTime * @static * @param {Object.} object Plain object * @returns {proto.HSMDateTime} HSMDateTime */ HSMDateTime.fromObject = function fromObject(object) { if (object instanceof $root.proto.HSMDateTime) return object; var message = new $root.proto.HSMDateTime(); if (object.component != null) { if (typeof object.component !== "object") throw TypeError(".proto.HSMDateTime.component: object expected"); message.component = $root.proto.HSMDateTimeComponent.fromObject(object.component); } if (object.unixEpoch != null) { if (typeof object.unixEpoch !== "object") throw TypeError(".proto.HSMDateTime.unixEpoch: object expected"); message.unixEpoch = $root.proto.HSMDateTimeUnixEpoch.fromObject(object.unixEpoch); } return message; }; /** * Creates a plain object from a HSMDateTime message. Also converts values to other types if specified. * @function toObject * @memberof proto.HSMDateTime * @static * @param {proto.HSMDateTime} message HSMDateTime * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HSMDateTime.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (message.component != null && message.hasOwnProperty("component")) { object.component = $root.proto.HSMDateTimeComponent.toObject(message.component, options); if (options.oneofs) object.datetimeOneof = "component"; } if (message.unixEpoch != null && message.hasOwnProperty("unixEpoch")) { object.unixEpoch = $root.proto.HSMDateTimeUnixEpoch.toObject(message.unixEpoch, options); if (options.oneofs) object.datetimeOneof = "unixEpoch"; } return object; }; /** * Converts this HSMDateTime to JSON. * @function toJSON * @memberof proto.HSMDateTime * @instance * @returns {Object.} JSON object */ HSMDateTime.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HSMDateTime; })(); proto.HSMLocalizableParameter = (function() { /** * Properties of a HSMLocalizableParameter. * @memberof proto * @interface IHSMLocalizableParameter * @property {string|null} ["default"] HSMLocalizableParameter default * @property {proto.IHSMCurrency|null} [currency] HSMLocalizableParameter currency * @property {proto.IHSMDateTime|null} [dateTime] HSMLocalizableParameter dateTime */ /** * Constructs a new HSMLocalizableParameter. * @memberof proto * @classdesc Represents a HSMLocalizableParameter. * @implements IHSMLocalizableParameter * @constructor * @param {proto.IHSMLocalizableParameter=} [properties] Properties to set */ function HSMLocalizableParameter(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HSMLocalizableParameter default. * @member {string} default * @memberof proto.HSMLocalizableParameter * @instance */ HSMLocalizableParameter.prototype["default"] = ""; /** * HSMLocalizableParameter currency. * @member {proto.IHSMCurrency|null|undefined} currency * @memberof proto.HSMLocalizableParameter * @instance */ HSMLocalizableParameter.prototype.currency = null; /** * HSMLocalizableParameter dateTime. * @member {proto.IHSMDateTime|null|undefined} dateTime * @memberof proto.HSMLocalizableParameter * @instance */ HSMLocalizableParameter.prototype.dateTime = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * HSMLocalizableParameter paramOneof. * @member {"currency"|"dateTime"|undefined} paramOneof * @memberof proto.HSMLocalizableParameter * @instance */ Object.defineProperty(HSMLocalizableParameter.prototype, "paramOneof", { get: $util.oneOfGetter($oneOfFields = ["currency", "dateTime"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new HSMLocalizableParameter instance using the specified properties. * @function create * @memberof proto.HSMLocalizableParameter * @static * @param {proto.IHSMLocalizableParameter=} [properties] Properties to set * @returns {proto.HSMLocalizableParameter} HSMLocalizableParameter instance */ HSMLocalizableParameter.create = function create(properties) { return new HSMLocalizableParameter(properties); }; /** * Encodes the specified HSMLocalizableParameter message. Does not implicitly {@link proto.HSMLocalizableParameter.verify|verify} messages. * @function encode * @memberof proto.HSMLocalizableParameter * @static * @param {proto.IHSMLocalizableParameter} message HSMLocalizableParameter message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HSMLocalizableParameter.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message["default"] != null && Object.hasOwnProperty.call(message, "default")) writer.uint32(/* id 1, wireType 2 =*/10).string(message["default"]); if (message.currency != null && Object.hasOwnProperty.call(message, "currency")) $root.proto.HSMCurrency.encode(message.currency, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.dateTime != null && Object.hasOwnProperty.call(message, "dateTime")) $root.proto.HSMDateTime.encode(message.dateTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** * Encodes the specified HSMLocalizableParameter message, length delimited. Does not implicitly {@link proto.HSMLocalizableParameter.verify|verify} messages. * @function encodeDelimited * @memberof proto.HSMLocalizableParameter * @static * @param {proto.IHSMLocalizableParameter} message HSMLocalizableParameter message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HSMLocalizableParameter.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HSMLocalizableParameter message from the specified reader or buffer. * @function decode * @memberof proto.HSMLocalizableParameter * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HSMLocalizableParameter} HSMLocalizableParameter * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HSMLocalizableParameter.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HSMLocalizableParameter(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message["default"] = reader.string(); break; case 2: message.currency = $root.proto.HSMCurrency.decode(reader, reader.uint32()); break; case 3: message.dateTime = $root.proto.HSMDateTime.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HSMLocalizableParameter message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HSMLocalizableParameter * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HSMLocalizableParameter} HSMLocalizableParameter * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HSMLocalizableParameter.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HSMLocalizableParameter message. * @function verify * @memberof proto.HSMLocalizableParameter * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HSMLocalizableParameter.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message["default"] != null && message.hasOwnProperty("default")) if (!$util.isString(message["default"])) return "default: string expected"; if (message.currency != null && message.hasOwnProperty("currency")) { properties.paramOneof = 1; { var error = $root.proto.HSMCurrency.verify(message.currency); if (error) return "currency." + error; } } if (message.dateTime != null && message.hasOwnProperty("dateTime")) { if (properties.paramOneof === 1) return "paramOneof: multiple values"; properties.paramOneof = 1; { var error = $root.proto.HSMDateTime.verify(message.dateTime); if (error) return "dateTime." + error; } } return null; }; /** * Creates a HSMLocalizableParameter message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HSMLocalizableParameter * @static * @param {Object.} object Plain object * @returns {proto.HSMLocalizableParameter} HSMLocalizableParameter */ HSMLocalizableParameter.fromObject = function fromObject(object) { if (object instanceof $root.proto.HSMLocalizableParameter) return object; var message = new $root.proto.HSMLocalizableParameter(); if (object["default"] != null) message["default"] = String(object["default"]); if (object.currency != null) { if (typeof object.currency !== "object") throw TypeError(".proto.HSMLocalizableParameter.currency: object expected"); message.currency = $root.proto.HSMCurrency.fromObject(object.currency); } if (object.dateTime != null) { if (typeof object.dateTime !== "object") throw TypeError(".proto.HSMLocalizableParameter.dateTime: object expected"); message.dateTime = $root.proto.HSMDateTime.fromObject(object.dateTime); } return message; }; /** * Creates a plain object from a HSMLocalizableParameter message. Also converts values to other types if specified. * @function toObject * @memberof proto.HSMLocalizableParameter * @static * @param {proto.HSMLocalizableParameter} message HSMLocalizableParameter * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HSMLocalizableParameter.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object["default"] = ""; if (message["default"] != null && message.hasOwnProperty("default")) object["default"] = message["default"]; if (message.currency != null && message.hasOwnProperty("currency")) { object.currency = $root.proto.HSMCurrency.toObject(message.currency, options); if (options.oneofs) object.paramOneof = "currency"; } if (message.dateTime != null && message.hasOwnProperty("dateTime")) { object.dateTime = $root.proto.HSMDateTime.toObject(message.dateTime, options); if (options.oneofs) object.paramOneof = "dateTime"; } return object; }; /** * Converts this HSMLocalizableParameter to JSON. * @function toJSON * @memberof proto.HSMLocalizableParameter * @instance * @returns {Object.} JSON object */ HSMLocalizableParameter.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HSMLocalizableParameter; })(); proto.HighlyStructuredMessage = (function() { /** * Properties of a HighlyStructuredMessage. * @memberof proto * @interface IHighlyStructuredMessage * @property {string|null} [namespace] HighlyStructuredMessage namespace * @property {string|null} [elementName] HighlyStructuredMessage elementName * @property {Array.|null} [params] HighlyStructuredMessage params * @property {string|null} [fallbackLg] HighlyStructuredMessage fallbackLg * @property {string|null} [fallbackLc] HighlyStructuredMessage fallbackLc * @property {Array.|null} [localizableParams] HighlyStructuredMessage localizableParams * @property {string|null} [deterministicLg] HighlyStructuredMessage deterministicLg * @property {string|null} [deterministicLc] HighlyStructuredMessage deterministicLc * @property {proto.ITemplateMessage|null} [hydratedHsm] HighlyStructuredMessage hydratedHsm */ /** * Constructs a new HighlyStructuredMessage. * @memberof proto * @classdesc Represents a HighlyStructuredMessage. * @implements IHighlyStructuredMessage * @constructor * @param {proto.IHighlyStructuredMessage=} [properties] Properties to set */ function HighlyStructuredMessage(properties) { this.params = []; this.localizableParams = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HighlyStructuredMessage namespace. * @member {string} namespace * @memberof proto.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.namespace = ""; /** * HighlyStructuredMessage elementName. * @member {string} elementName * @memberof proto.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.elementName = ""; /** * HighlyStructuredMessage params. * @member {Array.} params * @memberof proto.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.params = $util.emptyArray; /** * HighlyStructuredMessage fallbackLg. * @member {string} fallbackLg * @memberof proto.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.fallbackLg = ""; /** * HighlyStructuredMessage fallbackLc. * @member {string} fallbackLc * @memberof proto.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.fallbackLc = ""; /** * HighlyStructuredMessage localizableParams. * @member {Array.} localizableParams * @memberof proto.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.localizableParams = $util.emptyArray; /** * HighlyStructuredMessage deterministicLg. * @member {string} deterministicLg * @memberof proto.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.deterministicLg = ""; /** * HighlyStructuredMessage deterministicLc. * @member {string} deterministicLc * @memberof proto.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.deterministicLc = ""; /** * HighlyStructuredMessage hydratedHsm. * @member {proto.ITemplateMessage|null|undefined} hydratedHsm * @memberof proto.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.hydratedHsm = null; /** * Creates a new HighlyStructuredMessage instance using the specified properties. * @function create * @memberof proto.HighlyStructuredMessage * @static * @param {proto.IHighlyStructuredMessage=} [properties] Properties to set * @returns {proto.HighlyStructuredMessage} HighlyStructuredMessage instance */ HighlyStructuredMessage.create = function create(properties) { return new HighlyStructuredMessage(properties); }; /** * Encodes the specified HighlyStructuredMessage message. Does not implicitly {@link proto.HighlyStructuredMessage.verify|verify} messages. * @function encode * @memberof proto.HighlyStructuredMessage * @static * @param {proto.IHighlyStructuredMessage} message HighlyStructuredMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HighlyStructuredMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.namespace != null && Object.hasOwnProperty.call(message, "namespace")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.namespace); if (message.elementName != null && Object.hasOwnProperty.call(message, "elementName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.elementName); if (message.params != null && message.params.length) for (var i = 0; i < message.params.length; ++i) writer.uint32(/* id 3, wireType 2 =*/26).string(message.params[i]); if (message.fallbackLg != null && Object.hasOwnProperty.call(message, "fallbackLg")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.fallbackLg); if (message.fallbackLc != null && Object.hasOwnProperty.call(message, "fallbackLc")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.fallbackLc); if (message.localizableParams != null && message.localizableParams.length) for (var i = 0; i < message.localizableParams.length; ++i) $root.proto.HSMLocalizableParameter.encode(message.localizableParams[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.deterministicLg != null && Object.hasOwnProperty.call(message, "deterministicLg")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.deterministicLg); if (message.deterministicLc != null && Object.hasOwnProperty.call(message, "deterministicLc")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.deterministicLc); if (message.hydratedHsm != null && Object.hasOwnProperty.call(message, "hydratedHsm")) $root.proto.TemplateMessage.encode(message.hydratedHsm, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); return writer; }; /** * Encodes the specified HighlyStructuredMessage message, length delimited. Does not implicitly {@link proto.HighlyStructuredMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.HighlyStructuredMessage * @static * @param {proto.IHighlyStructuredMessage} message HighlyStructuredMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HighlyStructuredMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HighlyStructuredMessage message from the specified reader or buffer. * @function decode * @memberof proto.HighlyStructuredMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HighlyStructuredMessage} HighlyStructuredMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HighlyStructuredMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HighlyStructuredMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.namespace = reader.string(); break; case 2: message.elementName = reader.string(); break; case 3: if (!(message.params && message.params.length)) message.params = []; message.params.push(reader.string()); break; case 4: message.fallbackLg = reader.string(); break; case 5: message.fallbackLc = reader.string(); break; case 6: if (!(message.localizableParams && message.localizableParams.length)) message.localizableParams = []; message.localizableParams.push($root.proto.HSMLocalizableParameter.decode(reader, reader.uint32())); break; case 7: message.deterministicLg = reader.string(); break; case 8: message.deterministicLc = reader.string(); break; case 9: message.hydratedHsm = $root.proto.TemplateMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HighlyStructuredMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HighlyStructuredMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HighlyStructuredMessage} HighlyStructuredMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HighlyStructuredMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HighlyStructuredMessage message. * @function verify * @memberof proto.HighlyStructuredMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HighlyStructuredMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.namespace != null && message.hasOwnProperty("namespace")) if (!$util.isString(message.namespace)) return "namespace: string expected"; if (message.elementName != null && message.hasOwnProperty("elementName")) if (!$util.isString(message.elementName)) return "elementName: string expected"; if (message.params != null && message.hasOwnProperty("params")) { if (!Array.isArray(message.params)) return "params: array expected"; for (var i = 0; i < message.params.length; ++i) if (!$util.isString(message.params[i])) return "params: string[] expected"; } if (message.fallbackLg != null && message.hasOwnProperty("fallbackLg")) if (!$util.isString(message.fallbackLg)) return "fallbackLg: string expected"; if (message.fallbackLc != null && message.hasOwnProperty("fallbackLc")) if (!$util.isString(message.fallbackLc)) return "fallbackLc: string expected"; if (message.localizableParams != null && message.hasOwnProperty("localizableParams")) { if (!Array.isArray(message.localizableParams)) return "localizableParams: array expected"; for (var i = 0; i < message.localizableParams.length; ++i) { var error = $root.proto.HSMLocalizableParameter.verify(message.localizableParams[i]); if (error) return "localizableParams." + error; } } if (message.deterministicLg != null && message.hasOwnProperty("deterministicLg")) if (!$util.isString(message.deterministicLg)) return "deterministicLg: string expected"; if (message.deterministicLc != null && message.hasOwnProperty("deterministicLc")) if (!$util.isString(message.deterministicLc)) return "deterministicLc: string expected"; if (message.hydratedHsm != null && message.hasOwnProperty("hydratedHsm")) { var error = $root.proto.TemplateMessage.verify(message.hydratedHsm); if (error) return "hydratedHsm." + error; } return null; }; /** * Creates a HighlyStructuredMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HighlyStructuredMessage * @static * @param {Object.} object Plain object * @returns {proto.HighlyStructuredMessage} HighlyStructuredMessage */ HighlyStructuredMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.HighlyStructuredMessage) return object; var message = new $root.proto.HighlyStructuredMessage(); if (object.namespace != null) message.namespace = String(object.namespace); if (object.elementName != null) message.elementName = String(object.elementName); if (object.params) { if (!Array.isArray(object.params)) throw TypeError(".proto.HighlyStructuredMessage.params: array expected"); message.params = []; for (var i = 0; i < object.params.length; ++i) message.params[i] = String(object.params[i]); } if (object.fallbackLg != null) message.fallbackLg = String(object.fallbackLg); if (object.fallbackLc != null) message.fallbackLc = String(object.fallbackLc); if (object.localizableParams) { if (!Array.isArray(object.localizableParams)) throw TypeError(".proto.HighlyStructuredMessage.localizableParams: array expected"); message.localizableParams = []; for (var i = 0; i < object.localizableParams.length; ++i) { if (typeof object.localizableParams[i] !== "object") throw TypeError(".proto.HighlyStructuredMessage.localizableParams: object expected"); message.localizableParams[i] = $root.proto.HSMLocalizableParameter.fromObject(object.localizableParams[i]); } } if (object.deterministicLg != null) message.deterministicLg = String(object.deterministicLg); if (object.deterministicLc != null) message.deterministicLc = String(object.deterministicLc); if (object.hydratedHsm != null) { if (typeof object.hydratedHsm !== "object") throw TypeError(".proto.HighlyStructuredMessage.hydratedHsm: object expected"); message.hydratedHsm = $root.proto.TemplateMessage.fromObject(object.hydratedHsm); } return message; }; /** * Creates a plain object from a HighlyStructuredMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.HighlyStructuredMessage * @static * @param {proto.HighlyStructuredMessage} message HighlyStructuredMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HighlyStructuredMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.params = []; object.localizableParams = []; } if (options.defaults) { object.namespace = ""; object.elementName = ""; object.fallbackLg = ""; object.fallbackLc = ""; object.deterministicLg = ""; object.deterministicLc = ""; object.hydratedHsm = null; } if (message.namespace != null && message.hasOwnProperty("namespace")) object.namespace = message.namespace; if (message.elementName != null && message.hasOwnProperty("elementName")) object.elementName = message.elementName; if (message.params && message.params.length) { object.params = []; for (var j = 0; j < message.params.length; ++j) object.params[j] = message.params[j]; } if (message.fallbackLg != null && message.hasOwnProperty("fallbackLg")) object.fallbackLg = message.fallbackLg; if (message.fallbackLc != null && message.hasOwnProperty("fallbackLc")) object.fallbackLc = message.fallbackLc; if (message.localizableParams && message.localizableParams.length) { object.localizableParams = []; for (var j = 0; j < message.localizableParams.length; ++j) object.localizableParams[j] = $root.proto.HSMLocalizableParameter.toObject(message.localizableParams[j], options); } if (message.deterministicLg != null && message.hasOwnProperty("deterministicLg")) object.deterministicLg = message.deterministicLg; if (message.deterministicLc != null && message.hasOwnProperty("deterministicLc")) object.deterministicLc = message.deterministicLc; if (message.hydratedHsm != null && message.hasOwnProperty("hydratedHsm")) object.hydratedHsm = $root.proto.TemplateMessage.toObject(message.hydratedHsm, options); return object; }; /** * Converts this HighlyStructuredMessage to JSON. * @function toJSON * @memberof proto.HighlyStructuredMessage * @instance * @returns {Object.} JSON object */ HighlyStructuredMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HighlyStructuredMessage; })(); proto.SendPaymentMessage = (function() { /** * Properties of a SendPaymentMessage. * @memberof proto * @interface ISendPaymentMessage * @property {proto.IMessage|null} [noteMessage] SendPaymentMessage noteMessage * @property {proto.IMessageKey|null} [requestMessageKey] SendPaymentMessage requestMessageKey */ /** * Constructs a new SendPaymentMessage. * @memberof proto * @classdesc Represents a SendPaymentMessage. * @implements ISendPaymentMessage * @constructor * @param {proto.ISendPaymentMessage=} [properties] Properties to set */ function SendPaymentMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * SendPaymentMessage noteMessage. * @member {proto.IMessage|null|undefined} noteMessage * @memberof proto.SendPaymentMessage * @instance */ SendPaymentMessage.prototype.noteMessage = null; /** * SendPaymentMessage requestMessageKey. * @member {proto.IMessageKey|null|undefined} requestMessageKey * @memberof proto.SendPaymentMessage * @instance */ SendPaymentMessage.prototype.requestMessageKey = null; /** * Creates a new SendPaymentMessage instance using the specified properties. * @function create * @memberof proto.SendPaymentMessage * @static * @param {proto.ISendPaymentMessage=} [properties] Properties to set * @returns {proto.SendPaymentMessage} SendPaymentMessage instance */ SendPaymentMessage.create = function create(properties) { return new SendPaymentMessage(properties); }; /** * Encodes the specified SendPaymentMessage message. Does not implicitly {@link proto.SendPaymentMessage.verify|verify} messages. * @function encode * @memberof proto.SendPaymentMessage * @static * @param {proto.ISendPaymentMessage} message SendPaymentMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SendPaymentMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.noteMessage != null && Object.hasOwnProperty.call(message, "noteMessage")) $root.proto.Message.encode(message.noteMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.requestMessageKey != null && Object.hasOwnProperty.call(message, "requestMessageKey")) $root.proto.MessageKey.encode(message.requestMessageKey, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** * Encodes the specified SendPaymentMessage message, length delimited. Does not implicitly {@link proto.SendPaymentMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.SendPaymentMessage * @static * @param {proto.ISendPaymentMessage} message SendPaymentMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SendPaymentMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SendPaymentMessage message from the specified reader or buffer. * @function decode * @memberof proto.SendPaymentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SendPaymentMessage} SendPaymentMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SendPaymentMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.SendPaymentMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 2: message.noteMessage = $root.proto.Message.decode(reader, reader.uint32()); break; case 3: message.requestMessageKey = $root.proto.MessageKey.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SendPaymentMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SendPaymentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SendPaymentMessage} SendPaymentMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SendPaymentMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SendPaymentMessage message. * @function verify * @memberof proto.SendPaymentMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SendPaymentMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.noteMessage != null && message.hasOwnProperty("noteMessage")) { var error = $root.proto.Message.verify(message.noteMessage); if (error) return "noteMessage." + error; } if (message.requestMessageKey != null && message.hasOwnProperty("requestMessageKey")) { var error = $root.proto.MessageKey.verify(message.requestMessageKey); if (error) return "requestMessageKey." + error; } return null; }; /** * Creates a SendPaymentMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SendPaymentMessage * @static * @param {Object.} object Plain object * @returns {proto.SendPaymentMessage} SendPaymentMessage */ SendPaymentMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.SendPaymentMessage) return object; var message = new $root.proto.SendPaymentMessage(); if (object.noteMessage != null) { if (typeof object.noteMessage !== "object") throw TypeError(".proto.SendPaymentMessage.noteMessage: object expected"); message.noteMessage = $root.proto.Message.fromObject(object.noteMessage); } if (object.requestMessageKey != null) { if (typeof object.requestMessageKey !== "object") throw TypeError(".proto.SendPaymentMessage.requestMessageKey: object expected"); message.requestMessageKey = $root.proto.MessageKey.fromObject(object.requestMessageKey); } return message; }; /** * Creates a plain object from a SendPaymentMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.SendPaymentMessage * @static * @param {proto.SendPaymentMessage} message SendPaymentMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ SendPaymentMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.noteMessage = null; object.requestMessageKey = null; } if (message.noteMessage != null && message.hasOwnProperty("noteMessage")) object.noteMessage = $root.proto.Message.toObject(message.noteMessage, options); if (message.requestMessageKey != null && message.hasOwnProperty("requestMessageKey")) object.requestMessageKey = $root.proto.MessageKey.toObject(message.requestMessageKey, options); return object; }; /** * Converts this SendPaymentMessage to JSON. * @function toJSON * @memberof proto.SendPaymentMessage * @instance * @returns {Object.} JSON object */ SendPaymentMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SendPaymentMessage; })(); proto.RequestPaymentMessage = (function() { /** * Properties of a RequestPaymentMessage. * @memberof proto * @interface IRequestPaymentMessage * @property {proto.IMessage|null} [noteMessage] RequestPaymentMessage noteMessage * @property {string|null} [currencyCodeIso4217] RequestPaymentMessage currencyCodeIso4217 * @property {number|Long|null} [amount1000] RequestPaymentMessage amount1000 * @property {string|null} [requestFrom] RequestPaymentMessage requestFrom * @property {number|Long|null} [expiryTimestamp] RequestPaymentMessage expiryTimestamp */ /** * Constructs a new RequestPaymentMessage. * @memberof proto * @classdesc Represents a RequestPaymentMessage. * @implements IRequestPaymentMessage * @constructor * @param {proto.IRequestPaymentMessage=} [properties] Properties to set */ function RequestPaymentMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * RequestPaymentMessage noteMessage. * @member {proto.IMessage|null|undefined} noteMessage * @memberof proto.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.noteMessage = null; /** * RequestPaymentMessage currencyCodeIso4217. * @member {string} currencyCodeIso4217 * @memberof proto.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.currencyCodeIso4217 = ""; /** * RequestPaymentMessage amount1000. * @member {number|Long} amount1000 * @memberof proto.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.amount1000 = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * RequestPaymentMessage requestFrom. * @member {string} requestFrom * @memberof proto.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.requestFrom = ""; /** * RequestPaymentMessage expiryTimestamp. * @member {number|Long} expiryTimestamp * @memberof proto.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.expiryTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new RequestPaymentMessage instance using the specified properties. * @function create * @memberof proto.RequestPaymentMessage * @static * @param {proto.IRequestPaymentMessage=} [properties] Properties to set * @returns {proto.RequestPaymentMessage} RequestPaymentMessage instance */ RequestPaymentMessage.create = function create(properties) { return new RequestPaymentMessage(properties); }; /** * Encodes the specified RequestPaymentMessage message. Does not implicitly {@link proto.RequestPaymentMessage.verify|verify} messages. * @function encode * @memberof proto.RequestPaymentMessage * @static * @param {proto.IRequestPaymentMessage} message RequestPaymentMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RequestPaymentMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.currencyCodeIso4217 != null && Object.hasOwnProperty.call(message, "currencyCodeIso4217")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.currencyCodeIso4217); if (message.amount1000 != null && Object.hasOwnProperty.call(message, "amount1000")) writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.amount1000); if (message.requestFrom != null && Object.hasOwnProperty.call(message, "requestFrom")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.requestFrom); if (message.noteMessage != null && Object.hasOwnProperty.call(message, "noteMessage")) $root.proto.Message.encode(message.noteMessage, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.expiryTimestamp != null && Object.hasOwnProperty.call(message, "expiryTimestamp")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.expiryTimestamp); return writer; }; /** * Encodes the specified RequestPaymentMessage message, length delimited. Does not implicitly {@link proto.RequestPaymentMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.RequestPaymentMessage * @static * @param {proto.IRequestPaymentMessage} message RequestPaymentMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RequestPaymentMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a RequestPaymentMessage message from the specified reader or buffer. * @function decode * @memberof proto.RequestPaymentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.RequestPaymentMessage} RequestPaymentMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RequestPaymentMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.RequestPaymentMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 4: message.noteMessage = $root.proto.Message.decode(reader, reader.uint32()); break; case 1: message.currencyCodeIso4217 = reader.string(); break; case 2: message.amount1000 = reader.uint64(); break; case 3: message.requestFrom = reader.string(); break; case 5: message.expiryTimestamp = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a RequestPaymentMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.RequestPaymentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.RequestPaymentMessage} RequestPaymentMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RequestPaymentMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a RequestPaymentMessage message. * @function verify * @memberof proto.RequestPaymentMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ RequestPaymentMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.noteMessage != null && message.hasOwnProperty("noteMessage")) { var error = $root.proto.Message.verify(message.noteMessage); if (error) return "noteMessage." + error; } if (message.currencyCodeIso4217 != null && message.hasOwnProperty("currencyCodeIso4217")) if (!$util.isString(message.currencyCodeIso4217)) return "currencyCodeIso4217: string expected"; if (message.amount1000 != null && message.hasOwnProperty("amount1000")) if (!$util.isInteger(message.amount1000) && !(message.amount1000 && $util.isInteger(message.amount1000.low) && $util.isInteger(message.amount1000.high))) return "amount1000: integer|Long expected"; if (message.requestFrom != null && message.hasOwnProperty("requestFrom")) if (!$util.isString(message.requestFrom)) return "requestFrom: string expected"; if (message.expiryTimestamp != null && message.hasOwnProperty("expiryTimestamp")) if (!$util.isInteger(message.expiryTimestamp) && !(message.expiryTimestamp && $util.isInteger(message.expiryTimestamp.low) && $util.isInteger(message.expiryTimestamp.high))) return "expiryTimestamp: integer|Long expected"; return null; }; /** * Creates a RequestPaymentMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.RequestPaymentMessage * @static * @param {Object.} object Plain object * @returns {proto.RequestPaymentMessage} RequestPaymentMessage */ RequestPaymentMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.RequestPaymentMessage) return object; var message = new $root.proto.RequestPaymentMessage(); if (object.noteMessage != null) { if (typeof object.noteMessage !== "object") throw TypeError(".proto.RequestPaymentMessage.noteMessage: object expected"); message.noteMessage = $root.proto.Message.fromObject(object.noteMessage); } if (object.currencyCodeIso4217 != null) message.currencyCodeIso4217 = String(object.currencyCodeIso4217); if (object.amount1000 != null) if ($util.Long) (message.amount1000 = $util.Long.fromValue(object.amount1000)).unsigned = true; else if (typeof object.amount1000 === "string") message.amount1000 = parseInt(object.amount1000, 10); else if (typeof object.amount1000 === "number") message.amount1000 = object.amount1000; else if (typeof object.amount1000 === "object") message.amount1000 = new $util.LongBits(object.amount1000.low >>> 0, object.amount1000.high >>> 0).toNumber(true); if (object.requestFrom != null) message.requestFrom = String(object.requestFrom); if (object.expiryTimestamp != null) if ($util.Long) (message.expiryTimestamp = $util.Long.fromValue(object.expiryTimestamp)).unsigned = false; else if (typeof object.expiryTimestamp === "string") message.expiryTimestamp = parseInt(object.expiryTimestamp, 10); else if (typeof object.expiryTimestamp === "number") message.expiryTimestamp = object.expiryTimestamp; else if (typeof object.expiryTimestamp === "object") message.expiryTimestamp = new $util.LongBits(object.expiryTimestamp.low >>> 0, object.expiryTimestamp.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a RequestPaymentMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.RequestPaymentMessage * @static * @param {proto.RequestPaymentMessage} message RequestPaymentMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ RequestPaymentMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.currencyCodeIso4217 = ""; if ($util.Long) { var long = new $util.Long(0, 0, true); object.amount1000 = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.amount1000 = options.longs === String ? "0" : 0; object.requestFrom = ""; object.noteMessage = null; if ($util.Long) { var long = new $util.Long(0, 0, false); object.expiryTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.expiryTimestamp = options.longs === String ? "0" : 0; } if (message.currencyCodeIso4217 != null && message.hasOwnProperty("currencyCodeIso4217")) object.currencyCodeIso4217 = message.currencyCodeIso4217; if (message.amount1000 != null && message.hasOwnProperty("amount1000")) if (typeof message.amount1000 === "number") object.amount1000 = options.longs === String ? String(message.amount1000) : message.amount1000; else object.amount1000 = options.longs === String ? $util.Long.prototype.toString.call(message.amount1000) : options.longs === Number ? new $util.LongBits(message.amount1000.low >>> 0, message.amount1000.high >>> 0).toNumber(true) : message.amount1000; if (message.requestFrom != null && message.hasOwnProperty("requestFrom")) object.requestFrom = message.requestFrom; if (message.noteMessage != null && message.hasOwnProperty("noteMessage")) object.noteMessage = $root.proto.Message.toObject(message.noteMessage, options); if (message.expiryTimestamp != null && message.hasOwnProperty("expiryTimestamp")) if (typeof message.expiryTimestamp === "number") object.expiryTimestamp = options.longs === String ? String(message.expiryTimestamp) : message.expiryTimestamp; else object.expiryTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.expiryTimestamp) : options.longs === Number ? new $util.LongBits(message.expiryTimestamp.low >>> 0, message.expiryTimestamp.high >>> 0).toNumber() : message.expiryTimestamp; return object; }; /** * Converts this RequestPaymentMessage to JSON. * @function toJSON * @memberof proto.RequestPaymentMessage * @instance * @returns {Object.} JSON object */ RequestPaymentMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return RequestPaymentMessage; })(); proto.DeclinePaymentRequestMessage = (function() { /** * Properties of a DeclinePaymentRequestMessage. * @memberof proto * @interface IDeclinePaymentRequestMessage * @property {proto.IMessageKey|null} [key] DeclinePaymentRequestMessage key */ /** * Constructs a new DeclinePaymentRequestMessage. * @memberof proto * @classdesc Represents a DeclinePaymentRequestMessage. * @implements IDeclinePaymentRequestMessage * @constructor * @param {proto.IDeclinePaymentRequestMessage=} [properties] Properties to set */ function DeclinePaymentRequestMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * DeclinePaymentRequestMessage key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.DeclinePaymentRequestMessage * @instance */ DeclinePaymentRequestMessage.prototype.key = null; /** * Creates a new DeclinePaymentRequestMessage instance using the specified properties. * @function create * @memberof proto.DeclinePaymentRequestMessage * @static * @param {proto.IDeclinePaymentRequestMessage=} [properties] Properties to set * @returns {proto.DeclinePaymentRequestMessage} DeclinePaymentRequestMessage instance */ DeclinePaymentRequestMessage.create = function create(properties) { return new DeclinePaymentRequestMessage(properties); }; /** * Encodes the specified DeclinePaymentRequestMessage message. Does not implicitly {@link proto.DeclinePaymentRequestMessage.verify|verify} messages. * @function encode * @memberof proto.DeclinePaymentRequestMessage * @static * @param {proto.IDeclinePaymentRequestMessage} message DeclinePaymentRequestMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeclinePaymentRequestMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.key != null && Object.hasOwnProperty.call(message, "key")) $root.proto.MessageKey.encode(message.key, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified DeclinePaymentRequestMessage message, length delimited. Does not implicitly {@link proto.DeclinePaymentRequestMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.DeclinePaymentRequestMessage * @static * @param {proto.IDeclinePaymentRequestMessage} message DeclinePaymentRequestMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeclinePaymentRequestMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DeclinePaymentRequestMessage message from the specified reader or buffer. * @function decode * @memberof proto.DeclinePaymentRequestMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.DeclinePaymentRequestMessage} DeclinePaymentRequestMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeclinePaymentRequestMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.DeclinePaymentRequestMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = $root.proto.MessageKey.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DeclinePaymentRequestMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.DeclinePaymentRequestMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.DeclinePaymentRequestMessage} DeclinePaymentRequestMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeclinePaymentRequestMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DeclinePaymentRequestMessage message. * @function verify * @memberof proto.DeclinePaymentRequestMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DeclinePaymentRequestMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.key != null && message.hasOwnProperty("key")) { var error = $root.proto.MessageKey.verify(message.key); if (error) return "key." + error; } return null; }; /** * Creates a DeclinePaymentRequestMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.DeclinePaymentRequestMessage * @static * @param {Object.} object Plain object * @returns {proto.DeclinePaymentRequestMessage} DeclinePaymentRequestMessage */ DeclinePaymentRequestMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.DeclinePaymentRequestMessage) return object; var message = new $root.proto.DeclinePaymentRequestMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.DeclinePaymentRequestMessage.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } return message; }; /** * Creates a plain object from a DeclinePaymentRequestMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.DeclinePaymentRequestMessage * @static * @param {proto.DeclinePaymentRequestMessage} message DeclinePaymentRequestMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ DeclinePaymentRequestMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.key = null; if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); return object; }; /** * Converts this DeclinePaymentRequestMessage to JSON. * @function toJSON * @memberof proto.DeclinePaymentRequestMessage * @instance * @returns {Object.} JSON object */ DeclinePaymentRequestMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DeclinePaymentRequestMessage; })(); proto.CancelPaymentRequestMessage = (function() { /** * Properties of a CancelPaymentRequestMessage. * @memberof proto * @interface ICancelPaymentRequestMessage * @property {proto.IMessageKey|null} [key] CancelPaymentRequestMessage key */ /** * Constructs a new CancelPaymentRequestMessage. * @memberof proto * @classdesc Represents a CancelPaymentRequestMessage. * @implements ICancelPaymentRequestMessage * @constructor * @param {proto.ICancelPaymentRequestMessage=} [properties] Properties to set */ function CancelPaymentRequestMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * CancelPaymentRequestMessage key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.CancelPaymentRequestMessage * @instance */ CancelPaymentRequestMessage.prototype.key = null; /** * Creates a new CancelPaymentRequestMessage instance using the specified properties. * @function create * @memberof proto.CancelPaymentRequestMessage * @static * @param {proto.ICancelPaymentRequestMessage=} [properties] Properties to set * @returns {proto.CancelPaymentRequestMessage} CancelPaymentRequestMessage instance */ CancelPaymentRequestMessage.create = function create(properties) { return new CancelPaymentRequestMessage(properties); }; /** * Encodes the specified CancelPaymentRequestMessage message. Does not implicitly {@link proto.CancelPaymentRequestMessage.verify|verify} messages. * @function encode * @memberof proto.CancelPaymentRequestMessage * @static * @param {proto.ICancelPaymentRequestMessage} message CancelPaymentRequestMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CancelPaymentRequestMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.key != null && Object.hasOwnProperty.call(message, "key")) $root.proto.MessageKey.encode(message.key, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified CancelPaymentRequestMessage message, length delimited. Does not implicitly {@link proto.CancelPaymentRequestMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.CancelPaymentRequestMessage * @static * @param {proto.ICancelPaymentRequestMessage} message CancelPaymentRequestMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CancelPaymentRequestMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a CancelPaymentRequestMessage message from the specified reader or buffer. * @function decode * @memberof proto.CancelPaymentRequestMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.CancelPaymentRequestMessage} CancelPaymentRequestMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CancelPaymentRequestMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.CancelPaymentRequestMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = $root.proto.MessageKey.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a CancelPaymentRequestMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.CancelPaymentRequestMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.CancelPaymentRequestMessage} CancelPaymentRequestMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CancelPaymentRequestMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a CancelPaymentRequestMessage message. * @function verify * @memberof proto.CancelPaymentRequestMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ CancelPaymentRequestMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.key != null && message.hasOwnProperty("key")) { var error = $root.proto.MessageKey.verify(message.key); if (error) return "key." + error; } return null; }; /** * Creates a CancelPaymentRequestMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.CancelPaymentRequestMessage * @static * @param {Object.} object Plain object * @returns {proto.CancelPaymentRequestMessage} CancelPaymentRequestMessage */ CancelPaymentRequestMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.CancelPaymentRequestMessage) return object; var message = new $root.proto.CancelPaymentRequestMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.CancelPaymentRequestMessage.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } return message; }; /** * Creates a plain object from a CancelPaymentRequestMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.CancelPaymentRequestMessage * @static * @param {proto.CancelPaymentRequestMessage} message CancelPaymentRequestMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ CancelPaymentRequestMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.key = null; if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); return object; }; /** * Converts this CancelPaymentRequestMessage to JSON. * @function toJSON * @memberof proto.CancelPaymentRequestMessage * @instance * @returns {Object.} JSON object */ CancelPaymentRequestMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return CancelPaymentRequestMessage; })(); proto.LiveLocationMessage = (function() { /** * Properties of a LiveLocationMessage. * @memberof proto * @interface ILiveLocationMessage * @property {number|null} [degreesLatitude] LiveLocationMessage degreesLatitude * @property {number|null} [degreesLongitude] LiveLocationMessage degreesLongitude * @property {number|null} [accuracyInMeters] LiveLocationMessage accuracyInMeters * @property {number|null} [speedInMps] LiveLocationMessage speedInMps * @property {number|null} [degreesClockwiseFromMagneticNorth] LiveLocationMessage degreesClockwiseFromMagneticNorth * @property {string|null} [caption] LiveLocationMessage caption * @property {number|Long|null} [sequenceNumber] LiveLocationMessage sequenceNumber * @property {number|null} [timeOffset] LiveLocationMessage timeOffset * @property {Uint8Array|null} [jpegThumbnail] LiveLocationMessage jpegThumbnail * @property {proto.IContextInfo|null} [contextInfo] LiveLocationMessage contextInfo */ /** * Constructs a new LiveLocationMessage. * @memberof proto * @classdesc Represents a LiveLocationMessage. * @implements ILiveLocationMessage * @constructor * @param {proto.ILiveLocationMessage=} [properties] Properties to set */ function LiveLocationMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * LiveLocationMessage degreesLatitude. * @member {number} degreesLatitude * @memberof proto.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.degreesLatitude = 0; /** * LiveLocationMessage degreesLongitude. * @member {number} degreesLongitude * @memberof proto.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.degreesLongitude = 0; /** * LiveLocationMessage accuracyInMeters. * @member {number} accuracyInMeters * @memberof proto.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.accuracyInMeters = 0; /** * LiveLocationMessage speedInMps. * @member {number} speedInMps * @memberof proto.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.speedInMps = 0; /** * LiveLocationMessage degreesClockwiseFromMagneticNorth. * @member {number} degreesClockwiseFromMagneticNorth * @memberof proto.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.degreesClockwiseFromMagneticNorth = 0; /** * LiveLocationMessage caption. * @member {string} caption * @memberof proto.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.caption = ""; /** * LiveLocationMessage sequenceNumber. * @member {number|Long} sequenceNumber * @memberof proto.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.sequenceNumber = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * LiveLocationMessage timeOffset. * @member {number} timeOffset * @memberof proto.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.timeOffset = 0; /** * LiveLocationMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * LiveLocationMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.contextInfo = null; /** * Creates a new LiveLocationMessage instance using the specified properties. * @function create * @memberof proto.LiveLocationMessage * @static * @param {proto.ILiveLocationMessage=} [properties] Properties to set * @returns {proto.LiveLocationMessage} LiveLocationMessage instance */ LiveLocationMessage.create = function create(properties) { return new LiveLocationMessage(properties); }; /** * Encodes the specified LiveLocationMessage message. Does not implicitly {@link proto.LiveLocationMessage.verify|verify} messages. * @function encode * @memberof proto.LiveLocationMessage * @static * @param {proto.ILiveLocationMessage} message LiveLocationMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LiveLocationMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.degreesLatitude != null && Object.hasOwnProperty.call(message, "degreesLatitude")) writer.uint32(/* id 1, wireType 1 =*/9).double(message.degreesLatitude); if (message.degreesLongitude != null && Object.hasOwnProperty.call(message, "degreesLongitude")) writer.uint32(/* id 2, wireType 1 =*/17).double(message.degreesLongitude); if (message.accuracyInMeters != null && Object.hasOwnProperty.call(message, "accuracyInMeters")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.accuracyInMeters); if (message.speedInMps != null && Object.hasOwnProperty.call(message, "speedInMps")) writer.uint32(/* id 4, wireType 5 =*/37).float(message.speedInMps); if (message.degreesClockwiseFromMagneticNorth != null && Object.hasOwnProperty.call(message, "degreesClockwiseFromMagneticNorth")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.degreesClockwiseFromMagneticNorth); if (message.caption != null && Object.hasOwnProperty.call(message, "caption")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.caption); if (message.sequenceNumber != null && Object.hasOwnProperty.call(message, "sequenceNumber")) writer.uint32(/* id 7, wireType 0 =*/56).int64(message.sequenceNumber); if (message.timeOffset != null && Object.hasOwnProperty.call(message, "timeOffset")) writer.uint32(/* id 8, wireType 0 =*/64).uint32(message.timeOffset); if (message.jpegThumbnail != null && Object.hasOwnProperty.call(message, "jpegThumbnail")) writer.uint32(/* id 16, wireType 2 =*/130).bytes(message.jpegThumbnail); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); return writer; }; /** * Encodes the specified LiveLocationMessage message, length delimited. Does not implicitly {@link proto.LiveLocationMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.LiveLocationMessage * @static * @param {proto.ILiveLocationMessage} message LiveLocationMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LiveLocationMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a LiveLocationMessage message from the specified reader or buffer. * @function decode * @memberof proto.LiveLocationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.LiveLocationMessage} LiveLocationMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LiveLocationMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.LiveLocationMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.degreesLatitude = reader.double(); break; case 2: message.degreesLongitude = reader.double(); break; case 3: message.accuracyInMeters = reader.uint32(); break; case 4: message.speedInMps = reader.float(); break; case 5: message.degreesClockwiseFromMagneticNorth = reader.uint32(); break; case 6: message.caption = reader.string(); break; case 7: message.sequenceNumber = reader.int64(); break; case 8: message.timeOffset = reader.uint32(); break; case 16: message.jpegThumbnail = reader.bytes(); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a LiveLocationMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.LiveLocationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.LiveLocationMessage} LiveLocationMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LiveLocationMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a LiveLocationMessage message. * @function verify * @memberof proto.LiveLocationMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ LiveLocationMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.degreesLatitude != null && message.hasOwnProperty("degreesLatitude")) if (typeof message.degreesLatitude !== "number") return "degreesLatitude: number expected"; if (message.degreesLongitude != null && message.hasOwnProperty("degreesLongitude")) if (typeof message.degreesLongitude !== "number") return "degreesLongitude: number expected"; if (message.accuracyInMeters != null && message.hasOwnProperty("accuracyInMeters")) if (!$util.isInteger(message.accuracyInMeters)) return "accuracyInMeters: integer expected"; if (message.speedInMps != null && message.hasOwnProperty("speedInMps")) if (typeof message.speedInMps !== "number") return "speedInMps: number expected"; if (message.degreesClockwiseFromMagneticNorth != null && message.hasOwnProperty("degreesClockwiseFromMagneticNorth")) if (!$util.isInteger(message.degreesClockwiseFromMagneticNorth)) return "degreesClockwiseFromMagneticNorth: integer expected"; if (message.caption != null && message.hasOwnProperty("caption")) if (!$util.isString(message.caption)) return "caption: string expected"; if (message.sequenceNumber != null && message.hasOwnProperty("sequenceNumber")) if (!$util.isInteger(message.sequenceNumber) && !(message.sequenceNumber && $util.isInteger(message.sequenceNumber.low) && $util.isInteger(message.sequenceNumber.high))) return "sequenceNumber: integer|Long expected"; if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) if (!$util.isInteger(message.timeOffset)) return "timeOffset: integer expected"; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) if (!(message.jpegThumbnail && typeof message.jpegThumbnail.length === "number" || $util.isString(message.jpegThumbnail))) return "jpegThumbnail: buffer expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } return null; }; /** * Creates a LiveLocationMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.LiveLocationMessage * @static * @param {Object.} object Plain object * @returns {proto.LiveLocationMessage} LiveLocationMessage */ LiveLocationMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.LiveLocationMessage) return object; var message = new $root.proto.LiveLocationMessage(); if (object.degreesLatitude != null) message.degreesLatitude = Number(object.degreesLatitude); if (object.degreesLongitude != null) message.degreesLongitude = Number(object.degreesLongitude); if (object.accuracyInMeters != null) message.accuracyInMeters = object.accuracyInMeters >>> 0; if (object.speedInMps != null) message.speedInMps = Number(object.speedInMps); if (object.degreesClockwiseFromMagneticNorth != null) message.degreesClockwiseFromMagneticNorth = object.degreesClockwiseFromMagneticNorth >>> 0; if (object.caption != null) message.caption = String(object.caption); if (object.sequenceNumber != null) if ($util.Long) (message.sequenceNumber = $util.Long.fromValue(object.sequenceNumber)).unsigned = false; else if (typeof object.sequenceNumber === "string") message.sequenceNumber = parseInt(object.sequenceNumber, 10); else if (typeof object.sequenceNumber === "number") message.sequenceNumber = object.sequenceNumber; else if (typeof object.sequenceNumber === "object") message.sequenceNumber = new $util.LongBits(object.sequenceNumber.low >>> 0, object.sequenceNumber.high >>> 0).toNumber(); if (object.timeOffset != null) message.timeOffset = object.timeOffset >>> 0; if (object.jpegThumbnail != null) if (typeof object.jpegThumbnail === "string") $util.base64.decode(object.jpegThumbnail, message.jpegThumbnail = $util.newBuffer($util.base64.length(object.jpegThumbnail)), 0); else if (object.jpegThumbnail.length) message.jpegThumbnail = object.jpegThumbnail; if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.LiveLocationMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a LiveLocationMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.LiveLocationMessage * @static * @param {proto.LiveLocationMessage} message LiveLocationMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ LiveLocationMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.degreesLatitude = 0; object.degreesLongitude = 0; object.accuracyInMeters = 0; object.speedInMps = 0; object.degreesClockwiseFromMagneticNorth = 0; object.caption = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.sequenceNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.sequenceNumber = options.longs === String ? "0" : 0; object.timeOffset = 0; if (options.bytes === String) object.jpegThumbnail = ""; else { object.jpegThumbnail = []; if (options.bytes !== Array) object.jpegThumbnail = $util.newBuffer(object.jpegThumbnail); } object.contextInfo = null; } if (message.degreesLatitude != null && message.hasOwnProperty("degreesLatitude")) object.degreesLatitude = options.json && !isFinite(message.degreesLatitude) ? String(message.degreesLatitude) : message.degreesLatitude; if (message.degreesLongitude != null && message.hasOwnProperty("degreesLongitude")) object.degreesLongitude = options.json && !isFinite(message.degreesLongitude) ? String(message.degreesLongitude) : message.degreesLongitude; if (message.accuracyInMeters != null && message.hasOwnProperty("accuracyInMeters")) object.accuracyInMeters = message.accuracyInMeters; if (message.speedInMps != null && message.hasOwnProperty("speedInMps")) object.speedInMps = options.json && !isFinite(message.speedInMps) ? String(message.speedInMps) : message.speedInMps; if (message.degreesClockwiseFromMagneticNorth != null && message.hasOwnProperty("degreesClockwiseFromMagneticNorth")) object.degreesClockwiseFromMagneticNorth = message.degreesClockwiseFromMagneticNorth; if (message.caption != null && message.hasOwnProperty("caption")) object.caption = message.caption; if (message.sequenceNumber != null && message.hasOwnProperty("sequenceNumber")) if (typeof message.sequenceNumber === "number") object.sequenceNumber = options.longs === String ? String(message.sequenceNumber) : message.sequenceNumber; else object.sequenceNumber = options.longs === String ? $util.Long.prototype.toString.call(message.sequenceNumber) : options.longs === Number ? new $util.LongBits(message.sequenceNumber.low >>> 0, message.sequenceNumber.high >>> 0).toNumber() : message.sequenceNumber; if (message.timeOffset != null && message.hasOwnProperty("timeOffset")) object.timeOffset = message.timeOffset; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) object.jpegThumbnail = options.bytes === String ? $util.base64.encode(message.jpegThumbnail, 0, message.jpegThumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.jpegThumbnail) : message.jpegThumbnail; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this LiveLocationMessage to JSON. * @function toJSON * @memberof proto.LiveLocationMessage * @instance * @returns {Object.} JSON object */ LiveLocationMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return LiveLocationMessage; })(); proto.StickerMessage = (function() { /** * Properties of a StickerMessage. * @memberof proto * @interface IStickerMessage * @property {string|null} [url] StickerMessage url * @property {Uint8Array|null} [fileSha256] StickerMessage fileSha256 * @property {Uint8Array|null} [fileEncSha256] StickerMessage fileEncSha256 * @property {Uint8Array|null} [mediaKey] StickerMessage mediaKey * @property {string|null} [mimetype] StickerMessage mimetype * @property {number|null} [height] StickerMessage height * @property {number|null} [width] StickerMessage width * @property {string|null} [directPath] StickerMessage directPath * @property {number|Long|null} [fileLength] StickerMessage fileLength * @property {number|Long|null} [mediaKeyTimestamp] StickerMessage mediaKeyTimestamp * @property {number|null} [firstFrameLength] StickerMessage firstFrameLength * @property {Uint8Array|null} [firstFrameSidecar] StickerMessage firstFrameSidecar * @property {boolean|null} [isAnimated] StickerMessage isAnimated * @property {Uint8Array|null} [pngThumbnail] StickerMessage pngThumbnail * @property {proto.IContextInfo|null} [contextInfo] StickerMessage contextInfo */ /** * Constructs a new StickerMessage. * @memberof proto * @classdesc Represents a StickerMessage. * @implements IStickerMessage * @constructor * @param {proto.IStickerMessage=} [properties] Properties to set */ function StickerMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * StickerMessage url. * @member {string} url * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.url = ""; /** * StickerMessage fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.fileSha256 = $util.newBuffer([]); /** * StickerMessage fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.fileEncSha256 = $util.newBuffer([]); /** * StickerMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.mediaKey = $util.newBuffer([]); /** * StickerMessage mimetype. * @member {string} mimetype * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.mimetype = ""; /** * StickerMessage height. * @member {number} height * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.height = 0; /** * StickerMessage width. * @member {number} width * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.width = 0; /** * StickerMessage directPath. * @member {string} directPath * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.directPath = ""; /** * StickerMessage fileLength. * @member {number|Long} fileLength * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * StickerMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * StickerMessage firstFrameLength. * @member {number} firstFrameLength * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.firstFrameLength = 0; /** * StickerMessage firstFrameSidecar. * @member {Uint8Array} firstFrameSidecar * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.firstFrameSidecar = $util.newBuffer([]); /** * StickerMessage isAnimated. * @member {boolean} isAnimated * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.isAnimated = false; /** * StickerMessage pngThumbnail. * @member {Uint8Array} pngThumbnail * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.pngThumbnail = $util.newBuffer([]); /** * StickerMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.StickerMessage * @instance */ StickerMessage.prototype.contextInfo = null; /** * Creates a new StickerMessage instance using the specified properties. * @function create * @memberof proto.StickerMessage * @static * @param {proto.IStickerMessage=} [properties] Properties to set * @returns {proto.StickerMessage} StickerMessage instance */ StickerMessage.create = function create(properties) { return new StickerMessage(properties); }; /** * Encodes the specified StickerMessage message. Does not implicitly {@link proto.StickerMessage.verify|verify} messages. * @function encode * @memberof proto.StickerMessage * @static * @param {proto.IStickerMessage} message StickerMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StickerMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.url); if (message.fileSha256 != null && Object.hasOwnProperty.call(message, "fileSha256")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.fileSha256); if (message.fileEncSha256 != null && Object.hasOwnProperty.call(message, "fileEncSha256")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.fileEncSha256); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.mediaKey); if (message.mimetype != null && Object.hasOwnProperty.call(message, "mimetype")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.mimetype); if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.height); if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 7, wireType 0 =*/56).uint32(message.width); if (message.directPath != null && Object.hasOwnProperty.call(message, "directPath")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.directPath); if (message.fileLength != null && Object.hasOwnProperty.call(message, "fileLength")) writer.uint32(/* id 9, wireType 0 =*/72).uint64(message.fileLength); if (message.mediaKeyTimestamp != null && Object.hasOwnProperty.call(message, "mediaKeyTimestamp")) writer.uint32(/* id 10, wireType 0 =*/80).int64(message.mediaKeyTimestamp); if (message.firstFrameLength != null && Object.hasOwnProperty.call(message, "firstFrameLength")) writer.uint32(/* id 11, wireType 0 =*/88).uint32(message.firstFrameLength); if (message.firstFrameSidecar != null && Object.hasOwnProperty.call(message, "firstFrameSidecar")) writer.uint32(/* id 12, wireType 2 =*/98).bytes(message.firstFrameSidecar); if (message.isAnimated != null && Object.hasOwnProperty.call(message, "isAnimated")) writer.uint32(/* id 13, wireType 0 =*/104).bool(message.isAnimated); if (message.pngThumbnail != null && Object.hasOwnProperty.call(message, "pngThumbnail")) writer.uint32(/* id 16, wireType 2 =*/130).bytes(message.pngThumbnail); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); return writer; }; /** * Encodes the specified StickerMessage message, length delimited. Does not implicitly {@link proto.StickerMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.StickerMessage * @static * @param {proto.IStickerMessage} message StickerMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StickerMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a StickerMessage message from the specified reader or buffer. * @function decode * @memberof proto.StickerMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.StickerMessage} StickerMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StickerMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.StickerMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.url = reader.string(); break; case 2: message.fileSha256 = reader.bytes(); break; case 3: message.fileEncSha256 = reader.bytes(); break; case 4: message.mediaKey = reader.bytes(); break; case 5: message.mimetype = reader.string(); break; case 6: message.height = reader.uint32(); break; case 7: message.width = reader.uint32(); break; case 8: message.directPath = reader.string(); break; case 9: message.fileLength = reader.uint64(); break; case 10: message.mediaKeyTimestamp = reader.int64(); break; case 11: message.firstFrameLength = reader.uint32(); break; case 12: message.firstFrameSidecar = reader.bytes(); break; case 13: message.isAnimated = reader.bool(); break; case 16: message.pngThumbnail = reader.bytes(); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a StickerMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.StickerMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.StickerMessage} StickerMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StickerMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a StickerMessage message. * @function verify * @memberof proto.StickerMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ StickerMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.url != null && message.hasOwnProperty("url")) if (!$util.isString(message.url)) return "url: string expected"; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) if (!(message.fileSha256 && typeof message.fileSha256.length === "number" || $util.isString(message.fileSha256))) return "fileSha256: buffer expected"; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) if (!(message.fileEncSha256 && typeof message.fileEncSha256.length === "number" || $util.isString(message.fileEncSha256))) return "fileEncSha256: buffer expected"; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) if (!(message.mediaKey && typeof message.mediaKey.length === "number" || $util.isString(message.mediaKey))) return "mediaKey: buffer expected"; if (message.mimetype != null && message.hasOwnProperty("mimetype")) if (!$util.isString(message.mimetype)) return "mimetype: string expected"; if (message.height != null && message.hasOwnProperty("height")) if (!$util.isInteger(message.height)) return "height: integer expected"; if (message.width != null && message.hasOwnProperty("width")) if (!$util.isInteger(message.width)) return "width: integer expected"; if (message.directPath != null && message.hasOwnProperty("directPath")) if (!$util.isString(message.directPath)) return "directPath: string expected"; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (!$util.isInteger(message.fileLength) && !(message.fileLength && $util.isInteger(message.fileLength.low) && $util.isInteger(message.fileLength.high))) return "fileLength: integer|Long expected"; if (message.mediaKeyTimestamp != null && message.hasOwnProperty("mediaKeyTimestamp")) if (!$util.isInteger(message.mediaKeyTimestamp) && !(message.mediaKeyTimestamp && $util.isInteger(message.mediaKeyTimestamp.low) && $util.isInteger(message.mediaKeyTimestamp.high))) return "mediaKeyTimestamp: integer|Long expected"; if (message.firstFrameLength != null && message.hasOwnProperty("firstFrameLength")) if (!$util.isInteger(message.firstFrameLength)) return "firstFrameLength: integer expected"; if (message.firstFrameSidecar != null && message.hasOwnProperty("firstFrameSidecar")) if (!(message.firstFrameSidecar && typeof message.firstFrameSidecar.length === "number" || $util.isString(message.firstFrameSidecar))) return "firstFrameSidecar: buffer expected"; if (message.isAnimated != null && message.hasOwnProperty("isAnimated")) if (typeof message.isAnimated !== "boolean") return "isAnimated: boolean expected"; if (message.pngThumbnail != null && message.hasOwnProperty("pngThumbnail")) if (!(message.pngThumbnail && typeof message.pngThumbnail.length === "number" || $util.isString(message.pngThumbnail))) return "pngThumbnail: buffer expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } return null; }; /** * Creates a StickerMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.StickerMessage * @static * @param {Object.} object Plain object * @returns {proto.StickerMessage} StickerMessage */ StickerMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.StickerMessage) return object; var message = new $root.proto.StickerMessage(); if (object.url != null) message.url = String(object.url); if (object.fileSha256 != null) if (typeof object.fileSha256 === "string") $util.base64.decode(object.fileSha256, message.fileSha256 = $util.newBuffer($util.base64.length(object.fileSha256)), 0); else if (object.fileSha256.length) message.fileSha256 = object.fileSha256; if (object.fileEncSha256 != null) if (typeof object.fileEncSha256 === "string") $util.base64.decode(object.fileEncSha256, message.fileEncSha256 = $util.newBuffer($util.base64.length(object.fileEncSha256)), 0); else if (object.fileEncSha256.length) message.fileEncSha256 = object.fileEncSha256; if (object.mediaKey != null) if (typeof object.mediaKey === "string") $util.base64.decode(object.mediaKey, message.mediaKey = $util.newBuffer($util.base64.length(object.mediaKey)), 0); else if (object.mediaKey.length) message.mediaKey = object.mediaKey; if (object.mimetype != null) message.mimetype = String(object.mimetype); if (object.height != null) message.height = object.height >>> 0; if (object.width != null) message.width = object.width >>> 0; if (object.directPath != null) message.directPath = String(object.directPath); if (object.fileLength != null) if ($util.Long) (message.fileLength = $util.Long.fromValue(object.fileLength)).unsigned = true; else if (typeof object.fileLength === "string") message.fileLength = parseInt(object.fileLength, 10); else if (typeof object.fileLength === "number") message.fileLength = object.fileLength; else if (typeof object.fileLength === "object") message.fileLength = new $util.LongBits(object.fileLength.low >>> 0, object.fileLength.high >>> 0).toNumber(true); if (object.mediaKeyTimestamp != null) if ($util.Long) (message.mediaKeyTimestamp = $util.Long.fromValue(object.mediaKeyTimestamp)).unsigned = false; else if (typeof object.mediaKeyTimestamp === "string") message.mediaKeyTimestamp = parseInt(object.mediaKeyTimestamp, 10); else if (typeof object.mediaKeyTimestamp === "number") message.mediaKeyTimestamp = object.mediaKeyTimestamp; else if (typeof object.mediaKeyTimestamp === "object") message.mediaKeyTimestamp = new $util.LongBits(object.mediaKeyTimestamp.low >>> 0, object.mediaKeyTimestamp.high >>> 0).toNumber(); if (object.firstFrameLength != null) message.firstFrameLength = object.firstFrameLength >>> 0; if (object.firstFrameSidecar != null) if (typeof object.firstFrameSidecar === "string") $util.base64.decode(object.firstFrameSidecar, message.firstFrameSidecar = $util.newBuffer($util.base64.length(object.firstFrameSidecar)), 0); else if (object.firstFrameSidecar.length) message.firstFrameSidecar = object.firstFrameSidecar; if (object.isAnimated != null) message.isAnimated = Boolean(object.isAnimated); if (object.pngThumbnail != null) if (typeof object.pngThumbnail === "string") $util.base64.decode(object.pngThumbnail, message.pngThumbnail = $util.newBuffer($util.base64.length(object.pngThumbnail)), 0); else if (object.pngThumbnail.length) message.pngThumbnail = object.pngThumbnail; if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.StickerMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a StickerMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.StickerMessage * @static * @param {proto.StickerMessage} message StickerMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ StickerMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.url = ""; if (options.bytes === String) object.fileSha256 = ""; else { object.fileSha256 = []; if (options.bytes !== Array) object.fileSha256 = $util.newBuffer(object.fileSha256); } if (options.bytes === String) object.fileEncSha256 = ""; else { object.fileEncSha256 = []; if (options.bytes !== Array) object.fileEncSha256 = $util.newBuffer(object.fileEncSha256); } if (options.bytes === String) object.mediaKey = ""; else { object.mediaKey = []; if (options.bytes !== Array) object.mediaKey = $util.newBuffer(object.mediaKey); } object.mimetype = ""; object.height = 0; object.width = 0; object.directPath = ""; if ($util.Long) { var long = new $util.Long(0, 0, true); object.fileLength = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.fileLength = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.mediaKeyTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.mediaKeyTimestamp = options.longs === String ? "0" : 0; object.firstFrameLength = 0; if (options.bytes === String) object.firstFrameSidecar = ""; else { object.firstFrameSidecar = []; if (options.bytes !== Array) object.firstFrameSidecar = $util.newBuffer(object.firstFrameSidecar); } object.isAnimated = false; if (options.bytes === String) object.pngThumbnail = ""; else { object.pngThumbnail = []; if (options.bytes !== Array) object.pngThumbnail = $util.newBuffer(object.pngThumbnail); } object.contextInfo = null; } if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) object.fileSha256 = options.bytes === String ? $util.base64.encode(message.fileSha256, 0, message.fileSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileSha256) : message.fileSha256; if (message.fileEncSha256 != null && message.hasOwnProperty("fileEncSha256")) object.fileEncSha256 = options.bytes === String ? $util.base64.encode(message.fileEncSha256, 0, message.fileEncSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.fileEncSha256) : message.fileEncSha256; if (message.mediaKey != null && message.hasOwnProperty("mediaKey")) object.mediaKey = options.bytes === String ? $util.base64.encode(message.mediaKey, 0, message.mediaKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.mediaKey) : message.mediaKey; if (message.mimetype != null && message.hasOwnProperty("mimetype")) object.mimetype = message.mimetype; if (message.height != null && message.hasOwnProperty("height")) object.height = message.height; if (message.width != null && message.hasOwnProperty("width")) object.width = message.width; if (message.directPath != null && message.hasOwnProperty("directPath")) object.directPath = message.directPath; if (message.fileLength != null && message.hasOwnProperty("fileLength")) if (typeof message.fileLength === "number") object.fileLength = options.longs === String ? String(message.fileLength) : message.fileLength; else object.fileLength = options.longs === String ? $util.Long.prototype.toString.call(message.fileLength) : options.longs === Number ? new $util.LongBits(message.fileLength.low >>> 0, message.fileLength.high >>> 0).toNumber(true) : message.fileLength; if (message.mediaKeyTimestamp != null && message.hasOwnProperty("mediaKeyTimestamp")) if (typeof message.mediaKeyTimestamp === "number") object.mediaKeyTimestamp = options.longs === String ? String(message.mediaKeyTimestamp) : message.mediaKeyTimestamp; else object.mediaKeyTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.mediaKeyTimestamp) : options.longs === Number ? new $util.LongBits(message.mediaKeyTimestamp.low >>> 0, message.mediaKeyTimestamp.high >>> 0).toNumber() : message.mediaKeyTimestamp; if (message.firstFrameLength != null && message.hasOwnProperty("firstFrameLength")) object.firstFrameLength = message.firstFrameLength; if (message.firstFrameSidecar != null && message.hasOwnProperty("firstFrameSidecar")) object.firstFrameSidecar = options.bytes === String ? $util.base64.encode(message.firstFrameSidecar, 0, message.firstFrameSidecar.length) : options.bytes === Array ? Array.prototype.slice.call(message.firstFrameSidecar) : message.firstFrameSidecar; if (message.isAnimated != null && message.hasOwnProperty("isAnimated")) object.isAnimated = message.isAnimated; if (message.pngThumbnail != null && message.hasOwnProperty("pngThumbnail")) object.pngThumbnail = options.bytes === String ? $util.base64.encode(message.pngThumbnail, 0, message.pngThumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.pngThumbnail) : message.pngThumbnail; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this StickerMessage to JSON. * @function toJSON * @memberof proto.StickerMessage * @instance * @returns {Object.} JSON object */ StickerMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return StickerMessage; })(); proto.FourRowTemplate = (function() { /** * Properties of a FourRowTemplate. * @memberof proto * @interface IFourRowTemplate * @property {proto.IHighlyStructuredMessage|null} [content] FourRowTemplate content * @property {proto.IHighlyStructuredMessage|null} [footer] FourRowTemplate footer * @property {Array.|null} [buttons] FourRowTemplate buttons * @property {proto.IDocumentMessage|null} [documentMessage] FourRowTemplate documentMessage * @property {proto.IHighlyStructuredMessage|null} [highlyStructuredMessage] FourRowTemplate highlyStructuredMessage * @property {proto.IImageMessage|null} [imageMessage] FourRowTemplate imageMessage * @property {proto.IVideoMessage|null} [videoMessage] FourRowTemplate videoMessage * @property {proto.ILocationMessage|null} [locationMessage] FourRowTemplate locationMessage */ /** * Constructs a new FourRowTemplate. * @memberof proto * @classdesc Represents a FourRowTemplate. * @implements IFourRowTemplate * @constructor * @param {proto.IFourRowTemplate=} [properties] Properties to set */ function FourRowTemplate(properties) { this.buttons = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * FourRowTemplate content. * @member {proto.IHighlyStructuredMessage|null|undefined} content * @memberof proto.FourRowTemplate * @instance */ FourRowTemplate.prototype.content = null; /** * FourRowTemplate footer. * @member {proto.IHighlyStructuredMessage|null|undefined} footer * @memberof proto.FourRowTemplate * @instance */ FourRowTemplate.prototype.footer = null; /** * FourRowTemplate buttons. * @member {Array.} buttons * @memberof proto.FourRowTemplate * @instance */ FourRowTemplate.prototype.buttons = $util.emptyArray; /** * FourRowTemplate documentMessage. * @member {proto.IDocumentMessage|null|undefined} documentMessage * @memberof proto.FourRowTemplate * @instance */ FourRowTemplate.prototype.documentMessage = null; /** * FourRowTemplate highlyStructuredMessage. * @member {proto.IHighlyStructuredMessage|null|undefined} highlyStructuredMessage * @memberof proto.FourRowTemplate * @instance */ FourRowTemplate.prototype.highlyStructuredMessage = null; /** * FourRowTemplate imageMessage. * @member {proto.IImageMessage|null|undefined} imageMessage * @memberof proto.FourRowTemplate * @instance */ FourRowTemplate.prototype.imageMessage = null; /** * FourRowTemplate videoMessage. * @member {proto.IVideoMessage|null|undefined} videoMessage * @memberof proto.FourRowTemplate * @instance */ FourRowTemplate.prototype.videoMessage = null; /** * FourRowTemplate locationMessage. * @member {proto.ILocationMessage|null|undefined} locationMessage * @memberof proto.FourRowTemplate * @instance */ FourRowTemplate.prototype.locationMessage = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * FourRowTemplate title. * @member {"documentMessage"|"highlyStructuredMessage"|"imageMessage"|"videoMessage"|"locationMessage"|undefined} title * @memberof proto.FourRowTemplate * @instance */ Object.defineProperty(FourRowTemplate.prototype, "title", { get: $util.oneOfGetter($oneOfFields = ["documentMessage", "highlyStructuredMessage", "imageMessage", "videoMessage", "locationMessage"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new FourRowTemplate instance using the specified properties. * @function create * @memberof proto.FourRowTemplate * @static * @param {proto.IFourRowTemplate=} [properties] Properties to set * @returns {proto.FourRowTemplate} FourRowTemplate instance */ FourRowTemplate.create = function create(properties) { return new FourRowTemplate(properties); }; /** * Encodes the specified FourRowTemplate message. Does not implicitly {@link proto.FourRowTemplate.verify|verify} messages. * @function encode * @memberof proto.FourRowTemplate * @static * @param {proto.IFourRowTemplate} message FourRowTemplate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ FourRowTemplate.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.documentMessage != null && Object.hasOwnProperty.call(message, "documentMessage")) $root.proto.DocumentMessage.encode(message.documentMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.highlyStructuredMessage != null && Object.hasOwnProperty.call(message, "highlyStructuredMessage")) $root.proto.HighlyStructuredMessage.encode(message.highlyStructuredMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.imageMessage != null && Object.hasOwnProperty.call(message, "imageMessage")) $root.proto.ImageMessage.encode(message.imageMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.videoMessage != null && Object.hasOwnProperty.call(message, "videoMessage")) $root.proto.VideoMessage.encode(message.videoMessage, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.locationMessage != null && Object.hasOwnProperty.call(message, "locationMessage")) $root.proto.LocationMessage.encode(message.locationMessage, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.content != null && Object.hasOwnProperty.call(message, "content")) $root.proto.HighlyStructuredMessage.encode(message.content, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.footer != null && Object.hasOwnProperty.call(message, "footer")) $root.proto.HighlyStructuredMessage.encode(message.footer, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.buttons != null && message.buttons.length) for (var i = 0; i < message.buttons.length; ++i) $root.proto.TemplateButton.encode(message.buttons[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); return writer; }; /** * Encodes the specified FourRowTemplate message, length delimited. Does not implicitly {@link proto.FourRowTemplate.verify|verify} messages. * @function encodeDelimited * @memberof proto.FourRowTemplate * @static * @param {proto.IFourRowTemplate} message FourRowTemplate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ FourRowTemplate.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a FourRowTemplate message from the specified reader or buffer. * @function decode * @memberof proto.FourRowTemplate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.FourRowTemplate} FourRowTemplate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ FourRowTemplate.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.FourRowTemplate(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 6: message.content = $root.proto.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 7: message.footer = $root.proto.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 8: if (!(message.buttons && message.buttons.length)) message.buttons = []; message.buttons.push($root.proto.TemplateButton.decode(reader, reader.uint32())); break; case 1: message.documentMessage = $root.proto.DocumentMessage.decode(reader, reader.uint32()); break; case 2: message.highlyStructuredMessage = $root.proto.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 3: message.imageMessage = $root.proto.ImageMessage.decode(reader, reader.uint32()); break; case 4: message.videoMessage = $root.proto.VideoMessage.decode(reader, reader.uint32()); break; case 5: message.locationMessage = $root.proto.LocationMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a FourRowTemplate message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.FourRowTemplate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.FourRowTemplate} FourRowTemplate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ FourRowTemplate.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a FourRowTemplate message. * @function verify * @memberof proto.FourRowTemplate * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ FourRowTemplate.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.content != null && message.hasOwnProperty("content")) { var error = $root.proto.HighlyStructuredMessage.verify(message.content); if (error) return "content." + error; } if (message.footer != null && message.hasOwnProperty("footer")) { var error = $root.proto.HighlyStructuredMessage.verify(message.footer); if (error) return "footer." + error; } if (message.buttons != null && message.hasOwnProperty("buttons")) { if (!Array.isArray(message.buttons)) return "buttons: array expected"; for (var i = 0; i < message.buttons.length; ++i) { var error = $root.proto.TemplateButton.verify(message.buttons[i]); if (error) return "buttons." + error; } } if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) { properties.title = 1; { var error = $root.proto.DocumentMessage.verify(message.documentMessage); if (error) return "documentMessage." + error; } } if (message.highlyStructuredMessage != null && message.hasOwnProperty("highlyStructuredMessage")) { if (properties.title === 1) return "title: multiple values"; properties.title = 1; { var error = $root.proto.HighlyStructuredMessage.verify(message.highlyStructuredMessage); if (error) return "highlyStructuredMessage." + error; } } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { if (properties.title === 1) return "title: multiple values"; properties.title = 1; { var error = $root.proto.ImageMessage.verify(message.imageMessage); if (error) return "imageMessage." + error; } } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { if (properties.title === 1) return "title: multiple values"; properties.title = 1; { var error = $root.proto.VideoMessage.verify(message.videoMessage); if (error) return "videoMessage." + error; } } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { if (properties.title === 1) return "title: multiple values"; properties.title = 1; { var error = $root.proto.LocationMessage.verify(message.locationMessage); if (error) return "locationMessage." + error; } } return null; }; /** * Creates a FourRowTemplate message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.FourRowTemplate * @static * @param {Object.} object Plain object * @returns {proto.FourRowTemplate} FourRowTemplate */ FourRowTemplate.fromObject = function fromObject(object) { if (object instanceof $root.proto.FourRowTemplate) return object; var message = new $root.proto.FourRowTemplate(); if (object.content != null) { if (typeof object.content !== "object") throw TypeError(".proto.FourRowTemplate.content: object expected"); message.content = $root.proto.HighlyStructuredMessage.fromObject(object.content); } if (object.footer != null) { if (typeof object.footer !== "object") throw TypeError(".proto.FourRowTemplate.footer: object expected"); message.footer = $root.proto.HighlyStructuredMessage.fromObject(object.footer); } if (object.buttons) { if (!Array.isArray(object.buttons)) throw TypeError(".proto.FourRowTemplate.buttons: array expected"); message.buttons = []; for (var i = 0; i < object.buttons.length; ++i) { if (typeof object.buttons[i] !== "object") throw TypeError(".proto.FourRowTemplate.buttons: object expected"); message.buttons[i] = $root.proto.TemplateButton.fromObject(object.buttons[i]); } } if (object.documentMessage != null) { if (typeof object.documentMessage !== "object") throw TypeError(".proto.FourRowTemplate.documentMessage: object expected"); message.documentMessage = $root.proto.DocumentMessage.fromObject(object.documentMessage); } if (object.highlyStructuredMessage != null) { if (typeof object.highlyStructuredMessage !== "object") throw TypeError(".proto.FourRowTemplate.highlyStructuredMessage: object expected"); message.highlyStructuredMessage = $root.proto.HighlyStructuredMessage.fromObject(object.highlyStructuredMessage); } if (object.imageMessage != null) { if (typeof object.imageMessage !== "object") throw TypeError(".proto.FourRowTemplate.imageMessage: object expected"); message.imageMessage = $root.proto.ImageMessage.fromObject(object.imageMessage); } if (object.videoMessage != null) { if (typeof object.videoMessage !== "object") throw TypeError(".proto.FourRowTemplate.videoMessage: object expected"); message.videoMessage = $root.proto.VideoMessage.fromObject(object.videoMessage); } if (object.locationMessage != null) { if (typeof object.locationMessage !== "object") throw TypeError(".proto.FourRowTemplate.locationMessage: object expected"); message.locationMessage = $root.proto.LocationMessage.fromObject(object.locationMessage); } return message; }; /** * Creates a plain object from a FourRowTemplate message. Also converts values to other types if specified. * @function toObject * @memberof proto.FourRowTemplate * @static * @param {proto.FourRowTemplate} message FourRowTemplate * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ FourRowTemplate.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.buttons = []; if (options.defaults) { object.content = null; object.footer = null; } if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) { object.documentMessage = $root.proto.DocumentMessage.toObject(message.documentMessage, options); if (options.oneofs) object.title = "documentMessage"; } if (message.highlyStructuredMessage != null && message.hasOwnProperty("highlyStructuredMessage")) { object.highlyStructuredMessage = $root.proto.HighlyStructuredMessage.toObject(message.highlyStructuredMessage, options); if (options.oneofs) object.title = "highlyStructuredMessage"; } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { object.imageMessage = $root.proto.ImageMessage.toObject(message.imageMessage, options); if (options.oneofs) object.title = "imageMessage"; } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { object.videoMessage = $root.proto.VideoMessage.toObject(message.videoMessage, options); if (options.oneofs) object.title = "videoMessage"; } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { object.locationMessage = $root.proto.LocationMessage.toObject(message.locationMessage, options); if (options.oneofs) object.title = "locationMessage"; } if (message.content != null && message.hasOwnProperty("content")) object.content = $root.proto.HighlyStructuredMessage.toObject(message.content, options); if (message.footer != null && message.hasOwnProperty("footer")) object.footer = $root.proto.HighlyStructuredMessage.toObject(message.footer, options); if (message.buttons && message.buttons.length) { object.buttons = []; for (var j = 0; j < message.buttons.length; ++j) object.buttons[j] = $root.proto.TemplateButton.toObject(message.buttons[j], options); } return object; }; /** * Converts this FourRowTemplate to JSON. * @function toJSON * @memberof proto.FourRowTemplate * @instance * @returns {Object.} JSON object */ FourRowTemplate.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return FourRowTemplate; })(); proto.HydratedFourRowTemplate = (function() { /** * Properties of a HydratedFourRowTemplate. * @memberof proto * @interface IHydratedFourRowTemplate * @property {string|null} [hydratedContentText] HydratedFourRowTemplate hydratedContentText * @property {string|null} [hydratedFooterText] HydratedFourRowTemplate hydratedFooterText * @property {Array.|null} [hydratedButtons] HydratedFourRowTemplate hydratedButtons * @property {string|null} [templateId] HydratedFourRowTemplate templateId * @property {proto.IDocumentMessage|null} [documentMessage] HydratedFourRowTemplate documentMessage * @property {string|null} [hydratedTitleText] HydratedFourRowTemplate hydratedTitleText * @property {proto.IImageMessage|null} [imageMessage] HydratedFourRowTemplate imageMessage * @property {proto.IVideoMessage|null} [videoMessage] HydratedFourRowTemplate videoMessage * @property {proto.ILocationMessage|null} [locationMessage] HydratedFourRowTemplate locationMessage */ /** * Constructs a new HydratedFourRowTemplate. * @memberof proto * @classdesc Represents a HydratedFourRowTemplate. * @implements IHydratedFourRowTemplate * @constructor * @param {proto.IHydratedFourRowTemplate=} [properties] Properties to set */ function HydratedFourRowTemplate(properties) { this.hydratedButtons = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * HydratedFourRowTemplate hydratedContentText. * @member {string} hydratedContentText * @memberof proto.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.hydratedContentText = ""; /** * HydratedFourRowTemplate hydratedFooterText. * @member {string} hydratedFooterText * @memberof proto.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.hydratedFooterText = ""; /** * HydratedFourRowTemplate hydratedButtons. * @member {Array.} hydratedButtons * @memberof proto.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.hydratedButtons = $util.emptyArray; /** * HydratedFourRowTemplate templateId. * @member {string} templateId * @memberof proto.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.templateId = ""; /** * HydratedFourRowTemplate documentMessage. * @member {proto.IDocumentMessage|null|undefined} documentMessage * @memberof proto.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.documentMessage = null; /** * HydratedFourRowTemplate hydratedTitleText. * @member {string} hydratedTitleText * @memberof proto.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.hydratedTitleText = ""; /** * HydratedFourRowTemplate imageMessage. * @member {proto.IImageMessage|null|undefined} imageMessage * @memberof proto.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.imageMessage = null; /** * HydratedFourRowTemplate videoMessage. * @member {proto.IVideoMessage|null|undefined} videoMessage * @memberof proto.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.videoMessage = null; /** * HydratedFourRowTemplate locationMessage. * @member {proto.ILocationMessage|null|undefined} locationMessage * @memberof proto.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.locationMessage = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * HydratedFourRowTemplate title. * @member {"documentMessage"|"hydratedTitleText"|"imageMessage"|"videoMessage"|"locationMessage"|undefined} title * @memberof proto.HydratedFourRowTemplate * @instance */ Object.defineProperty(HydratedFourRowTemplate.prototype, "title", { get: $util.oneOfGetter($oneOfFields = ["documentMessage", "hydratedTitleText", "imageMessage", "videoMessage", "locationMessage"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new HydratedFourRowTemplate instance using the specified properties. * @function create * @memberof proto.HydratedFourRowTemplate * @static * @param {proto.IHydratedFourRowTemplate=} [properties] Properties to set * @returns {proto.HydratedFourRowTemplate} HydratedFourRowTemplate instance */ HydratedFourRowTemplate.create = function create(properties) { return new HydratedFourRowTemplate(properties); }; /** * Encodes the specified HydratedFourRowTemplate message. Does not implicitly {@link proto.HydratedFourRowTemplate.verify|verify} messages. * @function encode * @memberof proto.HydratedFourRowTemplate * @static * @param {proto.IHydratedFourRowTemplate} message HydratedFourRowTemplate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HydratedFourRowTemplate.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.documentMessage != null && Object.hasOwnProperty.call(message, "documentMessage")) $root.proto.DocumentMessage.encode(message.documentMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.hydratedTitleText != null && Object.hasOwnProperty.call(message, "hydratedTitleText")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.hydratedTitleText); if (message.imageMessage != null && Object.hasOwnProperty.call(message, "imageMessage")) $root.proto.ImageMessage.encode(message.imageMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.videoMessage != null && Object.hasOwnProperty.call(message, "videoMessage")) $root.proto.VideoMessage.encode(message.videoMessage, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.locationMessage != null && Object.hasOwnProperty.call(message, "locationMessage")) $root.proto.LocationMessage.encode(message.locationMessage, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.hydratedContentText != null && Object.hasOwnProperty.call(message, "hydratedContentText")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.hydratedContentText); if (message.hydratedFooterText != null && Object.hasOwnProperty.call(message, "hydratedFooterText")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.hydratedFooterText); if (message.hydratedButtons != null && message.hydratedButtons.length) for (var i = 0; i < message.hydratedButtons.length; ++i) $root.proto.HydratedTemplateButton.encode(message.hydratedButtons[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.templateId != null && Object.hasOwnProperty.call(message, "templateId")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.templateId); return writer; }; /** * Encodes the specified HydratedFourRowTemplate message, length delimited. Does not implicitly {@link proto.HydratedFourRowTemplate.verify|verify} messages. * @function encodeDelimited * @memberof proto.HydratedFourRowTemplate * @static * @param {proto.IHydratedFourRowTemplate} message HydratedFourRowTemplate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HydratedFourRowTemplate.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HydratedFourRowTemplate message from the specified reader or buffer. * @function decode * @memberof proto.HydratedFourRowTemplate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HydratedFourRowTemplate} HydratedFourRowTemplate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HydratedFourRowTemplate.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.HydratedFourRowTemplate(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 6: message.hydratedContentText = reader.string(); break; case 7: message.hydratedFooterText = reader.string(); break; case 8: if (!(message.hydratedButtons && message.hydratedButtons.length)) message.hydratedButtons = []; message.hydratedButtons.push($root.proto.HydratedTemplateButton.decode(reader, reader.uint32())); break; case 9: message.templateId = reader.string(); break; case 1: message.documentMessage = $root.proto.DocumentMessage.decode(reader, reader.uint32()); break; case 2: message.hydratedTitleText = reader.string(); break; case 3: message.imageMessage = $root.proto.ImageMessage.decode(reader, reader.uint32()); break; case 4: message.videoMessage = $root.proto.VideoMessage.decode(reader, reader.uint32()); break; case 5: message.locationMessage = $root.proto.LocationMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HydratedFourRowTemplate message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HydratedFourRowTemplate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HydratedFourRowTemplate} HydratedFourRowTemplate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HydratedFourRowTemplate.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HydratedFourRowTemplate message. * @function verify * @memberof proto.HydratedFourRowTemplate * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HydratedFourRowTemplate.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.hydratedContentText != null && message.hasOwnProperty("hydratedContentText")) if (!$util.isString(message.hydratedContentText)) return "hydratedContentText: string expected"; if (message.hydratedFooterText != null && message.hasOwnProperty("hydratedFooterText")) if (!$util.isString(message.hydratedFooterText)) return "hydratedFooterText: string expected"; if (message.hydratedButtons != null && message.hasOwnProperty("hydratedButtons")) { if (!Array.isArray(message.hydratedButtons)) return "hydratedButtons: array expected"; for (var i = 0; i < message.hydratedButtons.length; ++i) { var error = $root.proto.HydratedTemplateButton.verify(message.hydratedButtons[i]); if (error) return "hydratedButtons." + error; } } if (message.templateId != null && message.hasOwnProperty("templateId")) if (!$util.isString(message.templateId)) return "templateId: string expected"; if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) { properties.title = 1; { var error = $root.proto.DocumentMessage.verify(message.documentMessage); if (error) return "documentMessage." + error; } } if (message.hydratedTitleText != null && message.hasOwnProperty("hydratedTitleText")) { if (properties.title === 1) return "title: multiple values"; properties.title = 1; if (!$util.isString(message.hydratedTitleText)) return "hydratedTitleText: string expected"; } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { if (properties.title === 1) return "title: multiple values"; properties.title = 1; { var error = $root.proto.ImageMessage.verify(message.imageMessage); if (error) return "imageMessage." + error; } } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { if (properties.title === 1) return "title: multiple values"; properties.title = 1; { var error = $root.proto.VideoMessage.verify(message.videoMessage); if (error) return "videoMessage." + error; } } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { if (properties.title === 1) return "title: multiple values"; properties.title = 1; { var error = $root.proto.LocationMessage.verify(message.locationMessage); if (error) return "locationMessage." + error; } } return null; }; /** * Creates a HydratedFourRowTemplate message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HydratedFourRowTemplate * @static * @param {Object.} object Plain object * @returns {proto.HydratedFourRowTemplate} HydratedFourRowTemplate */ HydratedFourRowTemplate.fromObject = function fromObject(object) { if (object instanceof $root.proto.HydratedFourRowTemplate) return object; var message = new $root.proto.HydratedFourRowTemplate(); if (object.hydratedContentText != null) message.hydratedContentText = String(object.hydratedContentText); if (object.hydratedFooterText != null) message.hydratedFooterText = String(object.hydratedFooterText); if (object.hydratedButtons) { if (!Array.isArray(object.hydratedButtons)) throw TypeError(".proto.HydratedFourRowTemplate.hydratedButtons: array expected"); message.hydratedButtons = []; for (var i = 0; i < object.hydratedButtons.length; ++i) { if (typeof object.hydratedButtons[i] !== "object") throw TypeError(".proto.HydratedFourRowTemplate.hydratedButtons: object expected"); message.hydratedButtons[i] = $root.proto.HydratedTemplateButton.fromObject(object.hydratedButtons[i]); } } if (object.templateId != null) message.templateId = String(object.templateId); if (object.documentMessage != null) { if (typeof object.documentMessage !== "object") throw TypeError(".proto.HydratedFourRowTemplate.documentMessage: object expected"); message.documentMessage = $root.proto.DocumentMessage.fromObject(object.documentMessage); } if (object.hydratedTitleText != null) message.hydratedTitleText = String(object.hydratedTitleText); if (object.imageMessage != null) { if (typeof object.imageMessage !== "object") throw TypeError(".proto.HydratedFourRowTemplate.imageMessage: object expected"); message.imageMessage = $root.proto.ImageMessage.fromObject(object.imageMessage); } if (object.videoMessage != null) { if (typeof object.videoMessage !== "object") throw TypeError(".proto.HydratedFourRowTemplate.videoMessage: object expected"); message.videoMessage = $root.proto.VideoMessage.fromObject(object.videoMessage); } if (object.locationMessage != null) { if (typeof object.locationMessage !== "object") throw TypeError(".proto.HydratedFourRowTemplate.locationMessage: object expected"); message.locationMessage = $root.proto.LocationMessage.fromObject(object.locationMessage); } return message; }; /** * Creates a plain object from a HydratedFourRowTemplate message. Also converts values to other types if specified. * @function toObject * @memberof proto.HydratedFourRowTemplate * @static * @param {proto.HydratedFourRowTemplate} message HydratedFourRowTemplate * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ HydratedFourRowTemplate.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.hydratedButtons = []; if (options.defaults) { object.hydratedContentText = ""; object.hydratedFooterText = ""; object.templateId = ""; } if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) { object.documentMessage = $root.proto.DocumentMessage.toObject(message.documentMessage, options); if (options.oneofs) object.title = "documentMessage"; } if (message.hydratedTitleText != null && message.hasOwnProperty("hydratedTitleText")) { object.hydratedTitleText = message.hydratedTitleText; if (options.oneofs) object.title = "hydratedTitleText"; } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { object.imageMessage = $root.proto.ImageMessage.toObject(message.imageMessage, options); if (options.oneofs) object.title = "imageMessage"; } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { object.videoMessage = $root.proto.VideoMessage.toObject(message.videoMessage, options); if (options.oneofs) object.title = "videoMessage"; } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { object.locationMessage = $root.proto.LocationMessage.toObject(message.locationMessage, options); if (options.oneofs) object.title = "locationMessage"; } if (message.hydratedContentText != null && message.hasOwnProperty("hydratedContentText")) object.hydratedContentText = message.hydratedContentText; if (message.hydratedFooterText != null && message.hasOwnProperty("hydratedFooterText")) object.hydratedFooterText = message.hydratedFooterText; if (message.hydratedButtons && message.hydratedButtons.length) { object.hydratedButtons = []; for (var j = 0; j < message.hydratedButtons.length; ++j) object.hydratedButtons[j] = $root.proto.HydratedTemplateButton.toObject(message.hydratedButtons[j], options); } if (message.templateId != null && message.hasOwnProperty("templateId")) object.templateId = message.templateId; return object; }; /** * Converts this HydratedFourRowTemplate to JSON. * @function toJSON * @memberof proto.HydratedFourRowTemplate * @instance * @returns {Object.} JSON object */ HydratedFourRowTemplate.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HydratedFourRowTemplate; })(); proto.TemplateMessage = (function() { /** * Properties of a TemplateMessage. * @memberof proto * @interface ITemplateMessage * @property {proto.IContextInfo|null} [contextInfo] TemplateMessage contextInfo * @property {proto.IHydratedFourRowTemplate|null} [hydratedTemplate] TemplateMessage hydratedTemplate * @property {proto.IFourRowTemplate|null} [fourRowTemplate] TemplateMessage fourRowTemplate * @property {proto.IHydratedFourRowTemplate|null} [hydratedFourRowTemplate] TemplateMessage hydratedFourRowTemplate */ /** * Constructs a new TemplateMessage. * @memberof proto * @classdesc Represents a TemplateMessage. * @implements ITemplateMessage * @constructor * @param {proto.ITemplateMessage=} [properties] Properties to set */ function TemplateMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * TemplateMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.TemplateMessage * @instance */ TemplateMessage.prototype.contextInfo = null; /** * TemplateMessage hydratedTemplate. * @member {proto.IHydratedFourRowTemplate|null|undefined} hydratedTemplate * @memberof proto.TemplateMessage * @instance */ TemplateMessage.prototype.hydratedTemplate = null; /** * TemplateMessage fourRowTemplate. * @member {proto.IFourRowTemplate|null|undefined} fourRowTemplate * @memberof proto.TemplateMessage * @instance */ TemplateMessage.prototype.fourRowTemplate = null; /** * TemplateMessage hydratedFourRowTemplate. * @member {proto.IHydratedFourRowTemplate|null|undefined} hydratedFourRowTemplate * @memberof proto.TemplateMessage * @instance */ TemplateMessage.prototype.hydratedFourRowTemplate = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * TemplateMessage format. * @member {"fourRowTemplate"|"hydratedFourRowTemplate"|undefined} format * @memberof proto.TemplateMessage * @instance */ Object.defineProperty(TemplateMessage.prototype, "format", { get: $util.oneOfGetter($oneOfFields = ["fourRowTemplate", "hydratedFourRowTemplate"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new TemplateMessage instance using the specified properties. * @function create * @memberof proto.TemplateMessage * @static * @param {proto.ITemplateMessage=} [properties] Properties to set * @returns {proto.TemplateMessage} TemplateMessage instance */ TemplateMessage.create = function create(properties) { return new TemplateMessage(properties); }; /** * Encodes the specified TemplateMessage message. Does not implicitly {@link proto.TemplateMessage.verify|verify} messages. * @function encode * @memberof proto.TemplateMessage * @static * @param {proto.ITemplateMessage} message TemplateMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ TemplateMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.fourRowTemplate != null && Object.hasOwnProperty.call(message, "fourRowTemplate")) $root.proto.FourRowTemplate.encode(message.fourRowTemplate, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.hydratedFourRowTemplate != null && Object.hasOwnProperty.call(message, "hydratedFourRowTemplate")) $root.proto.HydratedFourRowTemplate.encode(message.hydratedFourRowTemplate, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.hydratedTemplate != null && Object.hasOwnProperty.call(message, "hydratedTemplate")) $root.proto.HydratedFourRowTemplate.encode(message.hydratedTemplate, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** * Encodes the specified TemplateMessage message, length delimited. Does not implicitly {@link proto.TemplateMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.TemplateMessage * @static * @param {proto.ITemplateMessage} message TemplateMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ TemplateMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a TemplateMessage message from the specified reader or buffer. * @function decode * @memberof proto.TemplateMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.TemplateMessage} TemplateMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ TemplateMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.TemplateMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 3: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 4: message.hydratedTemplate = $root.proto.HydratedFourRowTemplate.decode(reader, reader.uint32()); break; case 1: message.fourRowTemplate = $root.proto.FourRowTemplate.decode(reader, reader.uint32()); break; case 2: message.hydratedFourRowTemplate = $root.proto.HydratedFourRowTemplate.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a TemplateMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.TemplateMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.TemplateMessage} TemplateMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ TemplateMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a TemplateMessage message. * @function verify * @memberof proto.TemplateMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ TemplateMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } if (message.hydratedTemplate != null && message.hasOwnProperty("hydratedTemplate")) { var error = $root.proto.HydratedFourRowTemplate.verify(message.hydratedTemplate); if (error) return "hydratedTemplate." + error; } if (message.fourRowTemplate != null && message.hasOwnProperty("fourRowTemplate")) { properties.format = 1; { var error = $root.proto.FourRowTemplate.verify(message.fourRowTemplate); if (error) return "fourRowTemplate." + error; } } if (message.hydratedFourRowTemplate != null && message.hasOwnProperty("hydratedFourRowTemplate")) { if (properties.format === 1) return "format: multiple values"; properties.format = 1; { var error = $root.proto.HydratedFourRowTemplate.verify(message.hydratedFourRowTemplate); if (error) return "hydratedFourRowTemplate." + error; } } return null; }; /** * Creates a TemplateMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.TemplateMessage * @static * @param {Object.} object Plain object * @returns {proto.TemplateMessage} TemplateMessage */ TemplateMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.TemplateMessage) return object; var message = new $root.proto.TemplateMessage(); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.TemplateMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.hydratedTemplate != null) { if (typeof object.hydratedTemplate !== "object") throw TypeError(".proto.TemplateMessage.hydratedTemplate: object expected"); message.hydratedTemplate = $root.proto.HydratedFourRowTemplate.fromObject(object.hydratedTemplate); } if (object.fourRowTemplate != null) { if (typeof object.fourRowTemplate !== "object") throw TypeError(".proto.TemplateMessage.fourRowTemplate: object expected"); message.fourRowTemplate = $root.proto.FourRowTemplate.fromObject(object.fourRowTemplate); } if (object.hydratedFourRowTemplate != null) { if (typeof object.hydratedFourRowTemplate !== "object") throw TypeError(".proto.TemplateMessage.hydratedFourRowTemplate: object expected"); message.hydratedFourRowTemplate = $root.proto.HydratedFourRowTemplate.fromObject(object.hydratedFourRowTemplate); } return message; }; /** * Creates a plain object from a TemplateMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.TemplateMessage * @static * @param {proto.TemplateMessage} message TemplateMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ TemplateMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.contextInfo = null; object.hydratedTemplate = null; } if (message.fourRowTemplate != null && message.hasOwnProperty("fourRowTemplate")) { object.fourRowTemplate = $root.proto.FourRowTemplate.toObject(message.fourRowTemplate, options); if (options.oneofs) object.format = "fourRowTemplate"; } if (message.hydratedFourRowTemplate != null && message.hasOwnProperty("hydratedFourRowTemplate")) { object.hydratedFourRowTemplate = $root.proto.HydratedFourRowTemplate.toObject(message.hydratedFourRowTemplate, options); if (options.oneofs) object.format = "hydratedFourRowTemplate"; } if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); if (message.hydratedTemplate != null && message.hasOwnProperty("hydratedTemplate")) object.hydratedTemplate = $root.proto.HydratedFourRowTemplate.toObject(message.hydratedTemplate, options); return object; }; /** * Converts this TemplateMessage to JSON. * @function toJSON * @memberof proto.TemplateMessage * @instance * @returns {Object.} JSON object */ TemplateMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return TemplateMessage; })(); proto.TemplateButtonReplyMessage = (function() { /** * Properties of a TemplateButtonReplyMessage. * @memberof proto * @interface ITemplateButtonReplyMessage * @property {string|null} [selectedId] TemplateButtonReplyMessage selectedId * @property {string|null} [selectedDisplayText] TemplateButtonReplyMessage selectedDisplayText * @property {proto.IContextInfo|null} [contextInfo] TemplateButtonReplyMessage contextInfo * @property {number|null} [selectedIndex] TemplateButtonReplyMessage selectedIndex */ /** * Constructs a new TemplateButtonReplyMessage. * @memberof proto * @classdesc Represents a TemplateButtonReplyMessage. * @implements ITemplateButtonReplyMessage * @constructor * @param {proto.ITemplateButtonReplyMessage=} [properties] Properties to set */ function TemplateButtonReplyMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * TemplateButtonReplyMessage selectedId. * @member {string} selectedId * @memberof proto.TemplateButtonReplyMessage * @instance */ TemplateButtonReplyMessage.prototype.selectedId = ""; /** * TemplateButtonReplyMessage selectedDisplayText. * @member {string} selectedDisplayText * @memberof proto.TemplateButtonReplyMessage * @instance */ TemplateButtonReplyMessage.prototype.selectedDisplayText = ""; /** * TemplateButtonReplyMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.TemplateButtonReplyMessage * @instance */ TemplateButtonReplyMessage.prototype.contextInfo = null; /** * TemplateButtonReplyMessage selectedIndex. * @member {number} selectedIndex * @memberof proto.TemplateButtonReplyMessage * @instance */ TemplateButtonReplyMessage.prototype.selectedIndex = 0; /** * Creates a new TemplateButtonReplyMessage instance using the specified properties. * @function create * @memberof proto.TemplateButtonReplyMessage * @static * @param {proto.ITemplateButtonReplyMessage=} [properties] Properties to set * @returns {proto.TemplateButtonReplyMessage} TemplateButtonReplyMessage instance */ TemplateButtonReplyMessage.create = function create(properties) { return new TemplateButtonReplyMessage(properties); }; /** * Encodes the specified TemplateButtonReplyMessage message. Does not implicitly {@link proto.TemplateButtonReplyMessage.verify|verify} messages. * @function encode * @memberof proto.TemplateButtonReplyMessage * @static * @param {proto.ITemplateButtonReplyMessage} message TemplateButtonReplyMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ TemplateButtonReplyMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.selectedId != null && Object.hasOwnProperty.call(message, "selectedId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.selectedId); if (message.selectedDisplayText != null && Object.hasOwnProperty.call(message, "selectedDisplayText")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.selectedDisplayText); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.selectedIndex != null && Object.hasOwnProperty.call(message, "selectedIndex")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.selectedIndex); return writer; }; /** * Encodes the specified TemplateButtonReplyMessage message, length delimited. Does not implicitly {@link proto.TemplateButtonReplyMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.TemplateButtonReplyMessage * @static * @param {proto.ITemplateButtonReplyMessage} message TemplateButtonReplyMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ TemplateButtonReplyMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a TemplateButtonReplyMessage message from the specified reader or buffer. * @function decode * @memberof proto.TemplateButtonReplyMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.TemplateButtonReplyMessage} TemplateButtonReplyMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ TemplateButtonReplyMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.TemplateButtonReplyMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.selectedId = reader.string(); break; case 2: message.selectedDisplayText = reader.string(); break; case 3: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 4: message.selectedIndex = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a TemplateButtonReplyMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.TemplateButtonReplyMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.TemplateButtonReplyMessage} TemplateButtonReplyMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ TemplateButtonReplyMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a TemplateButtonReplyMessage message. * @function verify * @memberof proto.TemplateButtonReplyMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ TemplateButtonReplyMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.selectedId != null && message.hasOwnProperty("selectedId")) if (!$util.isString(message.selectedId)) return "selectedId: string expected"; if (message.selectedDisplayText != null && message.hasOwnProperty("selectedDisplayText")) if (!$util.isString(message.selectedDisplayText)) return "selectedDisplayText: string expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } if (message.selectedIndex != null && message.hasOwnProperty("selectedIndex")) if (!$util.isInteger(message.selectedIndex)) return "selectedIndex: integer expected"; return null; }; /** * Creates a TemplateButtonReplyMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.TemplateButtonReplyMessage * @static * @param {Object.} object Plain object * @returns {proto.TemplateButtonReplyMessage} TemplateButtonReplyMessage */ TemplateButtonReplyMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.TemplateButtonReplyMessage) return object; var message = new $root.proto.TemplateButtonReplyMessage(); if (object.selectedId != null) message.selectedId = String(object.selectedId); if (object.selectedDisplayText != null) message.selectedDisplayText = String(object.selectedDisplayText); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.TemplateButtonReplyMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.selectedIndex != null) message.selectedIndex = object.selectedIndex >>> 0; return message; }; /** * Creates a plain object from a TemplateButtonReplyMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.TemplateButtonReplyMessage * @static * @param {proto.TemplateButtonReplyMessage} message TemplateButtonReplyMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ TemplateButtonReplyMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.selectedId = ""; object.selectedDisplayText = ""; object.contextInfo = null; object.selectedIndex = 0; } if (message.selectedId != null && message.hasOwnProperty("selectedId")) object.selectedId = message.selectedId; if (message.selectedDisplayText != null && message.hasOwnProperty("selectedDisplayText")) object.selectedDisplayText = message.selectedDisplayText; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); if (message.selectedIndex != null && message.hasOwnProperty("selectedIndex")) object.selectedIndex = message.selectedIndex; return object; }; /** * Converts this TemplateButtonReplyMessage to JSON. * @function toJSON * @memberof proto.TemplateButtonReplyMessage * @instance * @returns {Object.} JSON object */ TemplateButtonReplyMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return TemplateButtonReplyMessage; })(); proto.CatalogSnapshot = (function() { /** * Properties of a CatalogSnapshot. * @memberof proto * @interface ICatalogSnapshot * @property {proto.IImageMessage|null} [catalogImage] CatalogSnapshot catalogImage * @property {string|null} [title] CatalogSnapshot title * @property {string|null} [description] CatalogSnapshot description */ /** * Constructs a new CatalogSnapshot. * @memberof proto * @classdesc Represents a CatalogSnapshot. * @implements ICatalogSnapshot * @constructor * @param {proto.ICatalogSnapshot=} [properties] Properties to set */ function CatalogSnapshot(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * CatalogSnapshot catalogImage. * @member {proto.IImageMessage|null|undefined} catalogImage * @memberof proto.CatalogSnapshot * @instance */ CatalogSnapshot.prototype.catalogImage = null; /** * CatalogSnapshot title. * @member {string} title * @memberof proto.CatalogSnapshot * @instance */ CatalogSnapshot.prototype.title = ""; /** * CatalogSnapshot description. * @member {string} description * @memberof proto.CatalogSnapshot * @instance */ CatalogSnapshot.prototype.description = ""; /** * Creates a new CatalogSnapshot instance using the specified properties. * @function create * @memberof proto.CatalogSnapshot * @static * @param {proto.ICatalogSnapshot=} [properties] Properties to set * @returns {proto.CatalogSnapshot} CatalogSnapshot instance */ CatalogSnapshot.create = function create(properties) { return new CatalogSnapshot(properties); }; /** * Encodes the specified CatalogSnapshot message. Does not implicitly {@link proto.CatalogSnapshot.verify|verify} messages. * @function encode * @memberof proto.CatalogSnapshot * @static * @param {proto.ICatalogSnapshot} message CatalogSnapshot message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CatalogSnapshot.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.catalogImage != null && Object.hasOwnProperty.call(message, "catalogImage")) $root.proto.ImageMessage.encode(message.catalogImage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.title); if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); return writer; }; /** * Encodes the specified CatalogSnapshot message, length delimited. Does not implicitly {@link proto.CatalogSnapshot.verify|verify} messages. * @function encodeDelimited * @memberof proto.CatalogSnapshot * @static * @param {proto.ICatalogSnapshot} message CatalogSnapshot message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CatalogSnapshot.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a CatalogSnapshot message from the specified reader or buffer. * @function decode * @memberof proto.CatalogSnapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.CatalogSnapshot} CatalogSnapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CatalogSnapshot.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.CatalogSnapshot(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.catalogImage = $root.proto.ImageMessage.decode(reader, reader.uint32()); break; case 2: message.title = reader.string(); break; case 3: message.description = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a CatalogSnapshot message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.CatalogSnapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.CatalogSnapshot} CatalogSnapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CatalogSnapshot.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a CatalogSnapshot message. * @function verify * @memberof proto.CatalogSnapshot * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ CatalogSnapshot.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.catalogImage != null && message.hasOwnProperty("catalogImage")) { var error = $root.proto.ImageMessage.verify(message.catalogImage); if (error) return "catalogImage." + error; } if (message.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: string expected"; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) return "description: string expected"; return null; }; /** * Creates a CatalogSnapshot message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.CatalogSnapshot * @static * @param {Object.} object Plain object * @returns {proto.CatalogSnapshot} CatalogSnapshot */ CatalogSnapshot.fromObject = function fromObject(object) { if (object instanceof $root.proto.CatalogSnapshot) return object; var message = new $root.proto.CatalogSnapshot(); if (object.catalogImage != null) { if (typeof object.catalogImage !== "object") throw TypeError(".proto.CatalogSnapshot.catalogImage: object expected"); message.catalogImage = $root.proto.ImageMessage.fromObject(object.catalogImage); } if (object.title != null) message.title = String(object.title); if (object.description != null) message.description = String(object.description); return message; }; /** * Creates a plain object from a CatalogSnapshot message. Also converts values to other types if specified. * @function toObject * @memberof proto.CatalogSnapshot * @static * @param {proto.CatalogSnapshot} message CatalogSnapshot * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ CatalogSnapshot.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.catalogImage = null; object.title = ""; object.description = ""; } if (message.catalogImage != null && message.hasOwnProperty("catalogImage")) object.catalogImage = $root.proto.ImageMessage.toObject(message.catalogImage, options); if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; return object; }; /** * Converts this CatalogSnapshot to JSON. * @function toJSON * @memberof proto.CatalogSnapshot * @instance * @returns {Object.} JSON object */ CatalogSnapshot.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return CatalogSnapshot; })(); proto.ProductSnapshot = (function() { /** * Properties of a ProductSnapshot. * @memberof proto * @interface IProductSnapshot * @property {proto.IImageMessage|null} [productImage] ProductSnapshot productImage * @property {string|null} [productId] ProductSnapshot productId * @property {string|null} [title] ProductSnapshot title * @property {string|null} [description] ProductSnapshot description * @property {string|null} [currencyCode] ProductSnapshot currencyCode * @property {number|Long|null} [priceAmount1000] ProductSnapshot priceAmount1000 * @property {string|null} [retailerId] ProductSnapshot retailerId * @property {string|null} [url] ProductSnapshot url * @property {number|null} [productImageCount] ProductSnapshot productImageCount * @property {string|null} [firstImageId] ProductSnapshot firstImageId */ /** * Constructs a new ProductSnapshot. * @memberof proto * @classdesc Represents a ProductSnapshot. * @implements IProductSnapshot * @constructor * @param {proto.IProductSnapshot=} [properties] Properties to set */ function ProductSnapshot(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ProductSnapshot productImage. * @member {proto.IImageMessage|null|undefined} productImage * @memberof proto.ProductSnapshot * @instance */ ProductSnapshot.prototype.productImage = null; /** * ProductSnapshot productId. * @member {string} productId * @memberof proto.ProductSnapshot * @instance */ ProductSnapshot.prototype.productId = ""; /** * ProductSnapshot title. * @member {string} title * @memberof proto.ProductSnapshot * @instance */ ProductSnapshot.prototype.title = ""; /** * ProductSnapshot description. * @member {string} description * @memberof proto.ProductSnapshot * @instance */ ProductSnapshot.prototype.description = ""; /** * ProductSnapshot currencyCode. * @member {string} currencyCode * @memberof proto.ProductSnapshot * @instance */ ProductSnapshot.prototype.currencyCode = ""; /** * ProductSnapshot priceAmount1000. * @member {number|Long} priceAmount1000 * @memberof proto.ProductSnapshot * @instance */ ProductSnapshot.prototype.priceAmount1000 = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * ProductSnapshot retailerId. * @member {string} retailerId * @memberof proto.ProductSnapshot * @instance */ ProductSnapshot.prototype.retailerId = ""; /** * ProductSnapshot url. * @member {string} url * @memberof proto.ProductSnapshot * @instance */ ProductSnapshot.prototype.url = ""; /** * ProductSnapshot productImageCount. * @member {number} productImageCount * @memberof proto.ProductSnapshot * @instance */ ProductSnapshot.prototype.productImageCount = 0; /** * ProductSnapshot firstImageId. * @member {string} firstImageId * @memberof proto.ProductSnapshot * @instance */ ProductSnapshot.prototype.firstImageId = ""; /** * Creates a new ProductSnapshot instance using the specified properties. * @function create * @memberof proto.ProductSnapshot * @static * @param {proto.IProductSnapshot=} [properties] Properties to set * @returns {proto.ProductSnapshot} ProductSnapshot instance */ ProductSnapshot.create = function create(properties) { return new ProductSnapshot(properties); }; /** * Encodes the specified ProductSnapshot message. Does not implicitly {@link proto.ProductSnapshot.verify|verify} messages. * @function encode * @memberof proto.ProductSnapshot * @static * @param {proto.IProductSnapshot} message ProductSnapshot message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProductSnapshot.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.productImage != null && Object.hasOwnProperty.call(message, "productImage")) $root.proto.ImageMessage.encode(message.productImage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.productId); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.title); if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.description); if (message.currencyCode != null && Object.hasOwnProperty.call(message, "currencyCode")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.currencyCode); if (message.priceAmount1000 != null && Object.hasOwnProperty.call(message, "priceAmount1000")) writer.uint32(/* id 6, wireType 0 =*/48).int64(message.priceAmount1000); if (message.retailerId != null && Object.hasOwnProperty.call(message, "retailerId")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.retailerId); if (message.url != null && Object.hasOwnProperty.call(message, "url")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.url); if (message.productImageCount != null && Object.hasOwnProperty.call(message, "productImageCount")) writer.uint32(/* id 9, wireType 0 =*/72).uint32(message.productImageCount); if (message.firstImageId != null && Object.hasOwnProperty.call(message, "firstImageId")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.firstImageId); return writer; }; /** * Encodes the specified ProductSnapshot message, length delimited. Does not implicitly {@link proto.ProductSnapshot.verify|verify} messages. * @function encodeDelimited * @memberof proto.ProductSnapshot * @static * @param {proto.IProductSnapshot} message ProductSnapshot message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProductSnapshot.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ProductSnapshot message from the specified reader or buffer. * @function decode * @memberof proto.ProductSnapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ProductSnapshot} ProductSnapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProductSnapshot.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ProductSnapshot(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.productImage = $root.proto.ImageMessage.decode(reader, reader.uint32()); break; case 2: message.productId = reader.string(); break; case 3: message.title = reader.string(); break; case 4: message.description = reader.string(); break; case 5: message.currencyCode = reader.string(); break; case 6: message.priceAmount1000 = reader.int64(); break; case 7: message.retailerId = reader.string(); break; case 8: message.url = reader.string(); break; case 9: message.productImageCount = reader.uint32(); break; case 11: message.firstImageId = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ProductSnapshot message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ProductSnapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ProductSnapshot} ProductSnapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProductSnapshot.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ProductSnapshot message. * @function verify * @memberof proto.ProductSnapshot * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ProductSnapshot.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.productImage != null && message.hasOwnProperty("productImage")) { var error = $root.proto.ImageMessage.verify(message.productImage); if (error) return "productImage." + error; } if (message.productId != null && message.hasOwnProperty("productId")) if (!$util.isString(message.productId)) return "productId: string expected"; if (message.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: string expected"; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) return "description: string expected"; if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) if (!$util.isString(message.currencyCode)) return "currencyCode: string expected"; if (message.priceAmount1000 != null && message.hasOwnProperty("priceAmount1000")) if (!$util.isInteger(message.priceAmount1000) && !(message.priceAmount1000 && $util.isInteger(message.priceAmount1000.low) && $util.isInteger(message.priceAmount1000.high))) return "priceAmount1000: integer|Long expected"; if (message.retailerId != null && message.hasOwnProperty("retailerId")) if (!$util.isString(message.retailerId)) return "retailerId: string expected"; if (message.url != null && message.hasOwnProperty("url")) if (!$util.isString(message.url)) return "url: string expected"; if (message.productImageCount != null && message.hasOwnProperty("productImageCount")) if (!$util.isInteger(message.productImageCount)) return "productImageCount: integer expected"; if (message.firstImageId != null && message.hasOwnProperty("firstImageId")) if (!$util.isString(message.firstImageId)) return "firstImageId: string expected"; return null; }; /** * Creates a ProductSnapshot message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ProductSnapshot * @static * @param {Object.} object Plain object * @returns {proto.ProductSnapshot} ProductSnapshot */ ProductSnapshot.fromObject = function fromObject(object) { if (object instanceof $root.proto.ProductSnapshot) return object; var message = new $root.proto.ProductSnapshot(); if (object.productImage != null) { if (typeof object.productImage !== "object") throw TypeError(".proto.ProductSnapshot.productImage: object expected"); message.productImage = $root.proto.ImageMessage.fromObject(object.productImage); } if (object.productId != null) message.productId = String(object.productId); if (object.title != null) message.title = String(object.title); if (object.description != null) message.description = String(object.description); if (object.currencyCode != null) message.currencyCode = String(object.currencyCode); if (object.priceAmount1000 != null) if ($util.Long) (message.priceAmount1000 = $util.Long.fromValue(object.priceAmount1000)).unsigned = false; else if (typeof object.priceAmount1000 === "string") message.priceAmount1000 = parseInt(object.priceAmount1000, 10); else if (typeof object.priceAmount1000 === "number") message.priceAmount1000 = object.priceAmount1000; else if (typeof object.priceAmount1000 === "object") message.priceAmount1000 = new $util.LongBits(object.priceAmount1000.low >>> 0, object.priceAmount1000.high >>> 0).toNumber(); if (object.retailerId != null) message.retailerId = String(object.retailerId); if (object.url != null) message.url = String(object.url); if (object.productImageCount != null) message.productImageCount = object.productImageCount >>> 0; if (object.firstImageId != null) message.firstImageId = String(object.firstImageId); return message; }; /** * Creates a plain object from a ProductSnapshot message. Also converts values to other types if specified. * @function toObject * @memberof proto.ProductSnapshot * @static * @param {proto.ProductSnapshot} message ProductSnapshot * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ProductSnapshot.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.productImage = null; object.productId = ""; object.title = ""; object.description = ""; object.currencyCode = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.priceAmount1000 = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.priceAmount1000 = options.longs === String ? "0" : 0; object.retailerId = ""; object.url = ""; object.productImageCount = 0; object.firstImageId = ""; } if (message.productImage != null && message.hasOwnProperty("productImage")) object.productImage = $root.proto.ImageMessage.toObject(message.productImage, options); if (message.productId != null && message.hasOwnProperty("productId")) object.productId = message.productId; if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) object.currencyCode = message.currencyCode; if (message.priceAmount1000 != null && message.hasOwnProperty("priceAmount1000")) if (typeof message.priceAmount1000 === "number") object.priceAmount1000 = options.longs === String ? String(message.priceAmount1000) : message.priceAmount1000; else object.priceAmount1000 = options.longs === String ? $util.Long.prototype.toString.call(message.priceAmount1000) : options.longs === Number ? new $util.LongBits(message.priceAmount1000.low >>> 0, message.priceAmount1000.high >>> 0).toNumber() : message.priceAmount1000; if (message.retailerId != null && message.hasOwnProperty("retailerId")) object.retailerId = message.retailerId; if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; if (message.productImageCount != null && message.hasOwnProperty("productImageCount")) object.productImageCount = message.productImageCount; if (message.firstImageId != null && message.hasOwnProperty("firstImageId")) object.firstImageId = message.firstImageId; return object; }; /** * Converts this ProductSnapshot to JSON. * @function toJSON * @memberof proto.ProductSnapshot * @instance * @returns {Object.} JSON object */ ProductSnapshot.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ProductSnapshot; })(); proto.ProductMessage = (function() { /** * Properties of a ProductMessage. * @memberof proto * @interface IProductMessage * @property {proto.IProductSnapshot|null} [product] ProductMessage product * @property {string|null} [businessOwnerJid] ProductMessage businessOwnerJid * @property {proto.ICatalogSnapshot|null} [catalog] ProductMessage catalog * @property {proto.IContextInfo|null} [contextInfo] ProductMessage contextInfo */ /** * Constructs a new ProductMessage. * @memberof proto * @classdesc Represents a ProductMessage. * @implements IProductMessage * @constructor * @param {proto.IProductMessage=} [properties] Properties to set */ function ProductMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ProductMessage product. * @member {proto.IProductSnapshot|null|undefined} product * @memberof proto.ProductMessage * @instance */ ProductMessage.prototype.product = null; /** * ProductMessage businessOwnerJid. * @member {string} businessOwnerJid * @memberof proto.ProductMessage * @instance */ ProductMessage.prototype.businessOwnerJid = ""; /** * ProductMessage catalog. * @member {proto.ICatalogSnapshot|null|undefined} catalog * @memberof proto.ProductMessage * @instance */ ProductMessage.prototype.catalog = null; /** * ProductMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.ProductMessage * @instance */ ProductMessage.prototype.contextInfo = null; /** * Creates a new ProductMessage instance using the specified properties. * @function create * @memberof proto.ProductMessage * @static * @param {proto.IProductMessage=} [properties] Properties to set * @returns {proto.ProductMessage} ProductMessage instance */ ProductMessage.create = function create(properties) { return new ProductMessage(properties); }; /** * Encodes the specified ProductMessage message. Does not implicitly {@link proto.ProductMessage.verify|verify} messages. * @function encode * @memberof proto.ProductMessage * @static * @param {proto.IProductMessage} message ProductMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProductMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.product != null && Object.hasOwnProperty.call(message, "product")) $root.proto.ProductSnapshot.encode(message.product, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.businessOwnerJid != null && Object.hasOwnProperty.call(message, "businessOwnerJid")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.businessOwnerJid); if (message.catalog != null && Object.hasOwnProperty.call(message, "catalog")) $root.proto.CatalogSnapshot.encode(message.catalog, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); return writer; }; /** * Encodes the specified ProductMessage message, length delimited. Does not implicitly {@link proto.ProductMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.ProductMessage * @static * @param {proto.IProductMessage} message ProductMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProductMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ProductMessage message from the specified reader or buffer. * @function decode * @memberof proto.ProductMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ProductMessage} ProductMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProductMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ProductMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.product = $root.proto.ProductSnapshot.decode(reader, reader.uint32()); break; case 2: message.businessOwnerJid = reader.string(); break; case 4: message.catalog = $root.proto.CatalogSnapshot.decode(reader, reader.uint32()); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ProductMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ProductMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ProductMessage} ProductMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProductMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ProductMessage message. * @function verify * @memberof proto.ProductMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ProductMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.product != null && message.hasOwnProperty("product")) { var error = $root.proto.ProductSnapshot.verify(message.product); if (error) return "product." + error; } if (message.businessOwnerJid != null && message.hasOwnProperty("businessOwnerJid")) if (!$util.isString(message.businessOwnerJid)) return "businessOwnerJid: string expected"; if (message.catalog != null && message.hasOwnProperty("catalog")) { var error = $root.proto.CatalogSnapshot.verify(message.catalog); if (error) return "catalog." + error; } if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } return null; }; /** * Creates a ProductMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ProductMessage * @static * @param {Object.} object Plain object * @returns {proto.ProductMessage} ProductMessage */ ProductMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.ProductMessage) return object; var message = new $root.proto.ProductMessage(); if (object.product != null) { if (typeof object.product !== "object") throw TypeError(".proto.ProductMessage.product: object expected"); message.product = $root.proto.ProductSnapshot.fromObject(object.product); } if (object.businessOwnerJid != null) message.businessOwnerJid = String(object.businessOwnerJid); if (object.catalog != null) { if (typeof object.catalog !== "object") throw TypeError(".proto.ProductMessage.catalog: object expected"); message.catalog = $root.proto.CatalogSnapshot.fromObject(object.catalog); } if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.ProductMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a ProductMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.ProductMessage * @static * @param {proto.ProductMessage} message ProductMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ProductMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.product = null; object.businessOwnerJid = ""; object.catalog = null; object.contextInfo = null; } if (message.product != null && message.hasOwnProperty("product")) object.product = $root.proto.ProductSnapshot.toObject(message.product, options); if (message.businessOwnerJid != null && message.hasOwnProperty("businessOwnerJid")) object.businessOwnerJid = message.businessOwnerJid; if (message.catalog != null && message.hasOwnProperty("catalog")) object.catalog = $root.proto.CatalogSnapshot.toObject(message.catalog, options); if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this ProductMessage to JSON. * @function toJSON * @memberof proto.ProductMessage * @instance * @returns {Object.} JSON object */ ProductMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ProductMessage; })(); proto.OrderMessage = (function() { /** * Properties of an OrderMessage. * @memberof proto * @interface IOrderMessage * @property {string|null} [orderId] OrderMessage orderId * @property {Uint8Array|null} [thumbnail] OrderMessage thumbnail * @property {number|null} [itemCount] OrderMessage itemCount * @property {proto.OrderMessage.OrderMessageOrderStatus|null} [status] OrderMessage status * @property {proto.OrderMessage.OrderMessageOrderSurface|null} [surface] OrderMessage surface * @property {string|null} [message] OrderMessage message * @property {string|null} [orderTitle] OrderMessage orderTitle * @property {string|null} [sellerJid] OrderMessage sellerJid * @property {string|null} [token] OrderMessage token * @property {proto.IContextInfo|null} [contextInfo] OrderMessage contextInfo */ /** * Constructs a new OrderMessage. * @memberof proto * @classdesc Represents an OrderMessage. * @implements IOrderMessage * @constructor * @param {proto.IOrderMessage=} [properties] Properties to set */ function OrderMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * OrderMessage orderId. * @member {string} orderId * @memberof proto.OrderMessage * @instance */ OrderMessage.prototype.orderId = ""; /** * OrderMessage thumbnail. * @member {Uint8Array} thumbnail * @memberof proto.OrderMessage * @instance */ OrderMessage.prototype.thumbnail = $util.newBuffer([]); /** * OrderMessage itemCount. * @member {number} itemCount * @memberof proto.OrderMessage * @instance */ OrderMessage.prototype.itemCount = 0; /** * OrderMessage status. * @member {proto.OrderMessage.OrderMessageOrderStatus} status * @memberof proto.OrderMessage * @instance */ OrderMessage.prototype.status = 1; /** * OrderMessage surface. * @member {proto.OrderMessage.OrderMessageOrderSurface} surface * @memberof proto.OrderMessage * @instance */ OrderMessage.prototype.surface = 1; /** * OrderMessage message. * @member {string} message * @memberof proto.OrderMessage * @instance */ OrderMessage.prototype.message = ""; /** * OrderMessage orderTitle. * @member {string} orderTitle * @memberof proto.OrderMessage * @instance */ OrderMessage.prototype.orderTitle = ""; /** * OrderMessage sellerJid. * @member {string} sellerJid * @memberof proto.OrderMessage * @instance */ OrderMessage.prototype.sellerJid = ""; /** * OrderMessage token. * @member {string} token * @memberof proto.OrderMessage * @instance */ OrderMessage.prototype.token = ""; /** * OrderMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.OrderMessage * @instance */ OrderMessage.prototype.contextInfo = null; /** * Creates a new OrderMessage instance using the specified properties. * @function create * @memberof proto.OrderMessage * @static * @param {proto.IOrderMessage=} [properties] Properties to set * @returns {proto.OrderMessage} OrderMessage instance */ OrderMessage.create = function create(properties) { return new OrderMessage(properties); }; /** * Encodes the specified OrderMessage message. Does not implicitly {@link proto.OrderMessage.verify|verify} messages. * @function encode * @memberof proto.OrderMessage * @static * @param {proto.IOrderMessage} message OrderMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ OrderMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.orderId != null && Object.hasOwnProperty.call(message, "orderId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.orderId); if (message.thumbnail != null && Object.hasOwnProperty.call(message, "thumbnail")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.thumbnail); if (message.itemCount != null && Object.hasOwnProperty.call(message, "itemCount")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.itemCount); if (message.status != null && Object.hasOwnProperty.call(message, "status")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.status); if (message.surface != null && Object.hasOwnProperty.call(message, "surface")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.surface); if (message.message != null && Object.hasOwnProperty.call(message, "message")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.message); if (message.orderTitle != null && Object.hasOwnProperty.call(message, "orderTitle")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.orderTitle); if (message.sellerJid != null && Object.hasOwnProperty.call(message, "sellerJid")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.sellerJid); if (message.token != null && Object.hasOwnProperty.call(message, "token")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.token); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); return writer; }; /** * Encodes the specified OrderMessage message, length delimited. Does not implicitly {@link proto.OrderMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.OrderMessage * @static * @param {proto.IOrderMessage} message OrderMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ OrderMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an OrderMessage message from the specified reader or buffer. * @function decode * @memberof proto.OrderMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.OrderMessage} OrderMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ OrderMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.OrderMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.orderId = reader.string(); break; case 2: message.thumbnail = reader.bytes(); break; case 3: message.itemCount = reader.int32(); break; case 4: message.status = reader.int32(); break; case 5: message.surface = reader.int32(); break; case 6: message.message = reader.string(); break; case 7: message.orderTitle = reader.string(); break; case 8: message.sellerJid = reader.string(); break; case 9: message.token = reader.string(); break; case 17: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an OrderMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.OrderMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.OrderMessage} OrderMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ OrderMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an OrderMessage message. * @function verify * @memberof proto.OrderMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ OrderMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.orderId != null && message.hasOwnProperty("orderId")) if (!$util.isString(message.orderId)) return "orderId: string expected"; if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) if (!(message.thumbnail && typeof message.thumbnail.length === "number" || $util.isString(message.thumbnail))) return "thumbnail: buffer expected"; if (message.itemCount != null && message.hasOwnProperty("itemCount")) if (!$util.isInteger(message.itemCount)) return "itemCount: integer expected"; if (message.status != null && message.hasOwnProperty("status")) switch (message.status) { default: return "status: enum value expected"; case 1: break; } if (message.surface != null && message.hasOwnProperty("surface")) switch (message.surface) { default: return "surface: enum value expected"; case 1: break; } if (message.message != null && message.hasOwnProperty("message")) if (!$util.isString(message.message)) return "message: string expected"; if (message.orderTitle != null && message.hasOwnProperty("orderTitle")) if (!$util.isString(message.orderTitle)) return "orderTitle: string expected"; if (message.sellerJid != null && message.hasOwnProperty("sellerJid")) if (!$util.isString(message.sellerJid)) return "sellerJid: string expected"; if (message.token != null && message.hasOwnProperty("token")) if (!$util.isString(message.token)) return "token: string expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } return null; }; /** * Creates an OrderMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.OrderMessage * @static * @param {Object.} object Plain object * @returns {proto.OrderMessage} OrderMessage */ OrderMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.OrderMessage) return object; var message = new $root.proto.OrderMessage(); if (object.orderId != null) message.orderId = String(object.orderId); if (object.thumbnail != null) if (typeof object.thumbnail === "string") $util.base64.decode(object.thumbnail, message.thumbnail = $util.newBuffer($util.base64.length(object.thumbnail)), 0); else if (object.thumbnail.length) message.thumbnail = object.thumbnail; if (object.itemCount != null) message.itemCount = object.itemCount | 0; switch (object.status) { case "INQUIRY": case 1: message.status = 1; break; } switch (object.surface) { case "CATALOG": case 1: message.surface = 1; break; } if (object.message != null) message.message = String(object.message); if (object.orderTitle != null) message.orderTitle = String(object.orderTitle); if (object.sellerJid != null) message.sellerJid = String(object.sellerJid); if (object.token != null) message.token = String(object.token); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.OrderMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from an OrderMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.OrderMessage * @static * @param {proto.OrderMessage} message OrderMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ OrderMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.orderId = ""; if (options.bytes === String) object.thumbnail = ""; else { object.thumbnail = []; if (options.bytes !== Array) object.thumbnail = $util.newBuffer(object.thumbnail); } object.itemCount = 0; object.status = options.enums === String ? "INQUIRY" : 1; object.surface = options.enums === String ? "CATALOG" : 1; object.message = ""; object.orderTitle = ""; object.sellerJid = ""; object.token = ""; object.contextInfo = null; } if (message.orderId != null && message.hasOwnProperty("orderId")) object.orderId = message.orderId; if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) object.thumbnail = options.bytes === String ? $util.base64.encode(message.thumbnail, 0, message.thumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbnail) : message.thumbnail; if (message.itemCount != null && message.hasOwnProperty("itemCount")) object.itemCount = message.itemCount; if (message.status != null && message.hasOwnProperty("status")) object.status = options.enums === String ? $root.proto.OrderMessage.OrderMessageOrderStatus[message.status] : message.status; if (message.surface != null && message.hasOwnProperty("surface")) object.surface = options.enums === String ? $root.proto.OrderMessage.OrderMessageOrderSurface[message.surface] : message.surface; if (message.message != null && message.hasOwnProperty("message")) object.message = message.message; if (message.orderTitle != null && message.hasOwnProperty("orderTitle")) object.orderTitle = message.orderTitle; if (message.sellerJid != null && message.hasOwnProperty("sellerJid")) object.sellerJid = message.sellerJid; if (message.token != null && message.hasOwnProperty("token")) object.token = message.token; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this OrderMessage to JSON. * @function toJSON * @memberof proto.OrderMessage * @instance * @returns {Object.} JSON object */ OrderMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * OrderMessageOrderStatus enum. * @name proto.OrderMessage.OrderMessageOrderStatus * @enum {number} * @property {number} INQUIRY=1 INQUIRY value */ OrderMessage.OrderMessageOrderStatus = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[1] = "INQUIRY"] = 1; return values; })(); /** * OrderMessageOrderSurface enum. * @name proto.OrderMessage.OrderMessageOrderSurface * @enum {number} * @property {number} CATALOG=1 CATALOG value */ OrderMessage.OrderMessageOrderSurface = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[1] = "CATALOG"] = 1; return values; })(); return OrderMessage; })(); proto.Row = (function() { /** * Properties of a Row. * @memberof proto * @interface IRow * @property {string|null} [title] Row title * @property {string|null} [description] Row description * @property {string|null} [rowId] Row rowId */ /** * Constructs a new Row. * @memberof proto * @classdesc Represents a Row. * @implements IRow * @constructor * @param {proto.IRow=} [properties] Properties to set */ function Row(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * Row title. * @member {string} title * @memberof proto.Row * @instance */ Row.prototype.title = ""; /** * Row description. * @member {string} description * @memberof proto.Row * @instance */ Row.prototype.description = ""; /** * Row rowId. * @member {string} rowId * @memberof proto.Row * @instance */ Row.prototype.rowId = ""; /** * Creates a new Row instance using the specified properties. * @function create * @memberof proto.Row * @static * @param {proto.IRow=} [properties] Properties to set * @returns {proto.Row} Row instance */ Row.create = function create(properties) { return new Row(properties); }; /** * Encodes the specified Row message. Does not implicitly {@link proto.Row.verify|verify} messages. * @function encode * @memberof proto.Row * @static * @param {proto.IRow} message Row message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Row.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); if (message.rowId != null && Object.hasOwnProperty.call(message, "rowId")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.rowId); return writer; }; /** * Encodes the specified Row message, length delimited. Does not implicitly {@link proto.Row.verify|verify} messages. * @function encodeDelimited * @memberof proto.Row * @static * @param {proto.IRow} message Row message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Row.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Row message from the specified reader or buffer. * @function decode * @memberof proto.Row * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Row} Row * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Row.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.Row(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.title = reader.string(); break; case 2: message.description = reader.string(); break; case 3: message.rowId = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Row message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Row * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Row} Row * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Row.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Row message. * @function verify * @memberof proto.Row * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Row.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: string expected"; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) return "description: string expected"; if (message.rowId != null && message.hasOwnProperty("rowId")) if (!$util.isString(message.rowId)) return "rowId: string expected"; return null; }; /** * Creates a Row message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Row * @static * @param {Object.} object Plain object * @returns {proto.Row} Row */ Row.fromObject = function fromObject(object) { if (object instanceof $root.proto.Row) return object; var message = new $root.proto.Row(); if (object.title != null) message.title = String(object.title); if (object.description != null) message.description = String(object.description); if (object.rowId != null) message.rowId = String(object.rowId); return message; }; /** * Creates a plain object from a Row message. Also converts values to other types if specified. * @function toObject * @memberof proto.Row * @static * @param {proto.Row} message Row * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ Row.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.title = ""; object.description = ""; object.rowId = ""; } if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; if (message.rowId != null && message.hasOwnProperty("rowId")) object.rowId = message.rowId; return object; }; /** * Converts this Row to JSON. * @function toJSON * @memberof proto.Row * @instance * @returns {Object.} JSON object */ Row.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Row; })(); proto.Section = (function() { /** * Properties of a Section. * @memberof proto * @interface ISection * @property {string|null} [title] Section title * @property {Array.|null} [rows] Section rows */ /** * Constructs a new Section. * @memberof proto * @classdesc Represents a Section. * @implements ISection * @constructor * @param {proto.ISection=} [properties] Properties to set */ function Section(properties) { this.rows = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * Section title. * @member {string} title * @memberof proto.Section * @instance */ Section.prototype.title = ""; /** * Section rows. * @member {Array.} rows * @memberof proto.Section * @instance */ Section.prototype.rows = $util.emptyArray; /** * Creates a new Section instance using the specified properties. * @function create * @memberof proto.Section * @static * @param {proto.ISection=} [properties] Properties to set * @returns {proto.Section} Section instance */ Section.create = function create(properties) { return new Section(properties); }; /** * Encodes the specified Section message. Does not implicitly {@link proto.Section.verify|verify} messages. * @function encode * @memberof proto.Section * @static * @param {proto.ISection} message Section message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Section.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); if (message.rows != null && message.rows.length) for (var i = 0; i < message.rows.length; ++i) $root.proto.Row.encode(message.rows[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified Section message, length delimited. Does not implicitly {@link proto.Section.verify|verify} messages. * @function encodeDelimited * @memberof proto.Section * @static * @param {proto.ISection} message Section message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Section.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Section message from the specified reader or buffer. * @function decode * @memberof proto.Section * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Section} Section * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Section.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.Section(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.title = reader.string(); break; case 2: if (!(message.rows && message.rows.length)) message.rows = []; message.rows.push($root.proto.Row.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Section message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Section * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Section} Section * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Section.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Section message. * @function verify * @memberof proto.Section * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Section.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: string expected"; if (message.rows != null && message.hasOwnProperty("rows")) { if (!Array.isArray(message.rows)) return "rows: array expected"; for (var i = 0; i < message.rows.length; ++i) { var error = $root.proto.Row.verify(message.rows[i]); if (error) return "rows." + error; } } return null; }; /** * Creates a Section message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Section * @static * @param {Object.} object Plain object * @returns {proto.Section} Section */ Section.fromObject = function fromObject(object) { if (object instanceof $root.proto.Section) return object; var message = new $root.proto.Section(); if (object.title != null) message.title = String(object.title); if (object.rows) { if (!Array.isArray(object.rows)) throw TypeError(".proto.Section.rows: array expected"); message.rows = []; for (var i = 0; i < object.rows.length; ++i) { if (typeof object.rows[i] !== "object") throw TypeError(".proto.Section.rows: object expected"); message.rows[i] = $root.proto.Row.fromObject(object.rows[i]); } } return message; }; /** * Creates a plain object from a Section message. Also converts values to other types if specified. * @function toObject * @memberof proto.Section * @static * @param {proto.Section} message Section * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ Section.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.rows = []; if (options.defaults) object.title = ""; if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.rows && message.rows.length) { object.rows = []; for (var j = 0; j < message.rows.length; ++j) object.rows[j] = $root.proto.Row.toObject(message.rows[j], options); } return object; }; /** * Converts this Section to JSON. * @function toJSON * @memberof proto.Section * @instance * @returns {Object.} JSON object */ Section.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Section; })(); proto.ListMessage = (function() { /** * Properties of a ListMessage. * @memberof proto * @interface IListMessage * @property {string|null} [title] ListMessage title * @property {string|null} [description] ListMessage description * @property {string|null} [buttonText] ListMessage buttonText * @property {proto.ListMessage.ListMessageListType|null} [listType] ListMessage listType * @property {Array.|null} [sections] ListMessage sections */ /** * Constructs a new ListMessage. * @memberof proto * @classdesc Represents a ListMessage. * @implements IListMessage * @constructor * @param {proto.IListMessage=} [properties] Properties to set */ function ListMessage(properties) { this.sections = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ListMessage title. * @member {string} title * @memberof proto.ListMessage * @instance */ ListMessage.prototype.title = ""; /** * ListMessage description. * @member {string} description * @memberof proto.ListMessage * @instance */ ListMessage.prototype.description = ""; /** * ListMessage buttonText. * @member {string} buttonText * @memberof proto.ListMessage * @instance */ ListMessage.prototype.buttonText = ""; /** * ListMessage listType. * @member {proto.ListMessage.ListMessageListType} listType * @memberof proto.ListMessage * @instance */ ListMessage.prototype.listType = 0; /** * ListMessage sections. * @member {Array.} sections * @memberof proto.ListMessage * @instance */ ListMessage.prototype.sections = $util.emptyArray; /** * Creates a new ListMessage instance using the specified properties. * @function create * @memberof proto.ListMessage * @static * @param {proto.IListMessage=} [properties] Properties to set * @returns {proto.ListMessage} ListMessage instance */ ListMessage.create = function create(properties) { return new ListMessage(properties); }; /** * Encodes the specified ListMessage message. Does not implicitly {@link proto.ListMessage.verify|verify} messages. * @function encode * @memberof proto.ListMessage * @static * @param {proto.IListMessage} message ListMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ListMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); if (message.buttonText != null && Object.hasOwnProperty.call(message, "buttonText")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.buttonText); if (message.listType != null && Object.hasOwnProperty.call(message, "listType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.listType); if (message.sections != null && message.sections.length) for (var i = 0; i < message.sections.length; ++i) $root.proto.Section.encode(message.sections[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; /** * Encodes the specified ListMessage message, length delimited. Does not implicitly {@link proto.ListMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.ListMessage * @static * @param {proto.IListMessage} message ListMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ListMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ListMessage message from the specified reader or buffer. * @function decode * @memberof proto.ListMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ListMessage} ListMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ListMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ListMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.title = reader.string(); break; case 2: message.description = reader.string(); break; case 3: message.buttonText = reader.string(); break; case 4: message.listType = reader.int32(); break; case 5: if (!(message.sections && message.sections.length)) message.sections = []; message.sections.push($root.proto.Section.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ListMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ListMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ListMessage} ListMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ListMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ListMessage message. * @function verify * @memberof proto.ListMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ListMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: string expected"; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) return "description: string expected"; if (message.buttonText != null && message.hasOwnProperty("buttonText")) if (!$util.isString(message.buttonText)) return "buttonText: string expected"; if (message.listType != null && message.hasOwnProperty("listType")) switch (message.listType) { default: return "listType: enum value expected"; case 0: case 1: break; } if (message.sections != null && message.hasOwnProperty("sections")) { if (!Array.isArray(message.sections)) return "sections: array expected"; for (var i = 0; i < message.sections.length; ++i) { var error = $root.proto.Section.verify(message.sections[i]); if (error) return "sections." + error; } } return null; }; /** * Creates a ListMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ListMessage * @static * @param {Object.} object Plain object * @returns {proto.ListMessage} ListMessage */ ListMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.ListMessage) return object; var message = new $root.proto.ListMessage(); if (object.title != null) message.title = String(object.title); if (object.description != null) message.description = String(object.description); if (object.buttonText != null) message.buttonText = String(object.buttonText); switch (object.listType) { case "UNKNOWN": case 0: message.listType = 0; break; case "SINGLE_SELECT": case 1: message.listType = 1; break; } if (object.sections) { if (!Array.isArray(object.sections)) throw TypeError(".proto.ListMessage.sections: array expected"); message.sections = []; for (var i = 0; i < object.sections.length; ++i) { if (typeof object.sections[i] !== "object") throw TypeError(".proto.ListMessage.sections: object expected"); message.sections[i] = $root.proto.Section.fromObject(object.sections[i]); } } return message; }; /** * Creates a plain object from a ListMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.ListMessage * @static * @param {proto.ListMessage} message ListMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ListMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.sections = []; if (options.defaults) { object.title = ""; object.description = ""; object.buttonText = ""; object.listType = options.enums === String ? "UNKNOWN" : 0; } if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; if (message.buttonText != null && message.hasOwnProperty("buttonText")) object.buttonText = message.buttonText; if (message.listType != null && message.hasOwnProperty("listType")) object.listType = options.enums === String ? $root.proto.ListMessage.ListMessageListType[message.listType] : message.listType; if (message.sections && message.sections.length) { object.sections = []; for (var j = 0; j < message.sections.length; ++j) object.sections[j] = $root.proto.Section.toObject(message.sections[j], options); } return object; }; /** * Converts this ListMessage to JSON. * @function toJSON * @memberof proto.ListMessage * @instance * @returns {Object.} JSON object */ ListMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ListMessageListType enum. * @name proto.ListMessage.ListMessageListType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SINGLE_SELECT=1 SINGLE_SELECT value */ ListMessage.ListMessageListType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "SINGLE_SELECT"] = 1; return values; })(); return ListMessage; })(); proto.SingleSelectReply = (function() { /** * Properties of a SingleSelectReply. * @memberof proto * @interface ISingleSelectReply * @property {string|null} [selectedRowId] SingleSelectReply selectedRowId */ /** * Constructs a new SingleSelectReply. * @memberof proto * @classdesc Represents a SingleSelectReply. * @implements ISingleSelectReply * @constructor * @param {proto.ISingleSelectReply=} [properties] Properties to set */ function SingleSelectReply(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * SingleSelectReply selectedRowId. * @member {string} selectedRowId * @memberof proto.SingleSelectReply * @instance */ SingleSelectReply.prototype.selectedRowId = ""; /** * Creates a new SingleSelectReply instance using the specified properties. * @function create * @memberof proto.SingleSelectReply * @static * @param {proto.ISingleSelectReply=} [properties] Properties to set * @returns {proto.SingleSelectReply} SingleSelectReply instance */ SingleSelectReply.create = function create(properties) { return new SingleSelectReply(properties); }; /** * Encodes the specified SingleSelectReply message. Does not implicitly {@link proto.SingleSelectReply.verify|verify} messages. * @function encode * @memberof proto.SingleSelectReply * @static * @param {proto.ISingleSelectReply} message SingleSelectReply message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SingleSelectReply.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.selectedRowId != null && Object.hasOwnProperty.call(message, "selectedRowId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.selectedRowId); return writer; }; /** * Encodes the specified SingleSelectReply message, length delimited. Does not implicitly {@link proto.SingleSelectReply.verify|verify} messages. * @function encodeDelimited * @memberof proto.SingleSelectReply * @static * @param {proto.ISingleSelectReply} message SingleSelectReply message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SingleSelectReply.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SingleSelectReply message from the specified reader or buffer. * @function decode * @memberof proto.SingleSelectReply * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SingleSelectReply} SingleSelectReply * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SingleSelectReply.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.SingleSelectReply(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.selectedRowId = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SingleSelectReply message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SingleSelectReply * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SingleSelectReply} SingleSelectReply * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SingleSelectReply.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SingleSelectReply message. * @function verify * @memberof proto.SingleSelectReply * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SingleSelectReply.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.selectedRowId != null && message.hasOwnProperty("selectedRowId")) if (!$util.isString(message.selectedRowId)) return "selectedRowId: string expected"; return null; }; /** * Creates a SingleSelectReply message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SingleSelectReply * @static * @param {Object.} object Plain object * @returns {proto.SingleSelectReply} SingleSelectReply */ SingleSelectReply.fromObject = function fromObject(object) { if (object instanceof $root.proto.SingleSelectReply) return object; var message = new $root.proto.SingleSelectReply(); if (object.selectedRowId != null) message.selectedRowId = String(object.selectedRowId); return message; }; /** * Creates a plain object from a SingleSelectReply message. Also converts values to other types if specified. * @function toObject * @memberof proto.SingleSelectReply * @static * @param {proto.SingleSelectReply} message SingleSelectReply * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ SingleSelectReply.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.selectedRowId = ""; if (message.selectedRowId != null && message.hasOwnProperty("selectedRowId")) object.selectedRowId = message.selectedRowId; return object; }; /** * Converts this SingleSelectReply to JSON. * @function toJSON * @memberof proto.SingleSelectReply * @instance * @returns {Object.} JSON object */ SingleSelectReply.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SingleSelectReply; })(); proto.ListResponseMessage = (function() { /** * Properties of a ListResponseMessage. * @memberof proto * @interface IListResponseMessage * @property {string|null} [selectedDisplayText] ListResponseMessage selectedDisplayText * @property {proto.ListResponseMessage.ListResponseMessageListType|null} [listType] ListResponseMessage listType * @property {proto.ISingleSelectReply|null} [singleSelectReply] ListResponseMessage singleSelectReply * @property {proto.IContextInfo|null} [contextInfo] ListResponseMessage contextInfo */ /** * Constructs a new ListResponseMessage. * @memberof proto * @classdesc Represents a ListResponseMessage. * @implements IListResponseMessage * @constructor * @param {proto.IListResponseMessage=} [properties] Properties to set */ function ListResponseMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * ListResponseMessage selectedDisplayText. * @member {string} selectedDisplayText * @memberof proto.ListResponseMessage * @instance */ ListResponseMessage.prototype.selectedDisplayText = ""; /** * ListResponseMessage listType. * @member {proto.ListResponseMessage.ListResponseMessageListType} listType * @memberof proto.ListResponseMessage * @instance */ ListResponseMessage.prototype.listType = 0; /** * ListResponseMessage singleSelectReply. * @member {proto.ISingleSelectReply|null|undefined} singleSelectReply * @memberof proto.ListResponseMessage * @instance */ ListResponseMessage.prototype.singleSelectReply = null; /** * ListResponseMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.ListResponseMessage * @instance */ ListResponseMessage.prototype.contextInfo = null; /** * Creates a new ListResponseMessage instance using the specified properties. * @function create * @memberof proto.ListResponseMessage * @static * @param {proto.IListResponseMessage=} [properties] Properties to set * @returns {proto.ListResponseMessage} ListResponseMessage instance */ ListResponseMessage.create = function create(properties) { return new ListResponseMessage(properties); }; /** * Encodes the specified ListResponseMessage message. Does not implicitly {@link proto.ListResponseMessage.verify|verify} messages. * @function encode * @memberof proto.ListResponseMessage * @static * @param {proto.IListResponseMessage} message ListResponseMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ListResponseMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.selectedDisplayText != null && Object.hasOwnProperty.call(message, "selectedDisplayText")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.selectedDisplayText); if (message.listType != null && Object.hasOwnProperty.call(message, "listType")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.listType); if (message.singleSelectReply != null && Object.hasOwnProperty.call(message, "singleSelectReply")) $root.proto.SingleSelectReply.encode(message.singleSelectReply, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** * Encodes the specified ListResponseMessage message, length delimited. Does not implicitly {@link proto.ListResponseMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.ListResponseMessage * @static * @param {proto.IListResponseMessage} message ListResponseMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ListResponseMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ListResponseMessage message from the specified reader or buffer. * @function decode * @memberof proto.ListResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ListResponseMessage} ListResponseMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ListResponseMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.ListResponseMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.selectedDisplayText = reader.string(); break; case 2: message.listType = reader.int32(); break; case 3: message.singleSelectReply = $root.proto.SingleSelectReply.decode(reader, reader.uint32()); break; case 4: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ListResponseMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ListResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ListResponseMessage} ListResponseMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ListResponseMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ListResponseMessage message. * @function verify * @memberof proto.ListResponseMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ListResponseMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.selectedDisplayText != null && message.hasOwnProperty("selectedDisplayText")) if (!$util.isString(message.selectedDisplayText)) return "selectedDisplayText: string expected"; if (message.listType != null && message.hasOwnProperty("listType")) switch (message.listType) { default: return "listType: enum value expected"; case 0: case 1: break; } if (message.singleSelectReply != null && message.hasOwnProperty("singleSelectReply")) { var error = $root.proto.SingleSelectReply.verify(message.singleSelectReply); if (error) return "singleSelectReply." + error; } if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } return null; }; /** * Creates a ListResponseMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ListResponseMessage * @static * @param {Object.} object Plain object * @returns {proto.ListResponseMessage} ListResponseMessage */ ListResponseMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.ListResponseMessage) return object; var message = new $root.proto.ListResponseMessage(); if (object.selectedDisplayText != null) message.selectedDisplayText = String(object.selectedDisplayText); switch (object.listType) { case "UNKNOWN": case 0: message.listType = 0; break; case "SINGLE_SELECT": case 1: message.listType = 1; break; } if (object.singleSelectReply != null) { if (typeof object.singleSelectReply !== "object") throw TypeError(".proto.ListResponseMessage.singleSelectReply: object expected"); message.singleSelectReply = $root.proto.SingleSelectReply.fromObject(object.singleSelectReply); } if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.ListResponseMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a ListResponseMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.ListResponseMessage * @static * @param {proto.ListResponseMessage} message ListResponseMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ ListResponseMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.selectedDisplayText = ""; object.listType = options.enums === String ? "UNKNOWN" : 0; object.singleSelectReply = null; object.contextInfo = null; } if (message.selectedDisplayText != null && message.hasOwnProperty("selectedDisplayText")) object.selectedDisplayText = message.selectedDisplayText; if (message.listType != null && message.hasOwnProperty("listType")) object.listType = options.enums === String ? $root.proto.ListResponseMessage.ListResponseMessageListType[message.listType] : message.listType; if (message.singleSelectReply != null && message.hasOwnProperty("singleSelectReply")) object.singleSelectReply = $root.proto.SingleSelectReply.toObject(message.singleSelectReply, options); if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this ListResponseMessage to JSON. * @function toJSON * @memberof proto.ListResponseMessage * @instance * @returns {Object.} JSON object */ ListResponseMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ListResponseMessageListType enum. * @name proto.ListResponseMessage.ListResponseMessageListType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SINGLE_SELECT=1 SINGLE_SELECT value */ ListResponseMessage.ListResponseMessageListType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "SINGLE_SELECT"] = 1; return values; })(); return ListResponseMessage; })(); proto.GroupInviteMessage = (function() { /** * Properties of a GroupInviteMessage. * @memberof proto * @interface IGroupInviteMessage * @property {string|null} [groupJid] GroupInviteMessage groupJid * @property {string|null} [inviteCode] GroupInviteMessage inviteCode * @property {number|Long|null} [inviteExpiration] GroupInviteMessage inviteExpiration * @property {string|null} [groupName] GroupInviteMessage groupName * @property {Uint8Array|null} [jpegThumbnail] GroupInviteMessage jpegThumbnail * @property {string|null} [caption] GroupInviteMessage caption * @property {proto.IContextInfo|null} [contextInfo] GroupInviteMessage contextInfo */ /** * Constructs a new GroupInviteMessage. * @memberof proto * @classdesc Represents a GroupInviteMessage. * @implements IGroupInviteMessage * @constructor * @param {proto.IGroupInviteMessage=} [properties] Properties to set */ function GroupInviteMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * GroupInviteMessage groupJid. * @member {string} groupJid * @memberof proto.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.groupJid = ""; /** * GroupInviteMessage inviteCode. * @member {string} inviteCode * @memberof proto.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.inviteCode = ""; /** * GroupInviteMessage inviteExpiration. * @member {number|Long} inviteExpiration * @memberof proto.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.inviteExpiration = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * GroupInviteMessage groupName. * @member {string} groupName * @memberof proto.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.groupName = ""; /** * GroupInviteMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * GroupInviteMessage caption. * @member {string} caption * @memberof proto.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.caption = ""; /** * GroupInviteMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.contextInfo = null; /** * Creates a new GroupInviteMessage instance using the specified properties. * @function create * @memberof proto.GroupInviteMessage * @static * @param {proto.IGroupInviteMessage=} [properties] Properties to set * @returns {proto.GroupInviteMessage} GroupInviteMessage instance */ GroupInviteMessage.create = function create(properties) { return new GroupInviteMessage(properties); }; /** * Encodes the specified GroupInviteMessage message. Does not implicitly {@link proto.GroupInviteMessage.verify|verify} messages. * @function encode * @memberof proto.GroupInviteMessage * @static * @param {proto.IGroupInviteMessage} message GroupInviteMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ GroupInviteMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.groupJid != null && Object.hasOwnProperty.call(message, "groupJid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.groupJid); if (message.inviteCode != null && Object.hasOwnProperty.call(message, "inviteCode")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.inviteCode); if (message.inviteExpiration != null && Object.hasOwnProperty.call(message, "inviteExpiration")) writer.uint32(/* id 3, wireType 0 =*/24).int64(message.inviteExpiration); if (message.groupName != null && Object.hasOwnProperty.call(message, "groupName")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.groupName); if (message.jpegThumbnail != null && Object.hasOwnProperty.call(message, "jpegThumbnail")) writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.jpegThumbnail); if (message.caption != null && Object.hasOwnProperty.call(message, "caption")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.caption); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); return writer; }; /** * Encodes the specified GroupInviteMessage message, length delimited. Does not implicitly {@link proto.GroupInviteMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.GroupInviteMessage * @static * @param {proto.IGroupInviteMessage} message GroupInviteMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ GroupInviteMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a GroupInviteMessage message from the specified reader or buffer. * @function decode * @memberof proto.GroupInviteMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.GroupInviteMessage} GroupInviteMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ GroupInviteMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.GroupInviteMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.groupJid = reader.string(); break; case 2: message.inviteCode = reader.string(); break; case 3: message.inviteExpiration = reader.int64(); break; case 4: message.groupName = reader.string(); break; case 5: message.jpegThumbnail = reader.bytes(); break; case 6: message.caption = reader.string(); break; case 7: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a GroupInviteMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.GroupInviteMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.GroupInviteMessage} GroupInviteMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ GroupInviteMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a GroupInviteMessage message. * @function verify * @memberof proto.GroupInviteMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ GroupInviteMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.groupJid != null && message.hasOwnProperty("groupJid")) if (!$util.isString(message.groupJid)) return "groupJid: string expected"; if (message.inviteCode != null && message.hasOwnProperty("inviteCode")) if (!$util.isString(message.inviteCode)) return "inviteCode: string expected"; if (message.inviteExpiration != null && message.hasOwnProperty("inviteExpiration")) if (!$util.isInteger(message.inviteExpiration) && !(message.inviteExpiration && $util.isInteger(message.inviteExpiration.low) && $util.isInteger(message.inviteExpiration.high))) return "inviteExpiration: integer|Long expected"; if (message.groupName != null && message.hasOwnProperty("groupName")) if (!$util.isString(message.groupName)) return "groupName: string expected"; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) if (!(message.jpegThumbnail && typeof message.jpegThumbnail.length === "number" || $util.isString(message.jpegThumbnail))) return "jpegThumbnail: buffer expected"; if (message.caption != null && message.hasOwnProperty("caption")) if (!$util.isString(message.caption)) return "caption: string expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } return null; }; /** * Creates a GroupInviteMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.GroupInviteMessage * @static * @param {Object.} object Plain object * @returns {proto.GroupInviteMessage} GroupInviteMessage */ GroupInviteMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.GroupInviteMessage) return object; var message = new $root.proto.GroupInviteMessage(); if (object.groupJid != null) message.groupJid = String(object.groupJid); if (object.inviteCode != null) message.inviteCode = String(object.inviteCode); if (object.inviteExpiration != null) if ($util.Long) (message.inviteExpiration = $util.Long.fromValue(object.inviteExpiration)).unsigned = false; else if (typeof object.inviteExpiration === "string") message.inviteExpiration = parseInt(object.inviteExpiration, 10); else if (typeof object.inviteExpiration === "number") message.inviteExpiration = object.inviteExpiration; else if (typeof object.inviteExpiration === "object") message.inviteExpiration = new $util.LongBits(object.inviteExpiration.low >>> 0, object.inviteExpiration.high >>> 0).toNumber(); if (object.groupName != null) message.groupName = String(object.groupName); if (object.jpegThumbnail != null) if (typeof object.jpegThumbnail === "string") $util.base64.decode(object.jpegThumbnail, message.jpegThumbnail = $util.newBuffer($util.base64.length(object.jpegThumbnail)), 0); else if (object.jpegThumbnail.length) message.jpegThumbnail = object.jpegThumbnail; if (object.caption != null) message.caption = String(object.caption); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.GroupInviteMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a GroupInviteMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.GroupInviteMessage * @static * @param {proto.GroupInviteMessage} message GroupInviteMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ GroupInviteMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.groupJid = ""; object.inviteCode = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.inviteExpiration = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.inviteExpiration = options.longs === String ? "0" : 0; object.groupName = ""; if (options.bytes === String) object.jpegThumbnail = ""; else { object.jpegThumbnail = []; if (options.bytes !== Array) object.jpegThumbnail = $util.newBuffer(object.jpegThumbnail); } object.caption = ""; object.contextInfo = null; } if (message.groupJid != null && message.hasOwnProperty("groupJid")) object.groupJid = message.groupJid; if (message.inviteCode != null && message.hasOwnProperty("inviteCode")) object.inviteCode = message.inviteCode; if (message.inviteExpiration != null && message.hasOwnProperty("inviteExpiration")) if (typeof message.inviteExpiration === "number") object.inviteExpiration = options.longs === String ? String(message.inviteExpiration) : message.inviteExpiration; else object.inviteExpiration = options.longs === String ? $util.Long.prototype.toString.call(message.inviteExpiration) : options.longs === Number ? new $util.LongBits(message.inviteExpiration.low >>> 0, message.inviteExpiration.high >>> 0).toNumber() : message.inviteExpiration; if (message.groupName != null && message.hasOwnProperty("groupName")) object.groupName = message.groupName; if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) object.jpegThumbnail = options.bytes === String ? $util.base64.encode(message.jpegThumbnail, 0, message.jpegThumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.jpegThumbnail) : message.jpegThumbnail; if (message.caption != null && message.hasOwnProperty("caption")) object.caption = message.caption; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this GroupInviteMessage to JSON. * @function toJSON * @memberof proto.GroupInviteMessage * @instance * @returns {Object.} JSON object */ GroupInviteMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return GroupInviteMessage; })(); proto.EphemeralSetting = (function() { /** * Properties of an EphemeralSetting. * @memberof proto * @interface IEphemeralSetting * @property {string|null} [chatJid] EphemeralSetting chatJid * @property {number|null} [ephemeralExpiration] EphemeralSetting ephemeralExpiration * @property {number|Long|null} [ephemeralSettingTimestamp] EphemeralSetting ephemeralSettingTimestamp */ /** * Constructs a new EphemeralSetting. * @memberof proto * @classdesc Represents an EphemeralSetting. * @implements IEphemeralSetting * @constructor * @param {proto.IEphemeralSetting=} [properties] Properties to set */ function EphemeralSetting(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * EphemeralSetting chatJid. * @member {string} chatJid * @memberof proto.EphemeralSetting * @instance */ EphemeralSetting.prototype.chatJid = ""; /** * EphemeralSetting ephemeralExpiration. * @member {number} ephemeralExpiration * @memberof proto.EphemeralSetting * @instance */ EphemeralSetting.prototype.ephemeralExpiration = 0; /** * EphemeralSetting ephemeralSettingTimestamp. * @member {number|Long} ephemeralSettingTimestamp * @memberof proto.EphemeralSetting * @instance */ EphemeralSetting.prototype.ephemeralSettingTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new EphemeralSetting instance using the specified properties. * @function create * @memberof proto.EphemeralSetting * @static * @param {proto.IEphemeralSetting=} [properties] Properties to set * @returns {proto.EphemeralSetting} EphemeralSetting instance */ EphemeralSetting.create = function create(properties) { return new EphemeralSetting(properties); }; /** * Encodes the specified EphemeralSetting message. Does not implicitly {@link proto.EphemeralSetting.verify|verify} messages. * @function encode * @memberof proto.EphemeralSetting * @static * @param {proto.IEphemeralSetting} message EphemeralSetting message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ EphemeralSetting.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.chatJid != null && Object.hasOwnProperty.call(message, "chatJid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.chatJid); if (message.ephemeralExpiration != null && Object.hasOwnProperty.call(message, "ephemeralExpiration")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.ephemeralExpiration); if (message.ephemeralSettingTimestamp != null && Object.hasOwnProperty.call(message, "ephemeralSettingTimestamp")) writer.uint32(/* id 3, wireType 0 =*/24).int64(message.ephemeralSettingTimestamp); return writer; }; /** * Encodes the specified EphemeralSetting message, length delimited. Does not implicitly {@link proto.EphemeralSetting.verify|verify} messages. * @function encodeDelimited * @memberof proto.EphemeralSetting * @static * @param {proto.IEphemeralSetting} message EphemeralSetting message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ EphemeralSetting.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an EphemeralSetting message from the specified reader or buffer. * @function decode * @memberof proto.EphemeralSetting * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.EphemeralSetting} EphemeralSetting * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ EphemeralSetting.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.EphemeralSetting(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.chatJid = reader.string(); break; case 2: message.ephemeralExpiration = reader.uint32(); break; case 3: message.ephemeralSettingTimestamp = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an EphemeralSetting message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.EphemeralSetting * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.EphemeralSetting} EphemeralSetting * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ EphemeralSetting.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an EphemeralSetting message. * @function verify * @memberof proto.EphemeralSetting * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ EphemeralSetting.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.chatJid != null && message.hasOwnProperty("chatJid")) if (!$util.isString(message.chatJid)) return "chatJid: string expected"; if (message.ephemeralExpiration != null && message.hasOwnProperty("ephemeralExpiration")) if (!$util.isInteger(message.ephemeralExpiration)) return "ephemeralExpiration: integer expected"; if (message.ephemeralSettingTimestamp != null && message.hasOwnProperty("ephemeralSettingTimestamp")) if (!$util.isInteger(message.ephemeralSettingTimestamp) && !(message.ephemeralSettingTimestamp && $util.isInteger(message.ephemeralSettingTimestamp.low) && $util.isInteger(message.ephemeralSettingTimestamp.high))) return "ephemeralSettingTimestamp: integer|Long expected"; return null; }; /** * Creates an EphemeralSetting message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.EphemeralSetting * @static * @param {Object.} object Plain object * @returns {proto.EphemeralSetting} EphemeralSetting */ EphemeralSetting.fromObject = function fromObject(object) { if (object instanceof $root.proto.EphemeralSetting) return object; var message = new $root.proto.EphemeralSetting(); if (object.chatJid != null) message.chatJid = String(object.chatJid); if (object.ephemeralExpiration != null) message.ephemeralExpiration = object.ephemeralExpiration >>> 0; if (object.ephemeralSettingTimestamp != null) if ($util.Long) (message.ephemeralSettingTimestamp = $util.Long.fromValue(object.ephemeralSettingTimestamp)).unsigned = false; else if (typeof object.ephemeralSettingTimestamp === "string") message.ephemeralSettingTimestamp = parseInt(object.ephemeralSettingTimestamp, 10); else if (typeof object.ephemeralSettingTimestamp === "number") message.ephemeralSettingTimestamp = object.ephemeralSettingTimestamp; else if (typeof object.ephemeralSettingTimestamp === "object") message.ephemeralSettingTimestamp = new $util.LongBits(object.ephemeralSettingTimestamp.low >>> 0, object.ephemeralSettingTimestamp.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from an EphemeralSetting message. Also converts values to other types if specified. * @function toObject * @memberof proto.EphemeralSetting * @static * @param {proto.EphemeralSetting} message EphemeralSetting * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ EphemeralSetting.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.chatJid = ""; object.ephemeralExpiration = 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.ephemeralSettingTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.ephemeralSettingTimestamp = options.longs === String ? "0" : 0; } if (message.chatJid != null && message.hasOwnProperty("chatJid")) object.chatJid = message.chatJid; if (message.ephemeralExpiration != null && message.hasOwnProperty("ephemeralExpiration")) object.ephemeralExpiration = message.ephemeralExpiration; if (message.ephemeralSettingTimestamp != null && message.hasOwnProperty("ephemeralSettingTimestamp")) if (typeof message.ephemeralSettingTimestamp === "number") object.ephemeralSettingTimestamp = options.longs === String ? String(message.ephemeralSettingTimestamp) : message.ephemeralSettingTimestamp; else object.ephemeralSettingTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.ephemeralSettingTimestamp) : options.longs === Number ? new $util.LongBits(message.ephemeralSettingTimestamp.low >>> 0, message.ephemeralSettingTimestamp.high >>> 0).toNumber() : message.ephemeralSettingTimestamp; return object; }; /** * Converts this EphemeralSetting to JSON. * @function toJSON * @memberof proto.EphemeralSetting * @instance * @returns {Object.} JSON object */ EphemeralSetting.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return EphemeralSetting; })(); proto.DeviceSentMessage = (function() { /** * Properties of a DeviceSentMessage. * @memberof proto * @interface IDeviceSentMessage * @property {string|null} [destinationJid] DeviceSentMessage destinationJid * @property {proto.IMessage|null} [message] DeviceSentMessage message * @property {string|null} [phash] DeviceSentMessage phash * @property {Array.|null} [broadcastEphemeralSettings] DeviceSentMessage broadcastEphemeralSettings */ /** * Constructs a new DeviceSentMessage. * @memberof proto * @classdesc Represents a DeviceSentMessage. * @implements IDeviceSentMessage * @constructor * @param {proto.IDeviceSentMessage=} [properties] Properties to set */ function DeviceSentMessage(properties) { this.broadcastEphemeralSettings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * DeviceSentMessage destinationJid. * @member {string} destinationJid * @memberof proto.DeviceSentMessage * @instance */ DeviceSentMessage.prototype.destinationJid = ""; /** * DeviceSentMessage message. * @member {proto.IMessage|null|undefined} message * @memberof proto.DeviceSentMessage * @instance */ DeviceSentMessage.prototype.message = null; /** * DeviceSentMessage phash. * @member {string} phash * @memberof proto.DeviceSentMessage * @instance */ DeviceSentMessage.prototype.phash = ""; /** * DeviceSentMessage broadcastEphemeralSettings. * @member {Array.} broadcastEphemeralSettings * @memberof proto.DeviceSentMessage * @instance */ DeviceSentMessage.prototype.broadcastEphemeralSettings = $util.emptyArray; /** * Creates a new DeviceSentMessage instance using the specified properties. * @function create * @memberof proto.DeviceSentMessage * @static * @param {proto.IDeviceSentMessage=} [properties] Properties to set * @returns {proto.DeviceSentMessage} DeviceSentMessage instance */ DeviceSentMessage.create = function create(properties) { return new DeviceSentMessage(properties); }; /** * Encodes the specified DeviceSentMessage message. Does not implicitly {@link proto.DeviceSentMessage.verify|verify} messages. * @function encode * @memberof proto.DeviceSentMessage * @static * @param {proto.IDeviceSentMessage} message DeviceSentMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeviceSentMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.destinationJid != null && Object.hasOwnProperty.call(message, "destinationJid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.destinationJid); if (message.message != null && Object.hasOwnProperty.call(message, "message")) $root.proto.Message.encode(message.message, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.phash != null && Object.hasOwnProperty.call(message, "phash")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.phash); if (message.broadcastEphemeralSettings != null && message.broadcastEphemeralSettings.length) for (var i = 0; i < message.broadcastEphemeralSettings.length; ++i) $root.proto.EphemeralSetting.encode(message.broadcastEphemeralSettings[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** * Encodes the specified DeviceSentMessage message, length delimited. Does not implicitly {@link proto.DeviceSentMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.DeviceSentMessage * @static * @param {proto.IDeviceSentMessage} message DeviceSentMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeviceSentMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DeviceSentMessage message from the specified reader or buffer. * @function decode * @memberof proto.DeviceSentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.DeviceSentMessage} DeviceSentMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeviceSentMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.DeviceSentMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.destinationJid = reader.string(); break; case 2: message.message = $root.proto.Message.decode(reader, reader.uint32()); break; case 3: message.phash = reader.string(); break; case 4: if (!(message.broadcastEphemeralSettings && message.broadcastEphemeralSettings.length)) message.broadcastEphemeralSettings = []; message.broadcastEphemeralSettings.push($root.proto.EphemeralSetting.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DeviceSentMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.DeviceSentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.DeviceSentMessage} DeviceSentMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeviceSentMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DeviceSentMessage message. * @function verify * @memberof proto.DeviceSentMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DeviceSentMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.destinationJid != null && message.hasOwnProperty("destinationJid")) if (!$util.isString(message.destinationJid)) return "destinationJid: string expected"; if (message.message != null && message.hasOwnProperty("message")) { var error = $root.proto.Message.verify(message.message); if (error) return "message." + error; } if (message.phash != null && message.hasOwnProperty("phash")) if (!$util.isString(message.phash)) return "phash: string expected"; if (message.broadcastEphemeralSettings != null && message.hasOwnProperty("broadcastEphemeralSettings")) { if (!Array.isArray(message.broadcastEphemeralSettings)) return "broadcastEphemeralSettings: array expected"; for (var i = 0; i < message.broadcastEphemeralSettings.length; ++i) { var error = $root.proto.EphemeralSetting.verify(message.broadcastEphemeralSettings[i]); if (error) return "broadcastEphemeralSettings." + error; } } return null; }; /** * Creates a DeviceSentMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.DeviceSentMessage * @static * @param {Object.} object Plain object * @returns {proto.DeviceSentMessage} DeviceSentMessage */ DeviceSentMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.DeviceSentMessage) return object; var message = new $root.proto.DeviceSentMessage(); if (object.destinationJid != null) message.destinationJid = String(object.destinationJid); if (object.message != null) { if (typeof object.message !== "object") throw TypeError(".proto.DeviceSentMessage.message: object expected"); message.message = $root.proto.Message.fromObject(object.message); } if (object.phash != null) message.phash = String(object.phash); if (object.broadcastEphemeralSettings) { if (!Array.isArray(object.broadcastEphemeralSettings)) throw TypeError(".proto.DeviceSentMessage.broadcastEphemeralSettings: array expected"); message.broadcastEphemeralSettings = []; for (var i = 0; i < object.broadcastEphemeralSettings.length; ++i) { if (typeof object.broadcastEphemeralSettings[i] !== "object") throw TypeError(".proto.DeviceSentMessage.broadcastEphemeralSettings: object expected"); message.broadcastEphemeralSettings[i] = $root.proto.EphemeralSetting.fromObject(object.broadcastEphemeralSettings[i]); } } return message; }; /** * Creates a plain object from a DeviceSentMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.DeviceSentMessage * @static * @param {proto.DeviceSentMessage} message DeviceSentMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ DeviceSentMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.broadcastEphemeralSettings = []; if (options.defaults) { object.destinationJid = ""; object.message = null; object.phash = ""; } if (message.destinationJid != null && message.hasOwnProperty("destinationJid")) object.destinationJid = message.destinationJid; if (message.message != null && message.hasOwnProperty("message")) object.message = $root.proto.Message.toObject(message.message, options); if (message.phash != null && message.hasOwnProperty("phash")) object.phash = message.phash; if (message.broadcastEphemeralSettings && message.broadcastEphemeralSettings.length) { object.broadcastEphemeralSettings = []; for (var j = 0; j < message.broadcastEphemeralSettings.length; ++j) object.broadcastEphemeralSettings[j] = $root.proto.EphemeralSetting.toObject(message.broadcastEphemeralSettings[j], options); } return object; }; /** * Converts this DeviceSentMessage to JSON. * @function toJSON * @memberof proto.DeviceSentMessage * @instance * @returns {Object.} JSON object */ DeviceSentMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DeviceSentMessage; })(); proto.FutureProofMessage = (function() { /** * Properties of a FutureProofMessage. * @memberof proto * @interface IFutureProofMessage * @property {proto.IMessage|null} [message] FutureProofMessage message */ /** * Constructs a new FutureProofMessage. * @memberof proto * @classdesc Represents a FutureProofMessage. * @implements IFutureProofMessage * @constructor * @param {proto.IFutureProofMessage=} [properties] Properties to set */ function FutureProofMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * FutureProofMessage message. * @member {proto.IMessage|null|undefined} message * @memberof proto.FutureProofMessage * @instance */ FutureProofMessage.prototype.message = null; /** * Creates a new FutureProofMessage instance using the specified properties. * @function create * @memberof proto.FutureProofMessage * @static * @param {proto.IFutureProofMessage=} [properties] Properties to set * @returns {proto.FutureProofMessage} FutureProofMessage instance */ FutureProofMessage.create = function create(properties) { return new FutureProofMessage(properties); }; /** * Encodes the specified FutureProofMessage message. Does not implicitly {@link proto.FutureProofMessage.verify|verify} messages. * @function encode * @memberof proto.FutureProofMessage * @static * @param {proto.IFutureProofMessage} message FutureProofMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ FutureProofMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.message != null && Object.hasOwnProperty.call(message, "message")) $root.proto.Message.encode(message.message, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified FutureProofMessage message, length delimited. Does not implicitly {@link proto.FutureProofMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.FutureProofMessage * @static * @param {proto.IFutureProofMessage} message FutureProofMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ FutureProofMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a FutureProofMessage message from the specified reader or buffer. * @function decode * @memberof proto.FutureProofMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.FutureProofMessage} FutureProofMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ FutureProofMessage.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.FutureProofMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.message = $root.proto.Message.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a FutureProofMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.FutureProofMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.FutureProofMessage} FutureProofMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ FutureProofMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a FutureProofMessage message. * @function verify * @memberof proto.FutureProofMessage * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ FutureProofMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.message != null && message.hasOwnProperty("message")) { var error = $root.proto.Message.verify(message.message); if (error) return "message." + error; } return null; }; /** * Creates a FutureProofMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.FutureProofMessage * @static * @param {Object.} object Plain object * @returns {proto.FutureProofMessage} FutureProofMessage */ FutureProofMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.FutureProofMessage) return object; var message = new $root.proto.FutureProofMessage(); if (object.message != null) { if (typeof object.message !== "object") throw TypeError(".proto.FutureProofMessage.message: object expected"); message.message = $root.proto.Message.fromObject(object.message); } return message; }; /** * Creates a plain object from a FutureProofMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.FutureProofMessage * @static * @param {proto.FutureProofMessage} message FutureProofMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ FutureProofMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.message = null; if (message.message != null && message.hasOwnProperty("message")) object.message = $root.proto.Message.toObject(message.message, options); return object; }; /** * Converts this FutureProofMessage to JSON. * @function toJSON * @memberof proto.FutureProofMessage * @instance * @returns {Object.} JSON object */ FutureProofMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return FutureProofMessage; })(); proto.Message = (function() { /** * Properties of a Message. * @memberof proto * @interface IMessage * @property {string|null} [conversation] Message conversation * @property {proto.ISenderKeyDistributionMessage|null} [senderKeyDistributionMessage] Message senderKeyDistributionMessage * @property {proto.IImageMessage|null} [imageMessage] Message imageMessage * @property {proto.IContactMessage|null} [contactMessage] Message contactMessage * @property {proto.ILocationMessage|null} [locationMessage] Message locationMessage * @property {proto.IExtendedTextMessage|null} [extendedTextMessage] Message extendedTextMessage * @property {proto.IDocumentMessage|null} [documentMessage] Message documentMessage * @property {proto.IAudioMessage|null} [audioMessage] Message audioMessage * @property {proto.IVideoMessage|null} [videoMessage] Message videoMessage * @property {proto.ICall|null} [call] Message call * @property {proto.IChat|null} [chat] Message chat * @property {proto.IProtocolMessage|null} [protocolMessage] Message protocolMessage * @property {proto.IContactsArrayMessage|null} [contactsArrayMessage] Message contactsArrayMessage * @property {proto.IHighlyStructuredMessage|null} [highlyStructuredMessage] Message highlyStructuredMessage * @property {proto.ISenderKeyDistributionMessage|null} [fastRatchetKeySenderKeyDistributionMessage] Message fastRatchetKeySenderKeyDistributionMessage * @property {proto.ISendPaymentMessage|null} [sendPaymentMessage] Message sendPaymentMessage * @property {proto.ILiveLocationMessage|null} [liveLocationMessage] Message liveLocationMessage * @property {proto.IRequestPaymentMessage|null} [requestPaymentMessage] Message requestPaymentMessage * @property {proto.IDeclinePaymentRequestMessage|null} [declinePaymentRequestMessage] Message declinePaymentRequestMessage * @property {proto.ICancelPaymentRequestMessage|null} [cancelPaymentRequestMessage] Message cancelPaymentRequestMessage * @property {proto.ITemplateMessage|null} [templateMessage] Message templateMessage * @property {proto.IStickerMessage|null} [stickerMessage] Message stickerMessage * @property {proto.IGroupInviteMessage|null} [groupInviteMessage] Message groupInviteMessage * @property {proto.ITemplateButtonReplyMessage|null} [templateButtonReplyMessage] Message templateButtonReplyMessage * @property {proto.IProductMessage|null} [productMessage] Message productMessage * @property {proto.IDeviceSentMessage|null} [deviceSentMessage] Message deviceSentMessage * @property {proto.IListMessage|null} [listMessage] Message listMessage * @property {proto.IFutureProofMessage|null} [viewOnceMessage] Message viewOnceMessage * @property {proto.IOrderMessage|null} [orderMessage] Message orderMessage * @property {proto.IListResponseMessage|null} [listResponseMessage] Message listResponseMessage * @property {proto.IFutureProofMessage|null} [ephemeralMessage] Message ephemeralMessage */ /** * Constructs a new Message. * @memberof proto * @classdesc Represents a Message. * @implements IMessage * @constructor * @param {proto.IMessage=} [properties] Properties to set */ function Message(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * Message conversation. * @member {string} conversation * @memberof proto.Message * @instance */ Message.prototype.conversation = ""; /** * Message senderKeyDistributionMessage. * @member {proto.ISenderKeyDistributionMessage|null|undefined} senderKeyDistributionMessage * @memberof proto.Message * @instance */ Message.prototype.senderKeyDistributionMessage = null; /** * Message imageMessage. * @member {proto.IImageMessage|null|undefined} imageMessage * @memberof proto.Message * @instance */ Message.prototype.imageMessage = null; /** * Message contactMessage. * @member {proto.IContactMessage|null|undefined} contactMessage * @memberof proto.Message * @instance */ Message.prototype.contactMessage = null; /** * Message locationMessage. * @member {proto.ILocationMessage|null|undefined} locationMessage * @memberof proto.Message * @instance */ Message.prototype.locationMessage = null; /** * Message extendedTextMessage. * @member {proto.IExtendedTextMessage|null|undefined} extendedTextMessage * @memberof proto.Message * @instance */ Message.prototype.extendedTextMessage = null; /** * Message documentMessage. * @member {proto.IDocumentMessage|null|undefined} documentMessage * @memberof proto.Message * @instance */ Message.prototype.documentMessage = null; /** * Message audioMessage. * @member {proto.IAudioMessage|null|undefined} audioMessage * @memberof proto.Message * @instance */ Message.prototype.audioMessage = null; /** * Message videoMessage. * @member {proto.IVideoMessage|null|undefined} videoMessage * @memberof proto.Message * @instance */ Message.prototype.videoMessage = null; /** * Message call. * @member {proto.ICall|null|undefined} call * @memberof proto.Message * @instance */ Message.prototype.call = null; /** * Message chat. * @member {proto.IChat|null|undefined} chat * @memberof proto.Message * @instance */ Message.prototype.chat = null; /** * Message protocolMessage. * @member {proto.IProtocolMessage|null|undefined} protocolMessage * @memberof proto.Message * @instance */ Message.prototype.protocolMessage = null; /** * Message contactsArrayMessage. * @member {proto.IContactsArrayMessage|null|undefined} contactsArrayMessage * @memberof proto.Message * @instance */ Message.prototype.contactsArrayMessage = null; /** * Message highlyStructuredMessage. * @member {proto.IHighlyStructuredMessage|null|undefined} highlyStructuredMessage * @memberof proto.Message * @instance */ Message.prototype.highlyStructuredMessage = null; /** * Message fastRatchetKeySenderKeyDistributionMessage. * @member {proto.ISenderKeyDistributionMessage|null|undefined} fastRatchetKeySenderKeyDistributionMessage * @memberof proto.Message * @instance */ Message.prototype.fastRatchetKeySenderKeyDistributionMessage = null; /** * Message sendPaymentMessage. * @member {proto.ISendPaymentMessage|null|undefined} sendPaymentMessage * @memberof proto.Message * @instance */ Message.prototype.sendPaymentMessage = null; /** * Message liveLocationMessage. * @member {proto.ILiveLocationMessage|null|undefined} liveLocationMessage * @memberof proto.Message * @instance */ Message.prototype.liveLocationMessage = null; /** * Message requestPaymentMessage. * @member {proto.IRequestPaymentMessage|null|undefined} requestPaymentMessage * @memberof proto.Message * @instance */ Message.prototype.requestPaymentMessage = null; /** * Message declinePaymentRequestMessage. * @member {proto.IDeclinePaymentRequestMessage|null|undefined} declinePaymentRequestMessage * @memberof proto.Message * @instance */ Message.prototype.declinePaymentRequestMessage = null; /** * Message cancelPaymentRequestMessage. * @member {proto.ICancelPaymentRequestMessage|null|undefined} cancelPaymentRequestMessage * @memberof proto.Message * @instance */ Message.prototype.cancelPaymentRequestMessage = null; /** * Message templateMessage. * @member {proto.ITemplateMessage|null|undefined} templateMessage * @memberof proto.Message * @instance */ Message.prototype.templateMessage = null; /** * Message stickerMessage. * @member {proto.IStickerMessage|null|undefined} stickerMessage * @memberof proto.Message * @instance */ Message.prototype.stickerMessage = null; /** * Message groupInviteMessage. * @member {proto.IGroupInviteMessage|null|undefined} groupInviteMessage * @memberof proto.Message * @instance */ Message.prototype.groupInviteMessage = null; /** * Message templateButtonReplyMessage. * @member {proto.ITemplateButtonReplyMessage|null|undefined} templateButtonReplyMessage * @memberof proto.Message * @instance */ Message.prototype.templateButtonReplyMessage = null; /** * Message productMessage. * @member {proto.IProductMessage|null|undefined} productMessage * @memberof proto.Message * @instance */ Message.prototype.productMessage = null; /** * Message deviceSentMessage. * @member {proto.IDeviceSentMessage|null|undefined} deviceSentMessage * @memberof proto.Message * @instance */ Message.prototype.deviceSentMessage = null; /** * Message listMessage. * @member {proto.IListMessage|null|undefined} listMessage * @memberof proto.Message * @instance */ Message.prototype.listMessage = null; /** * Message viewOnceMessage. * @member {proto.IFutureProofMessage|null|undefined} viewOnceMessage * @memberof proto.Message * @instance */ Message.prototype.viewOnceMessage = null; /** * Message orderMessage. * @member {proto.IOrderMessage|null|undefined} orderMessage * @memberof proto.Message * @instance */ Message.prototype.orderMessage = null; /** * Message listResponseMessage. * @member {proto.IListResponseMessage|null|undefined} listResponseMessage * @memberof proto.Message * @instance */ Message.prototype.listResponseMessage = null; /** * Message ephemeralMessage. * @member {proto.IFutureProofMessage|null|undefined} ephemeralMessage * @memberof proto.Message * @instance */ Message.prototype.ephemeralMessage = null; /** * Creates a new Message instance using the specified properties. * @function create * @memberof proto.Message * @static * @param {proto.IMessage=} [properties] Properties to set * @returns {proto.Message} Message instance */ Message.create = function create(properties) { return new Message(properties); }; /** * Encodes the specified Message message. Does not implicitly {@link proto.Message.verify|verify} messages. * @function encode * @memberof proto.Message * @static * @param {proto.IMessage} message Message message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Message.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.conversation != null && Object.hasOwnProperty.call(message, "conversation")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.conversation); if (message.senderKeyDistributionMessage != null && Object.hasOwnProperty.call(message, "senderKeyDistributionMessage")) $root.proto.SenderKeyDistributionMessage.encode(message.senderKeyDistributionMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.imageMessage != null && Object.hasOwnProperty.call(message, "imageMessage")) $root.proto.ImageMessage.encode(message.imageMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.contactMessage != null && Object.hasOwnProperty.call(message, "contactMessage")) $root.proto.ContactMessage.encode(message.contactMessage, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.locationMessage != null && Object.hasOwnProperty.call(message, "locationMessage")) $root.proto.LocationMessage.encode(message.locationMessage, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.extendedTextMessage != null && Object.hasOwnProperty.call(message, "extendedTextMessage")) $root.proto.ExtendedTextMessage.encode(message.extendedTextMessage, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.documentMessage != null && Object.hasOwnProperty.call(message, "documentMessage")) $root.proto.DocumentMessage.encode(message.documentMessage, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.audioMessage != null && Object.hasOwnProperty.call(message, "audioMessage")) $root.proto.AudioMessage.encode(message.audioMessage, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.videoMessage != null && Object.hasOwnProperty.call(message, "videoMessage")) $root.proto.VideoMessage.encode(message.videoMessage, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); if (message.call != null && Object.hasOwnProperty.call(message, "call")) $root.proto.Call.encode(message.call, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); if (message.chat != null && Object.hasOwnProperty.call(message, "chat")) $root.proto.Chat.encode(message.chat, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); if (message.protocolMessage != null && Object.hasOwnProperty.call(message, "protocolMessage")) $root.proto.ProtocolMessage.encode(message.protocolMessage, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); if (message.contactsArrayMessage != null && Object.hasOwnProperty.call(message, "contactsArrayMessage")) $root.proto.ContactsArrayMessage.encode(message.contactsArrayMessage, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); if (message.highlyStructuredMessage != null && Object.hasOwnProperty.call(message, "highlyStructuredMessage")) $root.proto.HighlyStructuredMessage.encode(message.highlyStructuredMessage, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); if (message.fastRatchetKeySenderKeyDistributionMessage != null && Object.hasOwnProperty.call(message, "fastRatchetKeySenderKeyDistributionMessage")) $root.proto.SenderKeyDistributionMessage.encode(message.fastRatchetKeySenderKeyDistributionMessage, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); if (message.sendPaymentMessage != null && Object.hasOwnProperty.call(message, "sendPaymentMessage")) $root.proto.SendPaymentMessage.encode(message.sendPaymentMessage, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); if (message.liveLocationMessage != null && Object.hasOwnProperty.call(message, "liveLocationMessage")) $root.proto.LiveLocationMessage.encode(message.liveLocationMessage, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); if (message.requestPaymentMessage != null && Object.hasOwnProperty.call(message, "requestPaymentMessage")) $root.proto.RequestPaymentMessage.encode(message.requestPaymentMessage, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); if (message.declinePaymentRequestMessage != null && Object.hasOwnProperty.call(message, "declinePaymentRequestMessage")) $root.proto.DeclinePaymentRequestMessage.encode(message.declinePaymentRequestMessage, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); if (message.cancelPaymentRequestMessage != null && Object.hasOwnProperty.call(message, "cancelPaymentRequestMessage")) $root.proto.CancelPaymentRequestMessage.encode(message.cancelPaymentRequestMessage, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); if (message.templateMessage != null && Object.hasOwnProperty.call(message, "templateMessage")) $root.proto.TemplateMessage.encode(message.templateMessage, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim(); if (message.stickerMessage != null && Object.hasOwnProperty.call(message, "stickerMessage")) $root.proto.StickerMessage.encode(message.stickerMessage, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim(); if (message.groupInviteMessage != null && Object.hasOwnProperty.call(message, "groupInviteMessage")) $root.proto.GroupInviteMessage.encode(message.groupInviteMessage, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); if (message.templateButtonReplyMessage != null && Object.hasOwnProperty.call(message, "templateButtonReplyMessage")) $root.proto.TemplateButtonReplyMessage.encode(message.templateButtonReplyMessage, writer.uint32(/* id 29, wireType 2 =*/234).fork()).ldelim(); if (message.productMessage != null && Object.hasOwnProperty.call(message, "productMessage")) $root.proto.ProductMessage.encode(message.productMessage, writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim(); if (message.deviceSentMessage != null && Object.hasOwnProperty.call(message, "deviceSentMessage")) $root.proto.DeviceSentMessage.encode(message.deviceSentMessage, writer.uint32(/* id 31, wireType 2 =*/250).fork()).ldelim(); if (message.listMessage != null && Object.hasOwnProperty.call(message, "listMessage")) $root.proto.ListMessage.encode(message.listMessage, writer.uint32(/* id 36, wireType 2 =*/290).fork()).ldelim(); if (message.viewOnceMessage != null && Object.hasOwnProperty.call(message, "viewOnceMessage")) $root.proto.FutureProofMessage.encode(message.viewOnceMessage, writer.uint32(/* id 37, wireType 2 =*/298).fork()).ldelim(); if (message.orderMessage != null && Object.hasOwnProperty.call(message, "orderMessage")) $root.proto.OrderMessage.encode(message.orderMessage, writer.uint32(/* id 38, wireType 2 =*/306).fork()).ldelim(); if (message.listResponseMessage != null && Object.hasOwnProperty.call(message, "listResponseMessage")) $root.proto.ListResponseMessage.encode(message.listResponseMessage, writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim(); if (message.ephemeralMessage != null && Object.hasOwnProperty.call(message, "ephemeralMessage")) $root.proto.FutureProofMessage.encode(message.ephemeralMessage, writer.uint32(/* id 40, wireType 2 =*/322).fork()).ldelim(); return writer; }; /** * Encodes the specified Message message, length delimited. Does not implicitly {@link proto.Message.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message * @static * @param {proto.IMessage} message Message message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Message.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Message message from the specified reader or buffer. * @function decode * @memberof proto.Message * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message} Message * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Message.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.Message(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.conversation = reader.string(); break; case 2: message.senderKeyDistributionMessage = $root.proto.SenderKeyDistributionMessage.decode(reader, reader.uint32()); break; case 3: message.imageMessage = $root.proto.ImageMessage.decode(reader, reader.uint32()); break; case 4: message.contactMessage = $root.proto.ContactMessage.decode(reader, reader.uint32()); break; case 5: message.locationMessage = $root.proto.LocationMessage.decode(reader, reader.uint32()); break; case 6: message.extendedTextMessage = $root.proto.ExtendedTextMessage.decode(reader, reader.uint32()); break; case 7: message.documentMessage = $root.proto.DocumentMessage.decode(reader, reader.uint32()); break; case 8: message.audioMessage = $root.proto.AudioMessage.decode(reader, reader.uint32()); break; case 9: message.videoMessage = $root.proto.VideoMessage.decode(reader, reader.uint32()); break; case 10: message.call = $root.proto.Call.decode(reader, reader.uint32()); break; case 11: message.chat = $root.proto.Chat.decode(reader, reader.uint32()); break; case 12: message.protocolMessage = $root.proto.ProtocolMessage.decode(reader, reader.uint32()); break; case 13: message.contactsArrayMessage = $root.proto.ContactsArrayMessage.decode(reader, reader.uint32()); break; case 14: message.highlyStructuredMessage = $root.proto.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 15: message.fastRatchetKeySenderKeyDistributionMessage = $root.proto.SenderKeyDistributionMessage.decode(reader, reader.uint32()); break; case 16: message.sendPaymentMessage = $root.proto.SendPaymentMessage.decode(reader, reader.uint32()); break; case 18: message.liveLocationMessage = $root.proto.LiveLocationMessage.decode(reader, reader.uint32()); break; case 22: message.requestPaymentMessage = $root.proto.RequestPaymentMessage.decode(reader, reader.uint32()); break; case 23: message.declinePaymentRequestMessage = $root.proto.DeclinePaymentRequestMessage.decode(reader, reader.uint32()); break; case 24: message.cancelPaymentRequestMessage = $root.proto.CancelPaymentRequestMessage.decode(reader, reader.uint32()); break; case 25: message.templateMessage = $root.proto.TemplateMessage.decode(reader, reader.uint32()); break; case 26: message.stickerMessage = $root.proto.StickerMessage.decode(reader, reader.uint32()); break; case 28: message.groupInviteMessage = $root.proto.GroupInviteMessage.decode(reader, reader.uint32()); break; case 29: message.templateButtonReplyMessage = $root.proto.TemplateButtonReplyMessage.decode(reader, reader.uint32()); break; case 30: message.productMessage = $root.proto.ProductMessage.decode(reader, reader.uint32()); break; case 31: message.deviceSentMessage = $root.proto.DeviceSentMessage.decode(reader, reader.uint32()); break; case 36: message.listMessage = $root.proto.ListMessage.decode(reader, reader.uint32()); break; case 37: message.viewOnceMessage = $root.proto.FutureProofMessage.decode(reader, reader.uint32()); break; case 38: message.orderMessage = $root.proto.OrderMessage.decode(reader, reader.uint32()); break; case 39: message.listResponseMessage = $root.proto.ListResponseMessage.decode(reader, reader.uint32()); break; case 40: message.ephemeralMessage = $root.proto.FutureProofMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Message message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message} Message * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Message.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Message message. * @function verify * @memberof proto.Message * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Message.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.conversation != null && message.hasOwnProperty("conversation")) if (!$util.isString(message.conversation)) return "conversation: string expected"; if (message.senderKeyDistributionMessage != null && message.hasOwnProperty("senderKeyDistributionMessage")) { var error = $root.proto.SenderKeyDistributionMessage.verify(message.senderKeyDistributionMessage); if (error) return "senderKeyDistributionMessage." + error; } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { var error = $root.proto.ImageMessage.verify(message.imageMessage); if (error) return "imageMessage." + error; } if (message.contactMessage != null && message.hasOwnProperty("contactMessage")) { var error = $root.proto.ContactMessage.verify(message.contactMessage); if (error) return "contactMessage." + error; } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { var error = $root.proto.LocationMessage.verify(message.locationMessage); if (error) return "locationMessage." + error; } if (message.extendedTextMessage != null && message.hasOwnProperty("extendedTextMessage")) { var error = $root.proto.ExtendedTextMessage.verify(message.extendedTextMessage); if (error) return "extendedTextMessage." + error; } if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) { var error = $root.proto.DocumentMessage.verify(message.documentMessage); if (error) return "documentMessage." + error; } if (message.audioMessage != null && message.hasOwnProperty("audioMessage")) { var error = $root.proto.AudioMessage.verify(message.audioMessage); if (error) return "audioMessage." + error; } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { var error = $root.proto.VideoMessage.verify(message.videoMessage); if (error) return "videoMessage." + error; } if (message.call != null && message.hasOwnProperty("call")) { var error = $root.proto.Call.verify(message.call); if (error) return "call." + error; } if (message.chat != null && message.hasOwnProperty("chat")) { var error = $root.proto.Chat.verify(message.chat); if (error) return "chat." + error; } if (message.protocolMessage != null && message.hasOwnProperty("protocolMessage")) { var error = $root.proto.ProtocolMessage.verify(message.protocolMessage); if (error) return "protocolMessage." + error; } if (message.contactsArrayMessage != null && message.hasOwnProperty("contactsArrayMessage")) { var error = $root.proto.ContactsArrayMessage.verify(message.contactsArrayMessage); if (error) return "contactsArrayMessage." + error; } if (message.highlyStructuredMessage != null && message.hasOwnProperty("highlyStructuredMessage")) { var error = $root.proto.HighlyStructuredMessage.verify(message.highlyStructuredMessage); if (error) return "highlyStructuredMessage." + error; } if (message.fastRatchetKeySenderKeyDistributionMessage != null && message.hasOwnProperty("fastRatchetKeySenderKeyDistributionMessage")) { var error = $root.proto.SenderKeyDistributionMessage.verify(message.fastRatchetKeySenderKeyDistributionMessage); if (error) return "fastRatchetKeySenderKeyDistributionMessage." + error; } if (message.sendPaymentMessage != null && message.hasOwnProperty("sendPaymentMessage")) { var error = $root.proto.SendPaymentMessage.verify(message.sendPaymentMessage); if (error) return "sendPaymentMessage." + error; } if (message.liveLocationMessage != null && message.hasOwnProperty("liveLocationMessage")) { var error = $root.proto.LiveLocationMessage.verify(message.liveLocationMessage); if (error) return "liveLocationMessage." + error; } if (message.requestPaymentMessage != null && message.hasOwnProperty("requestPaymentMessage")) { var error = $root.proto.RequestPaymentMessage.verify(message.requestPaymentMessage); if (error) return "requestPaymentMessage." + error; } if (message.declinePaymentRequestMessage != null && message.hasOwnProperty("declinePaymentRequestMessage")) { var error = $root.proto.DeclinePaymentRequestMessage.verify(message.declinePaymentRequestMessage); if (error) return "declinePaymentRequestMessage." + error; } if (message.cancelPaymentRequestMessage != null && message.hasOwnProperty("cancelPaymentRequestMessage")) { var error = $root.proto.CancelPaymentRequestMessage.verify(message.cancelPaymentRequestMessage); if (error) return "cancelPaymentRequestMessage." + error; } if (message.templateMessage != null && message.hasOwnProperty("templateMessage")) { var error = $root.proto.TemplateMessage.verify(message.templateMessage); if (error) return "templateMessage." + error; } if (message.stickerMessage != null && message.hasOwnProperty("stickerMessage")) { var error = $root.proto.StickerMessage.verify(message.stickerMessage); if (error) return "stickerMessage." + error; } if (message.groupInviteMessage != null && message.hasOwnProperty("groupInviteMessage")) { var error = $root.proto.GroupInviteMessage.verify(message.groupInviteMessage); if (error) return "groupInviteMessage." + error; } if (message.templateButtonReplyMessage != null && message.hasOwnProperty("templateButtonReplyMessage")) { var error = $root.proto.TemplateButtonReplyMessage.verify(message.templateButtonReplyMessage); if (error) return "templateButtonReplyMessage." + error; } if (message.productMessage != null && message.hasOwnProperty("productMessage")) { var error = $root.proto.ProductMessage.verify(message.productMessage); if (error) return "productMessage." + error; } if (message.deviceSentMessage != null && message.hasOwnProperty("deviceSentMessage")) { var error = $root.proto.DeviceSentMessage.verify(message.deviceSentMessage); if (error) return "deviceSentMessage." + error; } if (message.listMessage != null && message.hasOwnProperty("listMessage")) { var error = $root.proto.ListMessage.verify(message.listMessage); if (error) return "listMessage." + error; } if (message.viewOnceMessage != null && message.hasOwnProperty("viewOnceMessage")) { var error = $root.proto.FutureProofMessage.verify(message.viewOnceMessage); if (error) return "viewOnceMessage." + error; } if (message.orderMessage != null && message.hasOwnProperty("orderMessage")) { var error = $root.proto.OrderMessage.verify(message.orderMessage); if (error) return "orderMessage." + error; } if (message.listResponseMessage != null && message.hasOwnProperty("listResponseMessage")) { var error = $root.proto.ListResponseMessage.verify(message.listResponseMessage); if (error) return "listResponseMessage." + error; } if (message.ephemeralMessage != null && message.hasOwnProperty("ephemeralMessage")) { var error = $root.proto.FutureProofMessage.verify(message.ephemeralMessage); if (error) return "ephemeralMessage." + error; } return null; }; /** * Creates a Message message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message * @static * @param {Object.} object Plain object * @returns {proto.Message} Message */ Message.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message) return object; var message = new $root.proto.Message(); if (object.conversation != null) message.conversation = String(object.conversation); if (object.senderKeyDistributionMessage != null) { if (typeof object.senderKeyDistributionMessage !== "object") throw TypeError(".proto.Message.senderKeyDistributionMessage: object expected"); message.senderKeyDistributionMessage = $root.proto.SenderKeyDistributionMessage.fromObject(object.senderKeyDistributionMessage); } if (object.imageMessage != null) { if (typeof object.imageMessage !== "object") throw TypeError(".proto.Message.imageMessage: object expected"); message.imageMessage = $root.proto.ImageMessage.fromObject(object.imageMessage); } if (object.contactMessage != null) { if (typeof object.contactMessage !== "object") throw TypeError(".proto.Message.contactMessage: object expected"); message.contactMessage = $root.proto.ContactMessage.fromObject(object.contactMessage); } if (object.locationMessage != null) { if (typeof object.locationMessage !== "object") throw TypeError(".proto.Message.locationMessage: object expected"); message.locationMessage = $root.proto.LocationMessage.fromObject(object.locationMessage); } if (object.extendedTextMessage != null) { if (typeof object.extendedTextMessage !== "object") throw TypeError(".proto.Message.extendedTextMessage: object expected"); message.extendedTextMessage = $root.proto.ExtendedTextMessage.fromObject(object.extendedTextMessage); } if (object.documentMessage != null) { if (typeof object.documentMessage !== "object") throw TypeError(".proto.Message.documentMessage: object expected"); message.documentMessage = $root.proto.DocumentMessage.fromObject(object.documentMessage); } if (object.audioMessage != null) { if (typeof object.audioMessage !== "object") throw TypeError(".proto.Message.audioMessage: object expected"); message.audioMessage = $root.proto.AudioMessage.fromObject(object.audioMessage); } if (object.videoMessage != null) { if (typeof object.videoMessage !== "object") throw TypeError(".proto.Message.videoMessage: object expected"); message.videoMessage = $root.proto.VideoMessage.fromObject(object.videoMessage); } if (object.call != null) { if (typeof object.call !== "object") throw TypeError(".proto.Message.call: object expected"); message.call = $root.proto.Call.fromObject(object.call); } if (object.chat != null) { if (typeof object.chat !== "object") throw TypeError(".proto.Message.chat: object expected"); message.chat = $root.proto.Chat.fromObject(object.chat); } if (object.protocolMessage != null) { if (typeof object.protocolMessage !== "object") throw TypeError(".proto.Message.protocolMessage: object expected"); message.protocolMessage = $root.proto.ProtocolMessage.fromObject(object.protocolMessage); } if (object.contactsArrayMessage != null) { if (typeof object.contactsArrayMessage !== "object") throw TypeError(".proto.Message.contactsArrayMessage: object expected"); message.contactsArrayMessage = $root.proto.ContactsArrayMessage.fromObject(object.contactsArrayMessage); } if (object.highlyStructuredMessage != null) { if (typeof object.highlyStructuredMessage !== "object") throw TypeError(".proto.Message.highlyStructuredMessage: object expected"); message.highlyStructuredMessage = $root.proto.HighlyStructuredMessage.fromObject(object.highlyStructuredMessage); } if (object.fastRatchetKeySenderKeyDistributionMessage != null) { if (typeof object.fastRatchetKeySenderKeyDistributionMessage !== "object") throw TypeError(".proto.Message.fastRatchetKeySenderKeyDistributionMessage: object expected"); message.fastRatchetKeySenderKeyDistributionMessage = $root.proto.SenderKeyDistributionMessage.fromObject(object.fastRatchetKeySenderKeyDistributionMessage); } if (object.sendPaymentMessage != null) { if (typeof object.sendPaymentMessage !== "object") throw TypeError(".proto.Message.sendPaymentMessage: object expected"); message.sendPaymentMessage = $root.proto.SendPaymentMessage.fromObject(object.sendPaymentMessage); } if (object.liveLocationMessage != null) { if (typeof object.liveLocationMessage !== "object") throw TypeError(".proto.Message.liveLocationMessage: object expected"); message.liveLocationMessage = $root.proto.LiveLocationMessage.fromObject(object.liveLocationMessage); } if (object.requestPaymentMessage != null) { if (typeof object.requestPaymentMessage !== "object") throw TypeError(".proto.Message.requestPaymentMessage: object expected"); message.requestPaymentMessage = $root.proto.RequestPaymentMessage.fromObject(object.requestPaymentMessage); } if (object.declinePaymentRequestMessage != null) { if (typeof object.declinePaymentRequestMessage !== "object") throw TypeError(".proto.Message.declinePaymentRequestMessage: object expected"); message.declinePaymentRequestMessage = $root.proto.DeclinePaymentRequestMessage.fromObject(object.declinePaymentRequestMessage); } if (object.cancelPaymentRequestMessage != null) { if (typeof object.cancelPaymentRequestMessage !== "object") throw TypeError(".proto.Message.cancelPaymentRequestMessage: object expected"); message.cancelPaymentRequestMessage = $root.proto.CancelPaymentRequestMessage.fromObject(object.cancelPaymentRequestMessage); } if (object.templateMessage != null) { if (typeof object.templateMessage !== "object") throw TypeError(".proto.Message.templateMessage: object expected"); message.templateMessage = $root.proto.TemplateMessage.fromObject(object.templateMessage); } if (object.stickerMessage != null) { if (typeof object.stickerMessage !== "object") throw TypeError(".proto.Message.stickerMessage: object expected"); message.stickerMessage = $root.proto.StickerMessage.fromObject(object.stickerMessage); } if (object.groupInviteMessage != null) { if (typeof object.groupInviteMessage !== "object") throw TypeError(".proto.Message.groupInviteMessage: object expected"); message.groupInviteMessage = $root.proto.GroupInviteMessage.fromObject(object.groupInviteMessage); } if (object.templateButtonReplyMessage != null) { if (typeof object.templateButtonReplyMessage !== "object") throw TypeError(".proto.Message.templateButtonReplyMessage: object expected"); message.templateButtonReplyMessage = $root.proto.TemplateButtonReplyMessage.fromObject(object.templateButtonReplyMessage); } if (object.productMessage != null) { if (typeof object.productMessage !== "object") throw TypeError(".proto.Message.productMessage: object expected"); message.productMessage = $root.proto.ProductMessage.fromObject(object.productMessage); } if (object.deviceSentMessage != null) { if (typeof object.deviceSentMessage !== "object") throw TypeError(".proto.Message.deviceSentMessage: object expected"); message.deviceSentMessage = $root.proto.DeviceSentMessage.fromObject(object.deviceSentMessage); } if (object.listMessage != null) { if (typeof object.listMessage !== "object") throw TypeError(".proto.Message.listMessage: object expected"); message.listMessage = $root.proto.ListMessage.fromObject(object.listMessage); } if (object.viewOnceMessage != null) { if (typeof object.viewOnceMessage !== "object") throw TypeError(".proto.Message.viewOnceMessage: object expected"); message.viewOnceMessage = $root.proto.FutureProofMessage.fromObject(object.viewOnceMessage); } if (object.orderMessage != null) { if (typeof object.orderMessage !== "object") throw TypeError(".proto.Message.orderMessage: object expected"); message.orderMessage = $root.proto.OrderMessage.fromObject(object.orderMessage); } if (object.listResponseMessage != null) { if (typeof object.listResponseMessage !== "object") throw TypeError(".proto.Message.listResponseMessage: object expected"); message.listResponseMessage = $root.proto.ListResponseMessage.fromObject(object.listResponseMessage); } if (object.ephemeralMessage != null) { if (typeof object.ephemeralMessage !== "object") throw TypeError(".proto.Message.ephemeralMessage: object expected"); message.ephemeralMessage = $root.proto.FutureProofMessage.fromObject(object.ephemeralMessage); } return message; }; /** * Creates a plain object from a Message message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message * @static * @param {proto.Message} message Message * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ Message.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.conversation = ""; object.senderKeyDistributionMessage = null; object.imageMessage = null; object.contactMessage = null; object.locationMessage = null; object.extendedTextMessage = null; object.documentMessage = null; object.audioMessage = null; object.videoMessage = null; object.call = null; object.chat = null; object.protocolMessage = null; object.contactsArrayMessage = null; object.highlyStructuredMessage = null; object.fastRatchetKeySenderKeyDistributionMessage = null; object.sendPaymentMessage = null; object.liveLocationMessage = null; object.requestPaymentMessage = null; object.declinePaymentRequestMessage = null; object.cancelPaymentRequestMessage = null; object.templateMessage = null; object.stickerMessage = null; object.groupInviteMessage = null; object.templateButtonReplyMessage = null; object.productMessage = null; object.deviceSentMessage = null; object.listMessage = null; object.viewOnceMessage = null; object.orderMessage = null; object.listResponseMessage = null; object.ephemeralMessage = null; } if (message.conversation != null && message.hasOwnProperty("conversation")) object.conversation = message.conversation; if (message.senderKeyDistributionMessage != null && message.hasOwnProperty("senderKeyDistributionMessage")) object.senderKeyDistributionMessage = $root.proto.SenderKeyDistributionMessage.toObject(message.senderKeyDistributionMessage, options); if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) object.imageMessage = $root.proto.ImageMessage.toObject(message.imageMessage, options); if (message.contactMessage != null && message.hasOwnProperty("contactMessage")) object.contactMessage = $root.proto.ContactMessage.toObject(message.contactMessage, options); if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) object.locationMessage = $root.proto.LocationMessage.toObject(message.locationMessage, options); if (message.extendedTextMessage != null && message.hasOwnProperty("extendedTextMessage")) object.extendedTextMessage = $root.proto.ExtendedTextMessage.toObject(message.extendedTextMessage, options); if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) object.documentMessage = $root.proto.DocumentMessage.toObject(message.documentMessage, options); if (message.audioMessage != null && message.hasOwnProperty("audioMessage")) object.audioMessage = $root.proto.AudioMessage.toObject(message.audioMessage, options); if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) object.videoMessage = $root.proto.VideoMessage.toObject(message.videoMessage, options); if (message.call != null && message.hasOwnProperty("call")) object.call = $root.proto.Call.toObject(message.call, options); if (message.chat != null && message.hasOwnProperty("chat")) object.chat = $root.proto.Chat.toObject(message.chat, options); if (message.protocolMessage != null && message.hasOwnProperty("protocolMessage")) object.protocolMessage = $root.proto.ProtocolMessage.toObject(message.protocolMessage, options); if (message.contactsArrayMessage != null && message.hasOwnProperty("contactsArrayMessage")) object.contactsArrayMessage = $root.proto.ContactsArrayMessage.toObject(message.contactsArrayMessage, options); if (message.highlyStructuredMessage != null && message.hasOwnProperty("highlyStructuredMessage")) object.highlyStructuredMessage = $root.proto.HighlyStructuredMessage.toObject(message.highlyStructuredMessage, options); if (message.fastRatchetKeySenderKeyDistributionMessage != null && message.hasOwnProperty("fastRatchetKeySenderKeyDistributionMessage")) object.fastRatchetKeySenderKeyDistributionMessage = $root.proto.SenderKeyDistributionMessage.toObject(message.fastRatchetKeySenderKeyDistributionMessage, options); if (message.sendPaymentMessage != null && message.hasOwnProperty("sendPaymentMessage")) object.sendPaymentMessage = $root.proto.SendPaymentMessage.toObject(message.sendPaymentMessage, options); if (message.liveLocationMessage != null && message.hasOwnProperty("liveLocationMessage")) object.liveLocationMessage = $root.proto.LiveLocationMessage.toObject(message.liveLocationMessage, options); if (message.requestPaymentMessage != null && message.hasOwnProperty("requestPaymentMessage")) object.requestPaymentMessage = $root.proto.RequestPaymentMessage.toObject(message.requestPaymentMessage, options); if (message.declinePaymentRequestMessage != null && message.hasOwnProperty("declinePaymentRequestMessage")) object.declinePaymentRequestMessage = $root.proto.DeclinePaymentRequestMessage.toObject(message.declinePaymentRequestMessage, options); if (message.cancelPaymentRequestMessage != null && message.hasOwnProperty("cancelPaymentRequestMessage")) object.cancelPaymentRequestMessage = $root.proto.CancelPaymentRequestMessage.toObject(message.cancelPaymentRequestMessage, options); if (message.templateMessage != null && message.hasOwnProperty("templateMessage")) object.templateMessage = $root.proto.TemplateMessage.toObject(message.templateMessage, options); if (message.stickerMessage != null && message.hasOwnProperty("stickerMessage")) object.stickerMessage = $root.proto.StickerMessage.toObject(message.stickerMessage, options); if (message.groupInviteMessage != null && message.hasOwnProperty("groupInviteMessage")) object.groupInviteMessage = $root.proto.GroupInviteMessage.toObject(message.groupInviteMessage, options); if (message.templateButtonReplyMessage != null && message.hasOwnProperty("templateButtonReplyMessage")) object.templateButtonReplyMessage = $root.proto.TemplateButtonReplyMessage.toObject(message.templateButtonReplyMessage, options); if (message.productMessage != null && message.hasOwnProperty("productMessage")) object.productMessage = $root.proto.ProductMessage.toObject(message.productMessage, options); if (message.deviceSentMessage != null && message.hasOwnProperty("deviceSentMessage")) object.deviceSentMessage = $root.proto.DeviceSentMessage.toObject(message.deviceSentMessage, options); if (message.listMessage != null && message.hasOwnProperty("listMessage")) object.listMessage = $root.proto.ListMessage.toObject(message.listMessage, options); if (message.viewOnceMessage != null && message.hasOwnProperty("viewOnceMessage")) object.viewOnceMessage = $root.proto.FutureProofMessage.toObject(message.viewOnceMessage, options); if (message.orderMessage != null && message.hasOwnProperty("orderMessage")) object.orderMessage = $root.proto.OrderMessage.toObject(message.orderMessage, options); if (message.listResponseMessage != null && message.hasOwnProperty("listResponseMessage")) object.listResponseMessage = $root.proto.ListResponseMessage.toObject(message.listResponseMessage, options); if (message.ephemeralMessage != null && message.hasOwnProperty("ephemeralMessage")) object.ephemeralMessage = $root.proto.FutureProofMessage.toObject(message.ephemeralMessage, options); return object; }; /** * Converts this Message to JSON. * @function toJSON * @memberof proto.Message * @instance * @returns {Object.} JSON object */ Message.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Message; })(); proto.MessageKey = (function() { /** * Properties of a MessageKey. * @memberof proto * @interface IMessageKey * @property {string|null} [remoteJid] MessageKey remoteJid * @property {boolean|null} [fromMe] MessageKey fromMe * @property {string|null} [id] MessageKey id * @property {string|null} [participant] MessageKey participant */ /** * Constructs a new MessageKey. * @memberof proto * @classdesc Represents a MessageKey. * @implements IMessageKey * @constructor * @param {proto.IMessageKey=} [properties] Properties to set */ function MessageKey(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) this[keys[i]] = properties[keys[i]]; } /** * MessageKey remoteJid. * @member {string} remoteJid * @memberof proto.MessageKey * @instance */ MessageKey.prototype.remoteJid = ""; /** * MessageKey fromMe. * @member {boolean} fromMe * @memberof proto.MessageKey * @instance */ MessageKey.prototype.fromMe = false; /** * MessageKey id. * @member {string} id * @memberof proto.MessageKey * @instance */ MessageKey.prototype.id = ""; /** * MessageKey participant. * @member {string} participant * @memberof proto.MessageKey * @instance */ MessageKey.prototype.participant = ""; /** * Creates a new MessageKey instance using the specified properties. * @function create * @memberof proto.MessageKey * @static * @param {proto.IMessageKey=} [properties] Properties to set * @returns {proto.MessageKey} MessageKey instance */ MessageKey.create = function create(properties) { return new MessageKey(properties); }; /** * Encodes the specified MessageKey message. Does not implicitly {@link proto.MessageKey.verify|verify} messages. * @function encode * @memberof proto.MessageKey * @static * @param {proto.IMessageKey} message MessageKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MessageKey.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.remoteJid != null && Object.hasOwnProperty.call(message, "remoteJid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.remoteJid); if (message.fromMe != null && Object.hasOwnProperty.call(message, "fromMe")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fromMe); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.id); if (message.participant != null && Object.hasOwnProperty.call(message, "participant")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.participant); return writer; }; /** * Encodes the specified MessageKey message, length delimited. Does not implicitly {@link proto.MessageKey.verify|verify} messages. * @function encodeDelimited * @memberof proto.MessageKey * @static * @param {proto.IMessageKey} message MessageKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MessageKey.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MessageKey message from the specified reader or buffer. * @function decode * @memberof proto.MessageKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.MessageKey} MessageKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MessageKey.decode = function decode(reader, length) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.proto.MessageKey(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.remoteJid = reader.string(); break; case 2: message.fromMe = reader.bool(); break; case 3: message.id = reader.string(); break; case 4: message.participant = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MessageKey message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.MessageKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.MessageKey} MessageKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MessageKey.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MessageKey message. * @function verify * @memberof proto.MessageKey * @static * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MessageKey.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.remoteJid != null && message.hasOwnProperty("remoteJid")) if (!$util.isString(message.remoteJid)) return "remoteJid: string expected"; if (message.fromMe != null && message.hasOwnProperty("fromMe")) if (typeof message.fromMe !== "boolean") return "fromMe: boolean expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; if (message.participant != null && message.hasOwnProperty("participant")) if (!$util.isString(message.participant)) return "participant: string expected"; return null; }; /** * Creates a MessageKey message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.MessageKey * @static * @param {Object.} object Plain object * @returns {proto.MessageKey} MessageKey */ MessageKey.fromObject = function fromObject(object) { if (object instanceof $root.proto.MessageKey) return object; var message = new $root.proto.MessageKey(); if (object.remoteJid != null) message.remoteJid = String(object.remoteJid); if (object.fromMe != null) message.fromMe = Boolean(object.fromMe); if (object.id != null) message.id = String(object.id); if (object.participant != null) message.participant = String(object.participant); return message; }; /** * Creates a plain object from a MessageKey message. Also converts values to other types if specified. * @function toObject * @memberof proto.MessageKey * @static * @param {proto.MessageKey} message MessageKey * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.} Plain object */ MessageKey.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.remoteJid = ""; object.fromMe = false; object.id = ""; object.participant = ""; } if (message.remoteJid != null && message.hasOwnProperty("remoteJid")) object.remoteJid = message.remoteJid; if (message.fromMe != null && message.hasOwnProperty("fromMe")) object.fromMe = message.fromMe; if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; if (message.participant != null && message.hasOwnProperty("participant")) object.participant = message.participant; return object; }; /** * Converts this MessageKey to JSON. * @function toJSON * @memberof proto.MessageKey * @instance * @returns {Object.} JSON object */ MessageKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MessageKey; })(); return proto; })(); module.exports = $root;