Software: Apache. PHP/8.1.30 uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root) Safe-mode: OFF (not secure) /home/picotech/domains/wa.picotech.app/public_html/node_modules/@whiskeysockets/baileys/WAProto/ drwxr-xr-x |
Viewing file: Select action/file-type: /*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.ADVDeviceIdentity = (function() { /** * Properties of a ADVDeviceIdentity. * @memberof proto * @interface IADVDeviceIdentity * @property {number|null} [rawId] ADVDeviceIdentity rawId * @property {number|Long|null} [timestamp] ADVDeviceIdentity timestamp * @property {number|null} [keyIndex] ADVDeviceIdentity keyIndex * @property {proto.ADVEncryptionType|null} [accountType] ADVDeviceIdentity accountType * @property {proto.ADVEncryptionType|null} [deviceType] ADVDeviceIdentity deviceType */ /** * Constructs a new ADVDeviceIdentity. * @memberof proto * @classdesc Represents a ADVDeviceIdentity. * @implements IADVDeviceIdentity * @constructor * @param {proto.IADVDeviceIdentity=} [properties] Properties to set */ function ADVDeviceIdentity(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]]; } /** * ADVDeviceIdentity rawId. * @member {number} rawId * @memberof proto.ADVDeviceIdentity * @instance */ ADVDeviceIdentity.prototype.rawId = 0; /** * ADVDeviceIdentity timestamp. * @member {number|Long} timestamp * @memberof proto.ADVDeviceIdentity * @instance */ ADVDeviceIdentity.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * ADVDeviceIdentity keyIndex. * @member {number} keyIndex * @memberof proto.ADVDeviceIdentity * @instance */ ADVDeviceIdentity.prototype.keyIndex = 0; /** * ADVDeviceIdentity accountType. * @member {proto.ADVEncryptionType} accountType * @memberof proto.ADVDeviceIdentity * @instance */ ADVDeviceIdentity.prototype.accountType = 0; /** * ADVDeviceIdentity deviceType. * @member {proto.ADVEncryptionType} deviceType * @memberof proto.ADVDeviceIdentity * @instance */ ADVDeviceIdentity.prototype.deviceType = 0; /** * Creates a new ADVDeviceIdentity instance using the specified properties. * @function create * @memberof proto.ADVDeviceIdentity * @static * @param {proto.IADVDeviceIdentity=} [properties] Properties to set * @returns {proto.ADVDeviceIdentity} ADVDeviceIdentity instance */ ADVDeviceIdentity.create = function create(properties) { return new ADVDeviceIdentity(properties); }; /** * Encodes the specified ADVDeviceIdentity message. Does not implicitly {@link proto.ADVDeviceIdentity.verify|verify} messages. * @function encode * @memberof proto.ADVDeviceIdentity * @static * @param {proto.IADVDeviceIdentity} message ADVDeviceIdentity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ADVDeviceIdentity.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.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.timestamp); if (message.keyIndex != null && Object.hasOwnProperty.call(message, "keyIndex")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.keyIndex); if (message.accountType != null && Object.hasOwnProperty.call(message, "accountType")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.accountType); if (message.deviceType != null && Object.hasOwnProperty.call(message, "deviceType")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.deviceType); return writer; }; /** * Encodes the specified ADVDeviceIdentity message, length delimited. Does not implicitly {@link proto.ADVDeviceIdentity.verify|verify} messages. * @function encodeDelimited * @memberof proto.ADVDeviceIdentity * @static * @param {proto.IADVDeviceIdentity} message ADVDeviceIdentity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ADVDeviceIdentity.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ADVDeviceIdentity message from the specified reader or buffer. * @function decode * @memberof proto.ADVDeviceIdentity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ADVDeviceIdentity} ADVDeviceIdentity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ADVDeviceIdentity.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.ADVDeviceIdentity(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.rawId = reader.uint32(); break; case 2: message.timestamp = reader.uint64(); break; case 3: message.keyIndex = reader.uint32(); break; case 4: message.accountType = reader.int32(); break; case 5: message.deviceType = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ADVDeviceIdentity message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ADVDeviceIdentity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ADVDeviceIdentity} ADVDeviceIdentity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ADVDeviceIdentity.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ADVDeviceIdentity message. * @function verify * @memberof proto.ADVDeviceIdentity * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ADVDeviceIdentity.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.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.keyIndex != null && message.hasOwnProperty("keyIndex")) if (!$util.isInteger(message.keyIndex)) return "keyIndex: integer expected"; if (message.accountType != null && message.hasOwnProperty("accountType")) switch (message.accountType) { default: return "accountType: enum value expected"; case 0: case 1: break; } if (message.deviceType != null && message.hasOwnProperty("deviceType")) switch (message.deviceType) { default: return "deviceType: enum value expected"; case 0: case 1: break; } return null; }; /** * Creates a ADVDeviceIdentity message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ADVDeviceIdentity * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ADVDeviceIdentity} ADVDeviceIdentity */ ADVDeviceIdentity.fromObject = function fromObject(object) { if (object instanceof $root.proto.ADVDeviceIdentity) return object; var message = new $root.proto.ADVDeviceIdentity(); if (object.rawId != null) message.rawId = object.rawId >>> 0; 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.keyIndex != null) message.keyIndex = object.keyIndex >>> 0; switch (object.accountType) { case "E2EE": case 0: message.accountType = 0; break; case "HOSTED": case 1: message.accountType = 1; break; } switch (object.deviceType) { case "E2EE": case 0: message.deviceType = 0; break; case "HOSTED": case 1: message.deviceType = 1; break; } return message; }; /** * Creates a plain object from a ADVDeviceIdentity message. Also converts values to other types if specified. * @function toObject * @memberof proto.ADVDeviceIdentity * @static * @param {proto.ADVDeviceIdentity} message ADVDeviceIdentity * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ADVDeviceIdentity.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.rawId = 0; 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.keyIndex = 0; object.accountType = options.enums === String ? "E2EE" : 0; object.deviceType = options.enums === String ? "E2EE" : 0; } if (message.rawId != null && message.hasOwnProperty("rawId")) object.rawId = message.rawId; 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.keyIndex != null && message.hasOwnProperty("keyIndex")) object.keyIndex = message.keyIndex; if (message.accountType != null && message.hasOwnProperty("accountType")) object.accountType = options.enums === String ? $root.proto.ADVEncryptionType[message.accountType] : message.accountType; if (message.deviceType != null && message.hasOwnProperty("deviceType")) object.deviceType = options.enums === String ? $root.proto.ADVEncryptionType[message.deviceType] : message.deviceType; return object; }; /** * Converts this ADVDeviceIdentity to JSON. * @function toJSON * @memberof proto.ADVDeviceIdentity * @instance * @returns {Object.<string,*>} JSON object */ ADVDeviceIdentity.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ADVDeviceIdentity; })(); /** * ADVEncryptionType enum. * @name proto.ADVEncryptionType * @enum {number} * @property {number} E2EE=0 E2EE value * @property {number} HOSTED=1 HOSTED value */ proto.ADVEncryptionType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "E2EE"] = 0; values[valuesById[1] = "HOSTED"] = 1; return values; })(); proto.ADVKeyIndexList = (function() { /** * Properties of a ADVKeyIndexList. * @memberof proto * @interface IADVKeyIndexList * @property {number|null} [rawId] ADVKeyIndexList rawId * @property {number|Long|null} [timestamp] ADVKeyIndexList timestamp * @property {number|null} [currentIndex] ADVKeyIndexList currentIndex * @property {Array.<number>|null} [validIndexes] ADVKeyIndexList validIndexes * @property {proto.ADVEncryptionType|null} [accountType] ADVKeyIndexList accountType */ /** * Constructs a new ADVKeyIndexList. * @memberof proto * @classdesc Represents a ADVKeyIndexList. * @implements IADVKeyIndexList * @constructor * @param {proto.IADVKeyIndexList=} [properties] Properties to set */ function ADVKeyIndexList(properties) { this.validIndexes = []; 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]]; } /** * ADVKeyIndexList rawId. * @member {number} rawId * @memberof proto.ADVKeyIndexList * @instance */ ADVKeyIndexList.prototype.rawId = 0; /** * ADVKeyIndexList timestamp. * @member {number|Long} timestamp * @memberof proto.ADVKeyIndexList * @instance */ ADVKeyIndexList.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * ADVKeyIndexList currentIndex. * @member {number} currentIndex * @memberof proto.ADVKeyIndexList * @instance */ ADVKeyIndexList.prototype.currentIndex = 0; /** * ADVKeyIndexList validIndexes. * @member {Array.<number>} validIndexes * @memberof proto.ADVKeyIndexList * @instance */ ADVKeyIndexList.prototype.validIndexes = $util.emptyArray; /** * ADVKeyIndexList accountType. * @member {proto.ADVEncryptionType} accountType * @memberof proto.ADVKeyIndexList * @instance */ ADVKeyIndexList.prototype.accountType = 0; /** * Creates a new ADVKeyIndexList instance using the specified properties. * @function create * @memberof proto.ADVKeyIndexList * @static * @param {proto.IADVKeyIndexList=} [properties] Properties to set * @returns {proto.ADVKeyIndexList} ADVKeyIndexList instance */ ADVKeyIndexList.create = function create(properties) { return new ADVKeyIndexList(properties); }; /** * Encodes the specified ADVKeyIndexList message. Does not implicitly {@link proto.ADVKeyIndexList.verify|verify} messages. * @function encode * @memberof proto.ADVKeyIndexList * @static * @param {proto.IADVKeyIndexList} message ADVKeyIndexList message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ADVKeyIndexList.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.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.timestamp); if (message.currentIndex != null && Object.hasOwnProperty.call(message, "currentIndex")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.currentIndex); if (message.validIndexes != null && message.validIndexes.length) { writer.uint32(/* id 4, wireType 2 =*/34).fork(); for (var i = 0; i < message.validIndexes.length; ++i) writer.uint32(message.validIndexes[i]); writer.ldelim(); } if (message.accountType != null && Object.hasOwnProperty.call(message, "accountType")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.accountType); return writer; }; /** * Encodes the specified ADVKeyIndexList message, length delimited. Does not implicitly {@link proto.ADVKeyIndexList.verify|verify} messages. * @function encodeDelimited * @memberof proto.ADVKeyIndexList * @static * @param {proto.IADVKeyIndexList} message ADVKeyIndexList message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ADVKeyIndexList.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ADVKeyIndexList message from the specified reader or buffer. * @function decode * @memberof proto.ADVKeyIndexList * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ADVKeyIndexList} ADVKeyIndexList * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ADVKeyIndexList.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.ADVKeyIndexList(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.rawId = reader.uint32(); break; case 2: message.timestamp = reader.uint64(); break; case 3: message.currentIndex = reader.uint32(); break; case 4: if (!(message.validIndexes && message.validIndexes.length)) message.validIndexes = []; if ((tag & 7) === 2) { var end2 = reader.uint32() + reader.pos; while (reader.pos < end2) message.validIndexes.push(reader.uint32()); } else message.validIndexes.push(reader.uint32()); break; case 5: message.accountType = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ADVKeyIndexList message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ADVKeyIndexList * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ADVKeyIndexList} ADVKeyIndexList * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ADVKeyIndexList.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ADVKeyIndexList message. * @function verify * @memberof proto.ADVKeyIndexList * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ADVKeyIndexList.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.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.currentIndex != null && message.hasOwnProperty("currentIndex")) if (!$util.isInteger(message.currentIndex)) return "currentIndex: integer expected"; if (message.validIndexes != null && message.hasOwnProperty("validIndexes")) { if (!Array.isArray(message.validIndexes)) return "validIndexes: array expected"; for (var i = 0; i < message.validIndexes.length; ++i) if (!$util.isInteger(message.validIndexes[i])) return "validIndexes: integer[] expected"; } if (message.accountType != null && message.hasOwnProperty("accountType")) switch (message.accountType) { default: return "accountType: enum value expected"; case 0: case 1: break; } return null; }; /** * Creates a ADVKeyIndexList message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ADVKeyIndexList * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ADVKeyIndexList} ADVKeyIndexList */ ADVKeyIndexList.fromObject = function fromObject(object) { if (object instanceof $root.proto.ADVKeyIndexList) return object; var message = new $root.proto.ADVKeyIndexList(); if (object.rawId != null) message.rawId = object.rawId >>> 0; 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.currentIndex != null) message.currentIndex = object.currentIndex >>> 0; if (object.validIndexes) { if (!Array.isArray(object.validIndexes)) throw TypeError(".proto.ADVKeyIndexList.validIndexes: array expected"); message.validIndexes = []; for (var i = 0; i < object.validIndexes.length; ++i) message.validIndexes[i] = object.validIndexes[i] >>> 0; } switch (object.accountType) { case "E2EE": case 0: message.accountType = 0; break; case "HOSTED": case 1: message.accountType = 1; break; } return message; }; /** * Creates a plain object from a ADVKeyIndexList message. Also converts values to other types if specified. * @function toObject * @memberof proto.ADVKeyIndexList * @static * @param {proto.ADVKeyIndexList} message ADVKeyIndexList * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ADVKeyIndexList.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.validIndexes = []; if (options.defaults) { object.rawId = 0; 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.currentIndex = 0; object.accountType = options.enums === String ? "E2EE" : 0; } if (message.rawId != null && message.hasOwnProperty("rawId")) object.rawId = message.rawId; 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.currentIndex != null && message.hasOwnProperty("currentIndex")) object.currentIndex = message.currentIndex; if (message.validIndexes && message.validIndexes.length) { object.validIndexes = []; for (var j = 0; j < message.validIndexes.length; ++j) object.validIndexes[j] = message.validIndexes[j]; } if (message.accountType != null && message.hasOwnProperty("accountType")) object.accountType = options.enums === String ? $root.proto.ADVEncryptionType[message.accountType] : message.accountType; return object; }; /** * Converts this ADVKeyIndexList to JSON. * @function toJSON * @memberof proto.ADVKeyIndexList * @instance * @returns {Object.<string,*>} JSON object */ ADVKeyIndexList.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ADVKeyIndexList; })(); proto.ADVSignedDeviceIdentity = (function() { /** * Properties of a ADVSignedDeviceIdentity. * @memberof proto * @interface IADVSignedDeviceIdentity * @property {Uint8Array|null} [details] ADVSignedDeviceIdentity details * @property {Uint8Array|null} [accountSignatureKey] ADVSignedDeviceIdentity accountSignatureKey * @property {Uint8Array|null} [accountSignature] ADVSignedDeviceIdentity accountSignature * @property {Uint8Array|null} [deviceSignature] ADVSignedDeviceIdentity deviceSignature */ /** * Constructs a new ADVSignedDeviceIdentity. * @memberof proto * @classdesc Represents a ADVSignedDeviceIdentity. * @implements IADVSignedDeviceIdentity * @constructor * @param {proto.IADVSignedDeviceIdentity=} [properties] Properties to set */ function ADVSignedDeviceIdentity(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]]; } /** * ADVSignedDeviceIdentity details. * @member {Uint8Array} details * @memberof proto.ADVSignedDeviceIdentity * @instance */ ADVSignedDeviceIdentity.prototype.details = $util.newBuffer([]); /** * ADVSignedDeviceIdentity accountSignatureKey. * @member {Uint8Array} accountSignatureKey * @memberof proto.ADVSignedDeviceIdentity * @instance */ ADVSignedDeviceIdentity.prototype.accountSignatureKey = $util.newBuffer([]); /** * ADVSignedDeviceIdentity accountSignature. * @member {Uint8Array} accountSignature * @memberof proto.ADVSignedDeviceIdentity * @instance */ ADVSignedDeviceIdentity.prototype.accountSignature = $util.newBuffer([]); /** * ADVSignedDeviceIdentity deviceSignature. * @member {Uint8Array} deviceSignature * @memberof proto.ADVSignedDeviceIdentity * @instance */ ADVSignedDeviceIdentity.prototype.deviceSignature = $util.newBuffer([]); /** * Creates a new ADVSignedDeviceIdentity instance using the specified properties. * @function create * @memberof proto.ADVSignedDeviceIdentity * @static * @param {proto.IADVSignedDeviceIdentity=} [properties] Properties to set * @returns {proto.ADVSignedDeviceIdentity} ADVSignedDeviceIdentity instance */ ADVSignedDeviceIdentity.create = function create(properties) { return new ADVSignedDeviceIdentity(properties); }; /** * Encodes the specified ADVSignedDeviceIdentity message. Does not implicitly {@link proto.ADVSignedDeviceIdentity.verify|verify} messages. * @function encode * @memberof proto.ADVSignedDeviceIdentity * @static * @param {proto.IADVSignedDeviceIdentity} message ADVSignedDeviceIdentity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ADVSignedDeviceIdentity.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.details != null && Object.hasOwnProperty.call(message, "details")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.details); if (message.accountSignatureKey != null && Object.hasOwnProperty.call(message, "accountSignatureKey")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.accountSignatureKey); if (message.accountSignature != null && Object.hasOwnProperty.call(message, "accountSignature")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.accountSignature); if (message.deviceSignature != null && Object.hasOwnProperty.call(message, "deviceSignature")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.deviceSignature); return writer; }; /** * Encodes the specified ADVSignedDeviceIdentity message, length delimited. Does not implicitly {@link proto.ADVSignedDeviceIdentity.verify|verify} messages. * @function encodeDelimited * @memberof proto.ADVSignedDeviceIdentity * @static * @param {proto.IADVSignedDeviceIdentity} message ADVSignedDeviceIdentity message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ADVSignedDeviceIdentity.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ADVSignedDeviceIdentity message from the specified reader or buffer. * @function decode * @memberof proto.ADVSignedDeviceIdentity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ADVSignedDeviceIdentity} ADVSignedDeviceIdentity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ADVSignedDeviceIdentity.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.ADVSignedDeviceIdentity(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.details = reader.bytes(); break; case 2: message.accountSignatureKey = reader.bytes(); break; case 3: message.accountSignature = reader.bytes(); break; case 4: message.deviceSignature = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ADVSignedDeviceIdentity message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ADVSignedDeviceIdentity * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ADVSignedDeviceIdentity} ADVSignedDeviceIdentity * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ADVSignedDeviceIdentity.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ADVSignedDeviceIdentity message. * @function verify * @memberof proto.ADVSignedDeviceIdentity * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ADVSignedDeviceIdentity.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.details != null && message.hasOwnProperty("details")) if (!(message.details && typeof message.details.length === "number" || $util.isString(message.details))) return "details: buffer expected"; if (message.accountSignatureKey != null && message.hasOwnProperty("accountSignatureKey")) if (!(message.accountSignatureKey && typeof message.accountSignatureKey.length === "number" || $util.isString(message.accountSignatureKey))) return "accountSignatureKey: buffer expected"; if (message.accountSignature != null && message.hasOwnProperty("accountSignature")) if (!(message.accountSignature && typeof message.accountSignature.length === "number" || $util.isString(message.accountSignature))) return "accountSignature: buffer expected"; if (message.deviceSignature != null && message.hasOwnProperty("deviceSignature")) if (!(message.deviceSignature && typeof message.deviceSignature.length === "number" || $util.isString(message.deviceSignature))) return "deviceSignature: buffer expected"; return null; }; /** * Creates a ADVSignedDeviceIdentity message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ADVSignedDeviceIdentity * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ADVSignedDeviceIdentity} ADVSignedDeviceIdentity */ ADVSignedDeviceIdentity.fromObject = function fromObject(object) { if (object instanceof $root.proto.ADVSignedDeviceIdentity) return object; var message = new $root.proto.ADVSignedDeviceIdentity(); if (object.details != null) if (typeof object.details === "string") $util.base64.decode(object.details, message.details = $util.newBuffer($util.base64.length(object.details)), 0); else if (object.details.length) message.details = object.details; if (object.accountSignatureKey != null) if (typeof object.accountSignatureKey === "string") $util.base64.decode(object.accountSignatureKey, message.accountSignatureKey = $util.newBuffer($util.base64.length(object.accountSignatureKey)), 0); else if (object.accountSignatureKey.length) message.accountSignatureKey = object.accountSignatureKey; if (object.accountSignature != null) if (typeof object.accountSignature === "string") $util.base64.decode(object.accountSignature, message.accountSignature = $util.newBuffer($util.base64.length(object.accountSignature)), 0); else if (object.accountSignature.length) message.accountSignature = object.accountSignature; if (object.deviceSignature != null) if (typeof object.deviceSignature === "string") $util.base64.decode(object.deviceSignature, message.deviceSignature = $util.newBuffer($util.base64.length(object.deviceSignature)), 0); else if (object.deviceSignature.length) message.deviceSignature = object.deviceSignature; return message; }; /** * Creates a plain object from a ADVSignedDeviceIdentity message. Also converts values to other types if specified. * @function toObject * @memberof proto.ADVSignedDeviceIdentity * @static * @param {proto.ADVSignedDeviceIdentity} message ADVSignedDeviceIdentity * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ADVSignedDeviceIdentity.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.details = ""; else { object.details = []; if (options.bytes !== Array) object.details = $util.newBuffer(object.details); } if (options.bytes === String) object.accountSignatureKey = ""; else { object.accountSignatureKey = []; if (options.bytes !== Array) object.accountSignatureKey = $util.newBuffer(object.accountSignatureKey); } if (options.bytes === String) object.accountSignature = ""; else { object.accountSignature = []; if (options.bytes !== Array) object.accountSignature = $util.newBuffer(object.accountSignature); } if (options.bytes === String) object.deviceSignature = ""; else { object.deviceSignature = []; if (options.bytes !== Array) object.deviceSignature = $util.newBuffer(object.deviceSignature); } } if (message.details != null && message.hasOwnProperty("details")) object.details = options.bytes === String ? $util.base64.encode(message.details, 0, message.details.length) : options.bytes === Array ? Array.prototype.slice.call(message.details) : message.details; if (message.accountSignatureKey != null && message.hasOwnProperty("accountSignatureKey")) object.accountSignatureKey = options.bytes === String ? $util.base64.encode(message.accountSignatureKey, 0, message.accountSignatureKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.accountSignatureKey) : message.accountSignatureKey; if (message.accountSignature != null && message.hasOwnProperty("accountSignature")) object.accountSignature = options.bytes === String ? $util.base64.encode(message.accountSignature, 0, message.accountSignature.length) : options.bytes === Array ? Array.prototype.slice.call(message.accountSignature) : message.accountSignature; if (message.deviceSignature != null && message.hasOwnProperty("deviceSignature")) object.deviceSignature = options.bytes === String ? $util.base64.encode(message.deviceSignature, 0, message.deviceSignature.length) : options.bytes === Array ? Array.prototype.slice.call(message.deviceSignature) : message.deviceSignature; return object; }; /** * Converts this ADVSignedDeviceIdentity to JSON. * @function toJSON * @memberof proto.ADVSignedDeviceIdentity * @instance * @returns {Object.<string,*>} JSON object */ ADVSignedDeviceIdentity.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ADVSignedDeviceIdentity; })(); proto.ADVSignedDeviceIdentityHMAC = (function() { /** * Properties of a ADVSignedDeviceIdentityHMAC. * @memberof proto * @interface IADVSignedDeviceIdentityHMAC * @property {Uint8Array|null} [details] ADVSignedDeviceIdentityHMAC details * @property {Uint8Array|null} [hmac] ADVSignedDeviceIdentityHMAC hmac */ /** * Constructs a new ADVSignedDeviceIdentityHMAC. * @memberof proto * @classdesc Represents a ADVSignedDeviceIdentityHMAC. * @implements IADVSignedDeviceIdentityHMAC * @constructor * @param {proto.IADVSignedDeviceIdentityHMAC=} [properties] Properties to set */ function ADVSignedDeviceIdentityHMAC(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]]; } /** * ADVSignedDeviceIdentityHMAC details. * @member {Uint8Array} details * @memberof proto.ADVSignedDeviceIdentityHMAC * @instance */ ADVSignedDeviceIdentityHMAC.prototype.details = $util.newBuffer([]); /** * ADVSignedDeviceIdentityHMAC hmac. * @member {Uint8Array} hmac * @memberof proto.ADVSignedDeviceIdentityHMAC * @instance */ ADVSignedDeviceIdentityHMAC.prototype.hmac = $util.newBuffer([]); /** * Creates a new ADVSignedDeviceIdentityHMAC instance using the specified properties. * @function create * @memberof proto.ADVSignedDeviceIdentityHMAC * @static * @param {proto.IADVSignedDeviceIdentityHMAC=} [properties] Properties to set * @returns {proto.ADVSignedDeviceIdentityHMAC} ADVSignedDeviceIdentityHMAC instance */ ADVSignedDeviceIdentityHMAC.create = function create(properties) { return new ADVSignedDeviceIdentityHMAC(properties); }; /** * Encodes the specified ADVSignedDeviceIdentityHMAC message. Does not implicitly {@link proto.ADVSignedDeviceIdentityHMAC.verify|verify} messages. * @function encode * @memberof proto.ADVSignedDeviceIdentityHMAC * @static * @param {proto.IADVSignedDeviceIdentityHMAC} message ADVSignedDeviceIdentityHMAC message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ADVSignedDeviceIdentityHMAC.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.details != null && Object.hasOwnProperty.call(message, "details")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.details); if (message.hmac != null && Object.hasOwnProperty.call(message, "hmac")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.hmac); return writer; }; /** * Encodes the specified ADVSignedDeviceIdentityHMAC message, length delimited. Does not implicitly {@link proto.ADVSignedDeviceIdentityHMAC.verify|verify} messages. * @function encodeDelimited * @memberof proto.ADVSignedDeviceIdentityHMAC * @static * @param {proto.IADVSignedDeviceIdentityHMAC} message ADVSignedDeviceIdentityHMAC message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ADVSignedDeviceIdentityHMAC.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ADVSignedDeviceIdentityHMAC message from the specified reader or buffer. * @function decode * @memberof proto.ADVSignedDeviceIdentityHMAC * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ADVSignedDeviceIdentityHMAC} ADVSignedDeviceIdentityHMAC * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ADVSignedDeviceIdentityHMAC.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.ADVSignedDeviceIdentityHMAC(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.details = reader.bytes(); break; case 2: message.hmac = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ADVSignedDeviceIdentityHMAC message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ADVSignedDeviceIdentityHMAC * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ADVSignedDeviceIdentityHMAC} ADVSignedDeviceIdentityHMAC * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ADVSignedDeviceIdentityHMAC.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ADVSignedDeviceIdentityHMAC message. * @function verify * @memberof proto.ADVSignedDeviceIdentityHMAC * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ADVSignedDeviceIdentityHMAC.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.details != null && message.hasOwnProperty("details")) if (!(message.details && typeof message.details.length === "number" || $util.isString(message.details))) return "details: buffer expected"; if (message.hmac != null && message.hasOwnProperty("hmac")) if (!(message.hmac && typeof message.hmac.length === "number" || $util.isString(message.hmac))) return "hmac: buffer expected"; return null; }; /** * Creates a ADVSignedDeviceIdentityHMAC message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ADVSignedDeviceIdentityHMAC * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ADVSignedDeviceIdentityHMAC} ADVSignedDeviceIdentityHMAC */ ADVSignedDeviceIdentityHMAC.fromObject = function fromObject(object) { if (object instanceof $root.proto.ADVSignedDeviceIdentityHMAC) return object; var message = new $root.proto.ADVSignedDeviceIdentityHMAC(); if (object.details != null) if (typeof object.details === "string") $util.base64.decode(object.details, message.details = $util.newBuffer($util.base64.length(object.details)), 0); else if (object.details.length) message.details = object.details; if (object.hmac != null) if (typeof object.hmac === "string") $util.base64.decode(object.hmac, message.hmac = $util.newBuffer($util.base64.length(object.hmac)), 0); else if (object.hmac.length) message.hmac = object.hmac; return message; }; /** * Creates a plain object from a ADVSignedDeviceIdentityHMAC message. Also converts values to other types if specified. * @function toObject * @memberof proto.ADVSignedDeviceIdentityHMAC * @static * @param {proto.ADVSignedDeviceIdentityHMAC} message ADVSignedDeviceIdentityHMAC * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ADVSignedDeviceIdentityHMAC.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.details = ""; else { object.details = []; if (options.bytes !== Array) object.details = $util.newBuffer(object.details); } if (options.bytes === String) object.hmac = ""; else { object.hmac = []; if (options.bytes !== Array) object.hmac = $util.newBuffer(object.hmac); } } if (message.details != null && message.hasOwnProperty("details")) object.details = options.bytes === String ? $util.base64.encode(message.details, 0, message.details.length) : options.bytes === Array ? Array.prototype.slice.call(message.details) : message.details; if (message.hmac != null && message.hasOwnProperty("hmac")) object.hmac = options.bytes === String ? $util.base64.encode(message.hmac, 0, message.hmac.length) : options.bytes === Array ? Array.prototype.slice.call(message.hmac) : message.hmac; return object; }; /** * Converts this ADVSignedDeviceIdentityHMAC to JSON. * @function toJSON * @memberof proto.ADVSignedDeviceIdentityHMAC * @instance * @returns {Object.<string,*>} JSON object */ ADVSignedDeviceIdentityHMAC.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ADVSignedDeviceIdentityHMAC; })(); proto.ADVSignedKeyIndexList = (function() { /** * Properties of a ADVSignedKeyIndexList. * @memberof proto * @interface IADVSignedKeyIndexList * @property {Uint8Array|null} [details] ADVSignedKeyIndexList details * @property {Uint8Array|null} [accountSignature] ADVSignedKeyIndexList accountSignature */ /** * Constructs a new ADVSignedKeyIndexList. * @memberof proto * @classdesc Represents a ADVSignedKeyIndexList. * @implements IADVSignedKeyIndexList * @constructor * @param {proto.IADVSignedKeyIndexList=} [properties] Properties to set */ function ADVSignedKeyIndexList(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]]; } /** * ADVSignedKeyIndexList details. * @member {Uint8Array} details * @memberof proto.ADVSignedKeyIndexList * @instance */ ADVSignedKeyIndexList.prototype.details = $util.newBuffer([]); /** * ADVSignedKeyIndexList accountSignature. * @member {Uint8Array} accountSignature * @memberof proto.ADVSignedKeyIndexList * @instance */ ADVSignedKeyIndexList.prototype.accountSignature = $util.newBuffer([]); /** * Creates a new ADVSignedKeyIndexList instance using the specified properties. * @function create * @memberof proto.ADVSignedKeyIndexList * @static * @param {proto.IADVSignedKeyIndexList=} [properties] Properties to set * @returns {proto.ADVSignedKeyIndexList} ADVSignedKeyIndexList instance */ ADVSignedKeyIndexList.create = function create(properties) { return new ADVSignedKeyIndexList(properties); }; /** * Encodes the specified ADVSignedKeyIndexList message. Does not implicitly {@link proto.ADVSignedKeyIndexList.verify|verify} messages. * @function encode * @memberof proto.ADVSignedKeyIndexList * @static * @param {proto.IADVSignedKeyIndexList} message ADVSignedKeyIndexList message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ADVSignedKeyIndexList.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.details != null && Object.hasOwnProperty.call(message, "details")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.details); if (message.accountSignature != null && Object.hasOwnProperty.call(message, "accountSignature")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.accountSignature); return writer; }; /** * Encodes the specified ADVSignedKeyIndexList message, length delimited. Does not implicitly {@link proto.ADVSignedKeyIndexList.verify|verify} messages. * @function encodeDelimited * @memberof proto.ADVSignedKeyIndexList * @static * @param {proto.IADVSignedKeyIndexList} message ADVSignedKeyIndexList message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ADVSignedKeyIndexList.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ADVSignedKeyIndexList message from the specified reader or buffer. * @function decode * @memberof proto.ADVSignedKeyIndexList * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ADVSignedKeyIndexList} ADVSignedKeyIndexList * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ADVSignedKeyIndexList.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.ADVSignedKeyIndexList(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.details = reader.bytes(); break; case 2: message.accountSignature = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ADVSignedKeyIndexList message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ADVSignedKeyIndexList * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ADVSignedKeyIndexList} ADVSignedKeyIndexList * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ADVSignedKeyIndexList.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ADVSignedKeyIndexList message. * @function verify * @memberof proto.ADVSignedKeyIndexList * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ADVSignedKeyIndexList.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.details != null && message.hasOwnProperty("details")) if (!(message.details && typeof message.details.length === "number" || $util.isString(message.details))) return "details: buffer expected"; if (message.accountSignature != null && message.hasOwnProperty("accountSignature")) if (!(message.accountSignature && typeof message.accountSignature.length === "number" || $util.isString(message.accountSignature))) return "accountSignature: buffer expected"; return null; }; /** * Creates a ADVSignedKeyIndexList message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ADVSignedKeyIndexList * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ADVSignedKeyIndexList} ADVSignedKeyIndexList */ ADVSignedKeyIndexList.fromObject = function fromObject(object) { if (object instanceof $root.proto.ADVSignedKeyIndexList) return object; var message = new $root.proto.ADVSignedKeyIndexList(); if (object.details != null) if (typeof object.details === "string") $util.base64.decode(object.details, message.details = $util.newBuffer($util.base64.length(object.details)), 0); else if (object.details.length) message.details = object.details; if (object.accountSignature != null) if (typeof object.accountSignature === "string") $util.base64.decode(object.accountSignature, message.accountSignature = $util.newBuffer($util.base64.length(object.accountSignature)), 0); else if (object.accountSignature.length) message.accountSignature = object.accountSignature; return message; }; /** * Creates a plain object from a ADVSignedKeyIndexList message. Also converts values to other types if specified. * @function toObject * @memberof proto.ADVSignedKeyIndexList * @static * @param {proto.ADVSignedKeyIndexList} message ADVSignedKeyIndexList * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ADVSignedKeyIndexList.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.details = ""; else { object.details = []; if (options.bytes !== Array) object.details = $util.newBuffer(object.details); } if (options.bytes === String) object.accountSignature = ""; else { object.accountSignature = []; if (options.bytes !== Array) object.accountSignature = $util.newBuffer(object.accountSignature); } } if (message.details != null && message.hasOwnProperty("details")) object.details = options.bytes === String ? $util.base64.encode(message.details, 0, message.details.length) : options.bytes === Array ? Array.prototype.slice.call(message.details) : message.details; if (message.accountSignature != null && message.hasOwnProperty("accountSignature")) object.accountSignature = options.bytes === String ? $util.base64.encode(message.accountSignature, 0, message.accountSignature.length) : options.bytes === Array ? Array.prototype.slice.call(message.accountSignature) : message.accountSignature; return object; }; /** * Converts this ADVSignedKeyIndexList to JSON. * @function toJSON * @memberof proto.ADVSignedKeyIndexList * @instance * @returns {Object.<string,*>} JSON object */ ADVSignedKeyIndexList.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ADVSignedKeyIndexList; })(); proto.ActionLink = (function() { /** * Properties of an ActionLink. * @memberof proto * @interface IActionLink * @property {string|null} [url] ActionLink url * @property {string|null} [buttonTitle] ActionLink buttonTitle */ /** * Constructs a new ActionLink. * @memberof proto * @classdesc Represents an ActionLink. * @implements IActionLink * @constructor * @param {proto.IActionLink=} [properties] Properties to set */ function ActionLink(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]]; } /** * ActionLink url. * @member {string} url * @memberof proto.ActionLink * @instance */ ActionLink.prototype.url = ""; /** * ActionLink buttonTitle. * @member {string} buttonTitle * @memberof proto.ActionLink * @instance */ ActionLink.prototype.buttonTitle = ""; /** * Creates a new ActionLink instance using the specified properties. * @function create * @memberof proto.ActionLink * @static * @param {proto.IActionLink=} [properties] Properties to set * @returns {proto.ActionLink} ActionLink instance */ ActionLink.create = function create(properties) { return new ActionLink(properties); }; /** * Encodes the specified ActionLink message. Does not implicitly {@link proto.ActionLink.verify|verify} messages. * @function encode * @memberof proto.ActionLink * @static * @param {proto.IActionLink} message ActionLink message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ActionLink.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.buttonTitle != null && Object.hasOwnProperty.call(message, "buttonTitle")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.buttonTitle); return writer; }; /** * Encodes the specified ActionLink message, length delimited. Does not implicitly {@link proto.ActionLink.verify|verify} messages. * @function encodeDelimited * @memberof proto.ActionLink * @static * @param {proto.IActionLink} message ActionLink message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ActionLink.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an ActionLink message from the specified reader or buffer. * @function decode * @memberof proto.ActionLink * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ActionLink} ActionLink * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ActionLink.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.ActionLink(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.url = reader.string(); break; case 2: message.buttonTitle = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an ActionLink message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ActionLink * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ActionLink} ActionLink * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ActionLink.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an ActionLink message. * @function verify * @memberof proto.ActionLink * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ActionLink.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.buttonTitle != null && message.hasOwnProperty("buttonTitle")) if (!$util.isString(message.buttonTitle)) return "buttonTitle: string expected"; return null; }; /** * Creates an ActionLink message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ActionLink * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ActionLink} ActionLink */ ActionLink.fromObject = function fromObject(object) { if (object instanceof $root.proto.ActionLink) return object; var message = new $root.proto.ActionLink(); if (object.url != null) message.url = String(object.url); if (object.buttonTitle != null) message.buttonTitle = String(object.buttonTitle); return message; }; /** * Creates a plain object from an ActionLink message. Also converts values to other types if specified. * @function toObject * @memberof proto.ActionLink * @static * @param {proto.ActionLink} message ActionLink * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ActionLink.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.url = ""; object.buttonTitle = ""; } if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; if (message.buttonTitle != null && message.hasOwnProperty("buttonTitle")) object.buttonTitle = message.buttonTitle; return object; }; /** * Converts this ActionLink to JSON. * @function toJSON * @memberof proto.ActionLink * @instance * @returns {Object.<string,*>} JSON object */ ActionLink.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ActionLink; })(); proto.AutoDownloadSettings = (function() { /** * Properties of an AutoDownloadSettings. * @memberof proto * @interface IAutoDownloadSettings * @property {boolean|null} [downloadImages] AutoDownloadSettings downloadImages * @property {boolean|null} [downloadAudio] AutoDownloadSettings downloadAudio * @property {boolean|null} [downloadVideo] AutoDownloadSettings downloadVideo * @property {boolean|null} [downloadDocuments] AutoDownloadSettings downloadDocuments */ /** * Constructs a new AutoDownloadSettings. * @memberof proto * @classdesc Represents an AutoDownloadSettings. * @implements IAutoDownloadSettings * @constructor * @param {proto.IAutoDownloadSettings=} [properties] Properties to set */ function AutoDownloadSettings(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]]; } /** * AutoDownloadSettings downloadImages. * @member {boolean} downloadImages * @memberof proto.AutoDownloadSettings * @instance */ AutoDownloadSettings.prototype.downloadImages = false; /** * AutoDownloadSettings downloadAudio. * @member {boolean} downloadAudio * @memberof proto.AutoDownloadSettings * @instance */ AutoDownloadSettings.prototype.downloadAudio = false; /** * AutoDownloadSettings downloadVideo. * @member {boolean} downloadVideo * @memberof proto.AutoDownloadSettings * @instance */ AutoDownloadSettings.prototype.downloadVideo = false; /** * AutoDownloadSettings downloadDocuments. * @member {boolean} downloadDocuments * @memberof proto.AutoDownloadSettings * @instance */ AutoDownloadSettings.prototype.downloadDocuments = false; /** * Creates a new AutoDownloadSettings instance using the specified properties. * @function create * @memberof proto.AutoDownloadSettings * @static * @param {proto.IAutoDownloadSettings=} [properties] Properties to set * @returns {proto.AutoDownloadSettings} AutoDownloadSettings instance */ AutoDownloadSettings.create = function create(properties) { return new AutoDownloadSettings(properties); }; /** * Encodes the specified AutoDownloadSettings message. Does not implicitly {@link proto.AutoDownloadSettings.verify|verify} messages. * @function encode * @memberof proto.AutoDownloadSettings * @static * @param {proto.IAutoDownloadSettings} message AutoDownloadSettings message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AutoDownloadSettings.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.downloadImages != null && Object.hasOwnProperty.call(message, "downloadImages")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.downloadImages); if (message.downloadAudio != null && Object.hasOwnProperty.call(message, "downloadAudio")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.downloadAudio); if (message.downloadVideo != null && Object.hasOwnProperty.call(message, "downloadVideo")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.downloadVideo); if (message.downloadDocuments != null && Object.hasOwnProperty.call(message, "downloadDocuments")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.downloadDocuments); return writer; }; /** * Encodes the specified AutoDownloadSettings message, length delimited. Does not implicitly {@link proto.AutoDownloadSettings.verify|verify} messages. * @function encodeDelimited * @memberof proto.AutoDownloadSettings * @static * @param {proto.IAutoDownloadSettings} message AutoDownloadSettings message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AutoDownloadSettings.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AutoDownloadSettings message from the specified reader or buffer. * @function decode * @memberof proto.AutoDownloadSettings * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.AutoDownloadSettings} AutoDownloadSettings * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AutoDownloadSettings.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.AutoDownloadSettings(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.downloadImages = reader.bool(); break; case 2: message.downloadAudio = reader.bool(); break; case 3: message.downloadVideo = reader.bool(); break; case 4: message.downloadDocuments = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AutoDownloadSettings message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.AutoDownloadSettings * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.AutoDownloadSettings} AutoDownloadSettings * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AutoDownloadSettings.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AutoDownloadSettings message. * @function verify * @memberof proto.AutoDownloadSettings * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AutoDownloadSettings.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.downloadImages != null && message.hasOwnProperty("downloadImages")) if (typeof message.downloadImages !== "boolean") return "downloadImages: boolean expected"; if (message.downloadAudio != null && message.hasOwnProperty("downloadAudio")) if (typeof message.downloadAudio !== "boolean") return "downloadAudio: boolean expected"; if (message.downloadVideo != null && message.hasOwnProperty("downloadVideo")) if (typeof message.downloadVideo !== "boolean") return "downloadVideo: boolean expected"; if (message.downloadDocuments != null && message.hasOwnProperty("downloadDocuments")) if (typeof message.downloadDocuments !== "boolean") return "downloadDocuments: boolean expected"; return null; }; /** * Creates an AutoDownloadSettings message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.AutoDownloadSettings * @static * @param {Object.<string,*>} object Plain object * @returns {proto.AutoDownloadSettings} AutoDownloadSettings */ AutoDownloadSettings.fromObject = function fromObject(object) { if (object instanceof $root.proto.AutoDownloadSettings) return object; var message = new $root.proto.AutoDownloadSettings(); if (object.downloadImages != null) message.downloadImages = Boolean(object.downloadImages); if (object.downloadAudio != null) message.downloadAudio = Boolean(object.downloadAudio); if (object.downloadVideo != null) message.downloadVideo = Boolean(object.downloadVideo); if (object.downloadDocuments != null) message.downloadDocuments = Boolean(object.downloadDocuments); return message; }; /** * Creates a plain object from an AutoDownloadSettings message. Also converts values to other types if specified. * @function toObject * @memberof proto.AutoDownloadSettings * @static * @param {proto.AutoDownloadSettings} message AutoDownloadSettings * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ AutoDownloadSettings.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.downloadImages = false; object.downloadAudio = false; object.downloadVideo = false; object.downloadDocuments = false; } if (message.downloadImages != null && message.hasOwnProperty("downloadImages")) object.downloadImages = message.downloadImages; if (message.downloadAudio != null && message.hasOwnProperty("downloadAudio")) object.downloadAudio = message.downloadAudio; if (message.downloadVideo != null && message.hasOwnProperty("downloadVideo")) object.downloadVideo = message.downloadVideo; if (message.downloadDocuments != null && message.hasOwnProperty("downloadDocuments")) object.downloadDocuments = message.downloadDocuments; return object; }; /** * Converts this AutoDownloadSettings to JSON. * @function toJSON * @memberof proto.AutoDownloadSettings * @instance * @returns {Object.<string,*>} JSON object */ AutoDownloadSettings.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AutoDownloadSettings; })(); proto.AvatarUserSettings = (function() { /** * Properties of an AvatarUserSettings. * @memberof proto * @interface IAvatarUserSettings * @property {string|null} [fbid] AvatarUserSettings fbid * @property {string|null} [password] AvatarUserSettings password */ /** * Constructs a new AvatarUserSettings. * @memberof proto * @classdesc Represents an AvatarUserSettings. * @implements IAvatarUserSettings * @constructor * @param {proto.IAvatarUserSettings=} [properties] Properties to set */ function AvatarUserSettings(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]]; } /** * AvatarUserSettings fbid. * @member {string} fbid * @memberof proto.AvatarUserSettings * @instance */ AvatarUserSettings.prototype.fbid = ""; /** * AvatarUserSettings password. * @member {string} password * @memberof proto.AvatarUserSettings * @instance */ AvatarUserSettings.prototype.password = ""; /** * Creates a new AvatarUserSettings instance using the specified properties. * @function create * @memberof proto.AvatarUserSettings * @static * @param {proto.IAvatarUserSettings=} [properties] Properties to set * @returns {proto.AvatarUserSettings} AvatarUserSettings instance */ AvatarUserSettings.create = function create(properties) { return new AvatarUserSettings(properties); }; /** * Encodes the specified AvatarUserSettings message. Does not implicitly {@link proto.AvatarUserSettings.verify|verify} messages. * @function encode * @memberof proto.AvatarUserSettings * @static * @param {proto.IAvatarUserSettings} message AvatarUserSettings message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AvatarUserSettings.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.fbid != null && Object.hasOwnProperty.call(message, "fbid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.fbid); if (message.password != null && Object.hasOwnProperty.call(message, "password")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.password); return writer; }; /** * Encodes the specified AvatarUserSettings message, length delimited. Does not implicitly {@link proto.AvatarUserSettings.verify|verify} messages. * @function encodeDelimited * @memberof proto.AvatarUserSettings * @static * @param {proto.IAvatarUserSettings} message AvatarUserSettings message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AvatarUserSettings.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AvatarUserSettings message from the specified reader or buffer. * @function decode * @memberof proto.AvatarUserSettings * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.AvatarUserSettings} AvatarUserSettings * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AvatarUserSettings.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.AvatarUserSettings(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.fbid = reader.string(); break; case 2: message.password = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AvatarUserSettings message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.AvatarUserSettings * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.AvatarUserSettings} AvatarUserSettings * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AvatarUserSettings.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AvatarUserSettings message. * @function verify * @memberof proto.AvatarUserSettings * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AvatarUserSettings.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.fbid != null && message.hasOwnProperty("fbid")) if (!$util.isString(message.fbid)) return "fbid: string expected"; if (message.password != null && message.hasOwnProperty("password")) if (!$util.isString(message.password)) return "password: string expected"; return null; }; /** * Creates an AvatarUserSettings message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.AvatarUserSettings * @static * @param {Object.<string,*>} object Plain object * @returns {proto.AvatarUserSettings} AvatarUserSettings */ AvatarUserSettings.fromObject = function fromObject(object) { if (object instanceof $root.proto.AvatarUserSettings) return object; var message = new $root.proto.AvatarUserSettings(); if (object.fbid != null) message.fbid = String(object.fbid); if (object.password != null) message.password = String(object.password); return message; }; /** * Creates a plain object from an AvatarUserSettings message. Also converts values to other types if specified. * @function toObject * @memberof proto.AvatarUserSettings * @static * @param {proto.AvatarUserSettings} message AvatarUserSettings * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ AvatarUserSettings.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.fbid = ""; object.password = ""; } if (message.fbid != null && message.hasOwnProperty("fbid")) object.fbid = message.fbid; if (message.password != null && message.hasOwnProperty("password")) object.password = message.password; return object; }; /** * Converts this AvatarUserSettings to JSON. * @function toJSON * @memberof proto.AvatarUserSettings * @instance * @returns {Object.<string,*>} JSON object */ AvatarUserSettings.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AvatarUserSettings; })(); proto.BizAccountLinkInfo = (function() { /** * Properties of a BizAccountLinkInfo. * @memberof proto * @interface IBizAccountLinkInfo * @property {number|Long|null} [whatsappBizAcctFbid] BizAccountLinkInfo whatsappBizAcctFbid * @property {string|null} [whatsappAcctNumber] BizAccountLinkInfo whatsappAcctNumber * @property {number|Long|null} [issueTime] BizAccountLinkInfo issueTime * @property {proto.BizAccountLinkInfo.HostStorageType|null} [hostStorage] BizAccountLinkInfo hostStorage * @property {proto.BizAccountLinkInfo.AccountType|null} [accountType] BizAccountLinkInfo accountType */ /** * Constructs a new BizAccountLinkInfo. * @memberof proto * @classdesc Represents a BizAccountLinkInfo. * @implements IBizAccountLinkInfo * @constructor * @param {proto.IBizAccountLinkInfo=} [properties] Properties to set */ function BizAccountLinkInfo(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]]; } /** * BizAccountLinkInfo whatsappBizAcctFbid. * @member {number|Long} whatsappBizAcctFbid * @memberof proto.BizAccountLinkInfo * @instance */ BizAccountLinkInfo.prototype.whatsappBizAcctFbid = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * BizAccountLinkInfo whatsappAcctNumber. * @member {string} whatsappAcctNumber * @memberof proto.BizAccountLinkInfo * @instance */ BizAccountLinkInfo.prototype.whatsappAcctNumber = ""; /** * BizAccountLinkInfo issueTime. * @member {number|Long} issueTime * @memberof proto.BizAccountLinkInfo * @instance */ BizAccountLinkInfo.prototype.issueTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * BizAccountLinkInfo hostStorage. * @member {proto.BizAccountLinkInfo.HostStorageType} hostStorage * @memberof proto.BizAccountLinkInfo * @instance */ BizAccountLinkInfo.prototype.hostStorage = 0; /** * BizAccountLinkInfo accountType. * @member {proto.BizAccountLinkInfo.AccountType} accountType * @memberof proto.BizAccountLinkInfo * @instance */ BizAccountLinkInfo.prototype.accountType = 0; /** * Creates a new BizAccountLinkInfo instance using the specified properties. * @function create * @memberof proto.BizAccountLinkInfo * @static * @param {proto.IBizAccountLinkInfo=} [properties] Properties to set * @returns {proto.BizAccountLinkInfo} BizAccountLinkInfo instance */ BizAccountLinkInfo.create = function create(properties) { return new BizAccountLinkInfo(properties); }; /** * Encodes the specified BizAccountLinkInfo message. Does not implicitly {@link proto.BizAccountLinkInfo.verify|verify} messages. * @function encode * @memberof proto.BizAccountLinkInfo * @static * @param {proto.IBizAccountLinkInfo} message BizAccountLinkInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BizAccountLinkInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.whatsappBizAcctFbid != null && Object.hasOwnProperty.call(message, "whatsappBizAcctFbid")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.whatsappBizAcctFbid); if (message.whatsappAcctNumber != null && Object.hasOwnProperty.call(message, "whatsappAcctNumber")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.whatsappAcctNumber); if (message.issueTime != null && Object.hasOwnProperty.call(message, "issueTime")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.issueTime); if (message.hostStorage != null && Object.hasOwnProperty.call(message, "hostStorage")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.hostStorage); if (message.accountType != null && Object.hasOwnProperty.call(message, "accountType")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.accountType); return writer; }; /** * Encodes the specified BizAccountLinkInfo message, length delimited. Does not implicitly {@link proto.BizAccountLinkInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.BizAccountLinkInfo * @static * @param {proto.IBizAccountLinkInfo} message BizAccountLinkInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BizAccountLinkInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a BizAccountLinkInfo message from the specified reader or buffer. * @function decode * @memberof proto.BizAccountLinkInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.BizAccountLinkInfo} BizAccountLinkInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BizAccountLinkInfo.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.BizAccountLinkInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.whatsappBizAcctFbid = reader.uint64(); break; case 2: message.whatsappAcctNumber = reader.string(); break; case 3: message.issueTime = reader.uint64(); break; case 4: message.hostStorage = reader.int32(); break; case 5: message.accountType = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a BizAccountLinkInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.BizAccountLinkInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.BizAccountLinkInfo} BizAccountLinkInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BizAccountLinkInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a BizAccountLinkInfo message. * @function verify * @memberof proto.BizAccountLinkInfo * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ BizAccountLinkInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.whatsappBizAcctFbid != null && message.hasOwnProperty("whatsappBizAcctFbid")) if (!$util.isInteger(message.whatsappBizAcctFbid) && !(message.whatsappBizAcctFbid && $util.isInteger(message.whatsappBizAcctFbid.low) && $util.isInteger(message.whatsappBizAcctFbid.high))) return "whatsappBizAcctFbid: integer|Long expected"; if (message.whatsappAcctNumber != null && message.hasOwnProperty("whatsappAcctNumber")) if (!$util.isString(message.whatsappAcctNumber)) return "whatsappAcctNumber: string expected"; if (message.issueTime != null && message.hasOwnProperty("issueTime")) if (!$util.isInteger(message.issueTime) && !(message.issueTime && $util.isInteger(message.issueTime.low) && $util.isInteger(message.issueTime.high))) return "issueTime: integer|Long expected"; if (message.hostStorage != null && message.hasOwnProperty("hostStorage")) switch (message.hostStorage) { default: return "hostStorage: enum value expected"; case 0: case 1: break; } if (message.accountType != null && message.hasOwnProperty("accountType")) switch (message.accountType) { default: return "accountType: enum value expected"; case 0: break; } return null; }; /** * Creates a BizAccountLinkInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.BizAccountLinkInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.BizAccountLinkInfo} BizAccountLinkInfo */ BizAccountLinkInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.BizAccountLinkInfo) return object; var message = new $root.proto.BizAccountLinkInfo(); if (object.whatsappBizAcctFbid != null) if ($util.Long) (message.whatsappBizAcctFbid = $util.Long.fromValue(object.whatsappBizAcctFbid)).unsigned = true; else if (typeof object.whatsappBizAcctFbid === "string") message.whatsappBizAcctFbid = parseInt(object.whatsappBizAcctFbid, 10); else if (typeof object.whatsappBizAcctFbid === "number") message.whatsappBizAcctFbid = object.whatsappBizAcctFbid; else if (typeof object.whatsappBizAcctFbid === "object") message.whatsappBizAcctFbid = new $util.LongBits(object.whatsappBizAcctFbid.low >>> 0, object.whatsappBizAcctFbid.high >>> 0).toNumber(true); if (object.whatsappAcctNumber != null) message.whatsappAcctNumber = String(object.whatsappAcctNumber); if (object.issueTime != null) if ($util.Long) (message.issueTime = $util.Long.fromValue(object.issueTime)).unsigned = true; else if (typeof object.issueTime === "string") message.issueTime = parseInt(object.issueTime, 10); else if (typeof object.issueTime === "number") message.issueTime = object.issueTime; else if (typeof object.issueTime === "object") message.issueTime = new $util.LongBits(object.issueTime.low >>> 0, object.issueTime.high >>> 0).toNumber(true); switch (object.hostStorage) { case "ON_PREMISE": case 0: message.hostStorage = 0; break; case "FACEBOOK": case 1: message.hostStorage = 1; break; } switch (object.accountType) { case "ENTERPRISE": case 0: message.accountType = 0; break; } return message; }; /** * Creates a plain object from a BizAccountLinkInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.BizAccountLinkInfo * @static * @param {proto.BizAccountLinkInfo} message BizAccountLinkInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ BizAccountLinkInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if ($util.Long) { var long = new $util.Long(0, 0, true); object.whatsappBizAcctFbid = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.whatsappBizAcctFbid = options.longs === String ? "0" : 0; object.whatsappAcctNumber = ""; if ($util.Long) { var long = new $util.Long(0, 0, true); object.issueTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.issueTime = options.longs === String ? "0" : 0; object.hostStorage = options.enums === String ? "ON_PREMISE" : 0; object.accountType = options.enums === String ? "ENTERPRISE" : 0; } if (message.whatsappBizAcctFbid != null && message.hasOwnProperty("whatsappBizAcctFbid")) if (typeof message.whatsappBizAcctFbid === "number") object.whatsappBizAcctFbid = options.longs === String ? String(message.whatsappBizAcctFbid) : message.whatsappBizAcctFbid; else object.whatsappBizAcctFbid = options.longs === String ? $util.Long.prototype.toString.call(message.whatsappBizAcctFbid) : options.longs === Number ? new $util.LongBits(message.whatsappBizAcctFbid.low >>> 0, message.whatsappBizAcctFbid.high >>> 0).toNumber(true) : message.whatsappBizAcctFbid; if (message.whatsappAcctNumber != null && message.hasOwnProperty("whatsappAcctNumber")) object.whatsappAcctNumber = message.whatsappAcctNumber; if (message.issueTime != null && message.hasOwnProperty("issueTime")) if (typeof message.issueTime === "number") object.issueTime = options.longs === String ? String(message.issueTime) : message.issueTime; else object.issueTime = options.longs === String ? $util.Long.prototype.toString.call(message.issueTime) : options.longs === Number ? new $util.LongBits(message.issueTime.low >>> 0, message.issueTime.high >>> 0).toNumber(true) : message.issueTime; if (message.hostStorage != null && message.hasOwnProperty("hostStorage")) object.hostStorage = options.enums === String ? $root.proto.BizAccountLinkInfo.HostStorageType[message.hostStorage] : message.hostStorage; if (message.accountType != null && message.hasOwnProperty("accountType")) object.accountType = options.enums === String ? $root.proto.BizAccountLinkInfo.AccountType[message.accountType] : message.accountType; return object; }; /** * Converts this BizAccountLinkInfo to JSON. * @function toJSON * @memberof proto.BizAccountLinkInfo * @instance * @returns {Object.<string,*>} JSON object */ BizAccountLinkInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * AccountType enum. * @name proto.BizAccountLinkInfo.AccountType * @enum {number} * @property {number} ENTERPRISE=0 ENTERPRISE value */ BizAccountLinkInfo.AccountType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "ENTERPRISE"] = 0; return values; })(); /** * HostStorageType enum. * @name proto.BizAccountLinkInfo.HostStorageType * @enum {number} * @property {number} ON_PREMISE=0 ON_PREMISE value * @property {number} FACEBOOK=1 FACEBOOK value */ BizAccountLinkInfo.HostStorageType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "ON_PREMISE"] = 0; values[valuesById[1] = "FACEBOOK"] = 1; return values; })(); return BizAccountLinkInfo; })(); proto.BizAccountPayload = (function() { /** * Properties of a BizAccountPayload. * @memberof proto * @interface IBizAccountPayload * @property {proto.IVerifiedNameCertificate|null} [vnameCert] BizAccountPayload vnameCert * @property {Uint8Array|null} [bizAcctLinkInfo] BizAccountPayload bizAcctLinkInfo */ /** * Constructs a new BizAccountPayload. * @memberof proto * @classdesc Represents a BizAccountPayload. * @implements IBizAccountPayload * @constructor * @param {proto.IBizAccountPayload=} [properties] Properties to set */ function BizAccountPayload(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]]; } /** * BizAccountPayload vnameCert. * @member {proto.IVerifiedNameCertificate|null|undefined} vnameCert * @memberof proto.BizAccountPayload * @instance */ BizAccountPayload.prototype.vnameCert = null; /** * BizAccountPayload bizAcctLinkInfo. * @member {Uint8Array} bizAcctLinkInfo * @memberof proto.BizAccountPayload * @instance */ BizAccountPayload.prototype.bizAcctLinkInfo = $util.newBuffer([]); /** * Creates a new BizAccountPayload instance using the specified properties. * @function create * @memberof proto.BizAccountPayload * @static * @param {proto.IBizAccountPayload=} [properties] Properties to set * @returns {proto.BizAccountPayload} BizAccountPayload instance */ BizAccountPayload.create = function create(properties) { return new BizAccountPayload(properties); }; /** * Encodes the specified BizAccountPayload message. Does not implicitly {@link proto.BizAccountPayload.verify|verify} messages. * @function encode * @memberof proto.BizAccountPayload * @static * @param {proto.IBizAccountPayload} message BizAccountPayload message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BizAccountPayload.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.vnameCert != null && Object.hasOwnProperty.call(message, "vnameCert")) $root.proto.VerifiedNameCertificate.encode(message.vnameCert, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.bizAcctLinkInfo != null && Object.hasOwnProperty.call(message, "bizAcctLinkInfo")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.bizAcctLinkInfo); return writer; }; /** * Encodes the specified BizAccountPayload message, length delimited. Does not implicitly {@link proto.BizAccountPayload.verify|verify} messages. * @function encodeDelimited * @memberof proto.BizAccountPayload * @static * @param {proto.IBizAccountPayload} message BizAccountPayload message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BizAccountPayload.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a BizAccountPayload message from the specified reader or buffer. * @function decode * @memberof proto.BizAccountPayload * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.BizAccountPayload} BizAccountPayload * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BizAccountPayload.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.BizAccountPayload(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.vnameCert = $root.proto.VerifiedNameCertificate.decode(reader, reader.uint32()); break; case 2: message.bizAcctLinkInfo = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a BizAccountPayload message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.BizAccountPayload * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.BizAccountPayload} BizAccountPayload * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BizAccountPayload.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a BizAccountPayload message. * @function verify * @memberof proto.BizAccountPayload * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ BizAccountPayload.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.vnameCert != null && message.hasOwnProperty("vnameCert")) { var error = $root.proto.VerifiedNameCertificate.verify(message.vnameCert); if (error) return "vnameCert." + error; } if (message.bizAcctLinkInfo != null && message.hasOwnProperty("bizAcctLinkInfo")) if (!(message.bizAcctLinkInfo && typeof message.bizAcctLinkInfo.length === "number" || $util.isString(message.bizAcctLinkInfo))) return "bizAcctLinkInfo: buffer expected"; return null; }; /** * Creates a BizAccountPayload message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.BizAccountPayload * @static * @param {Object.<string,*>} object Plain object * @returns {proto.BizAccountPayload} BizAccountPayload */ BizAccountPayload.fromObject = function fromObject(object) { if (object instanceof $root.proto.BizAccountPayload) return object; var message = new $root.proto.BizAccountPayload(); if (object.vnameCert != null) { if (typeof object.vnameCert !== "object") throw TypeError(".proto.BizAccountPayload.vnameCert: object expected"); message.vnameCert = $root.proto.VerifiedNameCertificate.fromObject(object.vnameCert); } if (object.bizAcctLinkInfo != null) if (typeof object.bizAcctLinkInfo === "string") $util.base64.decode(object.bizAcctLinkInfo, message.bizAcctLinkInfo = $util.newBuffer($util.base64.length(object.bizAcctLinkInfo)), 0); else if (object.bizAcctLinkInfo.length) message.bizAcctLinkInfo = object.bizAcctLinkInfo; return message; }; /** * Creates a plain object from a BizAccountPayload message. Also converts values to other types if specified. * @function toObject * @memberof proto.BizAccountPayload * @static * @param {proto.BizAccountPayload} message BizAccountPayload * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ BizAccountPayload.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.vnameCert = null; if (options.bytes === String) object.bizAcctLinkInfo = ""; else { object.bizAcctLinkInfo = []; if (options.bytes !== Array) object.bizAcctLinkInfo = $util.newBuffer(object.bizAcctLinkInfo); } } if (message.vnameCert != null && message.hasOwnProperty("vnameCert")) object.vnameCert = $root.proto.VerifiedNameCertificate.toObject(message.vnameCert, options); if (message.bizAcctLinkInfo != null && message.hasOwnProperty("bizAcctLinkInfo")) object.bizAcctLinkInfo = options.bytes === String ? $util.base64.encode(message.bizAcctLinkInfo, 0, message.bizAcctLinkInfo.length) : options.bytes === Array ? Array.prototype.slice.call(message.bizAcctLinkInfo) : message.bizAcctLinkInfo; return object; }; /** * Converts this BizAccountPayload to JSON. * @function toJSON * @memberof proto.BizAccountPayload * @instance * @returns {Object.<string,*>} JSON object */ BizAccountPayload.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return BizAccountPayload; })(); proto.BizIdentityInfo = (function() { /** * Properties of a BizIdentityInfo. * @memberof proto * @interface IBizIdentityInfo * @property {proto.BizIdentityInfo.VerifiedLevelValue|null} [vlevel] BizIdentityInfo vlevel * @property {proto.IVerifiedNameCertificate|null} [vnameCert] BizIdentityInfo vnameCert * @property {boolean|null} [signed] BizIdentityInfo signed * @property {boolean|null} [revoked] BizIdentityInfo revoked * @property {proto.BizIdentityInfo.HostStorageType|null} [hostStorage] BizIdentityInfo hostStorage * @property {proto.BizIdentityInfo.ActualActorsType|null} [actualActors] BizIdentityInfo actualActors * @property {number|Long|null} [privacyModeTs] BizIdentityInfo privacyModeTs * @property {number|Long|null} [featureControls] BizIdentityInfo featureControls */ /** * Constructs a new BizIdentityInfo. * @memberof proto * @classdesc Represents a BizIdentityInfo. * @implements IBizIdentityInfo * @constructor * @param {proto.IBizIdentityInfo=} [properties] Properties to set */ function BizIdentityInfo(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]]; } /** * BizIdentityInfo vlevel. * @member {proto.BizIdentityInfo.VerifiedLevelValue} vlevel * @memberof proto.BizIdentityInfo * @instance */ BizIdentityInfo.prototype.vlevel = 0; /** * BizIdentityInfo vnameCert. * @member {proto.IVerifiedNameCertificate|null|undefined} vnameCert * @memberof proto.BizIdentityInfo * @instance */ BizIdentityInfo.prototype.vnameCert = null; /** * BizIdentityInfo signed. * @member {boolean} signed * @memberof proto.BizIdentityInfo * @instance */ BizIdentityInfo.prototype.signed = false; /** * BizIdentityInfo revoked. * @member {boolean} revoked * @memberof proto.BizIdentityInfo * @instance */ BizIdentityInfo.prototype.revoked = false; /** * BizIdentityInfo hostStorage. * @member {proto.BizIdentityInfo.HostStorageType} hostStorage * @memberof proto.BizIdentityInfo * @instance */ BizIdentityInfo.prototype.hostStorage = 0; /** * BizIdentityInfo actualActors. * @member {proto.BizIdentityInfo.ActualActorsType} actualActors * @memberof proto.BizIdentityInfo * @instance */ BizIdentityInfo.prototype.actualActors = 0; /** * BizIdentityInfo privacyModeTs. * @member {number|Long} privacyModeTs * @memberof proto.BizIdentityInfo * @instance */ BizIdentityInfo.prototype.privacyModeTs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * BizIdentityInfo featureControls. * @member {number|Long} featureControls * @memberof proto.BizIdentityInfo * @instance */ BizIdentityInfo.prototype.featureControls = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Creates a new BizIdentityInfo instance using the specified properties. * @function create * @memberof proto.BizIdentityInfo * @static * @param {proto.IBizIdentityInfo=} [properties] Properties to set * @returns {proto.BizIdentityInfo} BizIdentityInfo instance */ BizIdentityInfo.create = function create(properties) { return new BizIdentityInfo(properties); }; /** * Encodes the specified BizIdentityInfo message. Does not implicitly {@link proto.BizIdentityInfo.verify|verify} messages. * @function encode * @memberof proto.BizIdentityInfo * @static * @param {proto.IBizIdentityInfo} message BizIdentityInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BizIdentityInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.vlevel != null && Object.hasOwnProperty.call(message, "vlevel")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.vlevel); if (message.vnameCert != null && Object.hasOwnProperty.call(message, "vnameCert")) $root.proto.VerifiedNameCertificate.encode(message.vnameCert, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.signed != null && Object.hasOwnProperty.call(message, "signed")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.signed); if (message.revoked != null && Object.hasOwnProperty.call(message, "revoked")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.revoked); if (message.hostStorage != null && Object.hasOwnProperty.call(message, "hostStorage")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.hostStorage); if (message.actualActors != null && Object.hasOwnProperty.call(message, "actualActors")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.actualActors); if (message.privacyModeTs != null && Object.hasOwnProperty.call(message, "privacyModeTs")) writer.uint32(/* id 7, wireType 0 =*/56).uint64(message.privacyModeTs); if (message.featureControls != null && Object.hasOwnProperty.call(message, "featureControls")) writer.uint32(/* id 8, wireType 0 =*/64).uint64(message.featureControls); return writer; }; /** * Encodes the specified BizIdentityInfo message, length delimited. Does not implicitly {@link proto.BizIdentityInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.BizIdentityInfo * @static * @param {proto.IBizIdentityInfo} message BizIdentityInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BizIdentityInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a BizIdentityInfo message from the specified reader or buffer. * @function decode * @memberof proto.BizIdentityInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.BizIdentityInfo} BizIdentityInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BizIdentityInfo.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.BizIdentityInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.vlevel = reader.int32(); break; case 2: message.vnameCert = $root.proto.VerifiedNameCertificate.decode(reader, reader.uint32()); break; case 3: message.signed = reader.bool(); break; case 4: message.revoked = reader.bool(); break; case 5: message.hostStorage = reader.int32(); break; case 6: message.actualActors = reader.int32(); break; case 7: message.privacyModeTs = reader.uint64(); break; case 8: message.featureControls = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a BizIdentityInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.BizIdentityInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.BizIdentityInfo} BizIdentityInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BizIdentityInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a BizIdentityInfo message. * @function verify * @memberof proto.BizIdentityInfo * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ BizIdentityInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.vlevel != null && message.hasOwnProperty("vlevel")) switch (message.vlevel) { default: return "vlevel: enum value expected"; case 0: case 1: case 2: break; } if (message.vnameCert != null && message.hasOwnProperty("vnameCert")) { var error = $root.proto.VerifiedNameCertificate.verify(message.vnameCert); if (error) return "vnameCert." + error; } if (message.signed != null && message.hasOwnProperty("signed")) if (typeof message.signed !== "boolean") return "signed: boolean expected"; if (message.revoked != null && message.hasOwnProperty("revoked")) if (typeof message.revoked !== "boolean") return "revoked: boolean expected"; if (message.hostStorage != null && message.hasOwnProperty("hostStorage")) switch (message.hostStorage) { default: return "hostStorage: enum value expected"; case 0: case 1: break; } if (message.actualActors != null && message.hasOwnProperty("actualActors")) switch (message.actualActors) { default: return "actualActors: enum value expected"; case 0: case 1: break; } if (message.privacyModeTs != null && message.hasOwnProperty("privacyModeTs")) if (!$util.isInteger(message.privacyModeTs) && !(message.privacyModeTs && $util.isInteger(message.privacyModeTs.low) && $util.isInteger(message.privacyModeTs.high))) return "privacyModeTs: integer|Long expected"; if (message.featureControls != null && message.hasOwnProperty("featureControls")) if (!$util.isInteger(message.featureControls) && !(message.featureControls && $util.isInteger(message.featureControls.low) && $util.isInteger(message.featureControls.high))) return "featureControls: integer|Long expected"; return null; }; /** * Creates a BizIdentityInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.BizIdentityInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.BizIdentityInfo} BizIdentityInfo */ BizIdentityInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.BizIdentityInfo) return object; var message = new $root.proto.BizIdentityInfo(); switch (object.vlevel) { case "UNKNOWN": case 0: message.vlevel = 0; break; case "LOW": case 1: message.vlevel = 1; break; case "HIGH": case 2: message.vlevel = 2; break; } if (object.vnameCert != null) { if (typeof object.vnameCert !== "object") throw TypeError(".proto.BizIdentityInfo.vnameCert: object expected"); message.vnameCert = $root.proto.VerifiedNameCertificate.fromObject(object.vnameCert); } if (object.signed != null) message.signed = Boolean(object.signed); if (object.revoked != null) message.revoked = Boolean(object.revoked); switch (object.hostStorage) { case "ON_PREMISE": case 0: message.hostStorage = 0; break; case "FACEBOOK": case 1: message.hostStorage = 1; break; } switch (object.actualActors) { case "SELF": case 0: message.actualActors = 0; break; case "BSP": case 1: message.actualActors = 1; break; } if (object.privacyModeTs != null) if ($util.Long) (message.privacyModeTs = $util.Long.fromValue(object.privacyModeTs)).unsigned = true; else if (typeof object.privacyModeTs === "string") message.privacyModeTs = parseInt(object.privacyModeTs, 10); else if (typeof object.privacyModeTs === "number") message.privacyModeTs = object.privacyModeTs; else if (typeof object.privacyModeTs === "object") message.privacyModeTs = new $util.LongBits(object.privacyModeTs.low >>> 0, object.privacyModeTs.high >>> 0).toNumber(true); if (object.featureControls != null) if ($util.Long) (message.featureControls = $util.Long.fromValue(object.featureControls)).unsigned = true; else if (typeof object.featureControls === "string") message.featureControls = parseInt(object.featureControls, 10); else if (typeof object.featureControls === "number") message.featureControls = object.featureControls; else if (typeof object.featureControls === "object") message.featureControls = new $util.LongBits(object.featureControls.low >>> 0, object.featureControls.high >>> 0).toNumber(true); return message; }; /** * Creates a plain object from a BizIdentityInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.BizIdentityInfo * @static * @param {proto.BizIdentityInfo} message BizIdentityInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ BizIdentityInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.vlevel = options.enums === String ? "UNKNOWN" : 0; object.vnameCert = null; object.signed = false; object.revoked = false; object.hostStorage = options.enums === String ? "ON_PREMISE" : 0; object.actualActors = options.enums === String ? "SELF" : 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.privacyModeTs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.privacyModeTs = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.featureControls = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.featureControls = options.longs === String ? "0" : 0; } if (message.vlevel != null && message.hasOwnProperty("vlevel")) object.vlevel = options.enums === String ? $root.proto.BizIdentityInfo.VerifiedLevelValue[message.vlevel] : message.vlevel; if (message.vnameCert != null && message.hasOwnProperty("vnameCert")) object.vnameCert = $root.proto.VerifiedNameCertificate.toObject(message.vnameCert, options); if (message.signed != null && message.hasOwnProperty("signed")) object.signed = message.signed; if (message.revoked != null && message.hasOwnProperty("revoked")) object.revoked = message.revoked; if (message.hostStorage != null && message.hasOwnProperty("hostStorage")) object.hostStorage = options.enums === String ? $root.proto.BizIdentityInfo.HostStorageType[message.hostStorage] : message.hostStorage; if (message.actualActors != null && message.hasOwnProperty("actualActors")) object.actualActors = options.enums === String ? $root.proto.BizIdentityInfo.ActualActorsType[message.actualActors] : message.actualActors; if (message.privacyModeTs != null && message.hasOwnProperty("privacyModeTs")) if (typeof message.privacyModeTs === "number") object.privacyModeTs = options.longs === String ? String(message.privacyModeTs) : message.privacyModeTs; else object.privacyModeTs = options.longs === String ? $util.Long.prototype.toString.call(message.privacyModeTs) : options.longs === Number ? new $util.LongBits(message.privacyModeTs.low >>> 0, message.privacyModeTs.high >>> 0).toNumber(true) : message.privacyModeTs; if (message.featureControls != null && message.hasOwnProperty("featureControls")) if (typeof message.featureControls === "number") object.featureControls = options.longs === String ? String(message.featureControls) : message.featureControls; else object.featureControls = options.longs === String ? $util.Long.prototype.toString.call(message.featureControls) : options.longs === Number ? new $util.LongBits(message.featureControls.low >>> 0, message.featureControls.high >>> 0).toNumber(true) : message.featureControls; return object; }; /** * Converts this BizIdentityInfo to JSON. * @function toJSON * @memberof proto.BizIdentityInfo * @instance * @returns {Object.<string,*>} JSON object */ BizIdentityInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ActualActorsType enum. * @name proto.BizIdentityInfo.ActualActorsType * @enum {number} * @property {number} SELF=0 SELF value * @property {number} BSP=1 BSP value */ BizIdentityInfo.ActualActorsType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "SELF"] = 0; values[valuesById[1] = "BSP"] = 1; return values; })(); /** * HostStorageType enum. * @name proto.BizIdentityInfo.HostStorageType * @enum {number} * @property {number} ON_PREMISE=0 ON_PREMISE value * @property {number} FACEBOOK=1 FACEBOOK value */ BizIdentityInfo.HostStorageType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "ON_PREMISE"] = 0; values[valuesById[1] = "FACEBOOK"] = 1; return values; })(); /** * VerifiedLevelValue enum. * @name proto.BizIdentityInfo.VerifiedLevelValue * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} LOW=1 LOW value * @property {number} HIGH=2 HIGH value */ BizIdentityInfo.VerifiedLevelValue = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "LOW"] = 1; values[valuesById[2] = "HIGH"] = 2; return values; })(); return BizIdentityInfo; })(); proto.BotAvatarMetadata = (function() { /** * Properties of a BotAvatarMetadata. * @memberof proto * @interface IBotAvatarMetadata * @property {number|null} [sentiment] BotAvatarMetadata sentiment * @property {string|null} [behaviorGraph] BotAvatarMetadata behaviorGraph */ /** * Constructs a new BotAvatarMetadata. * @memberof proto * @classdesc Represents a BotAvatarMetadata. * @implements IBotAvatarMetadata * @constructor * @param {proto.IBotAvatarMetadata=} [properties] Properties to set */ function BotAvatarMetadata(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]]; } /** * BotAvatarMetadata sentiment. * @member {number} sentiment * @memberof proto.BotAvatarMetadata * @instance */ BotAvatarMetadata.prototype.sentiment = 0; /** * BotAvatarMetadata behaviorGraph. * @member {string} behaviorGraph * @memberof proto.BotAvatarMetadata * @instance */ BotAvatarMetadata.prototype.behaviorGraph = ""; /** * Creates a new BotAvatarMetadata instance using the specified properties. * @function create * @memberof proto.BotAvatarMetadata * @static * @param {proto.IBotAvatarMetadata=} [properties] Properties to set * @returns {proto.BotAvatarMetadata} BotAvatarMetadata instance */ BotAvatarMetadata.create = function create(properties) { return new BotAvatarMetadata(properties); }; /** * Encodes the specified BotAvatarMetadata message. Does not implicitly {@link proto.BotAvatarMetadata.verify|verify} messages. * @function encode * @memberof proto.BotAvatarMetadata * @static * @param {proto.IBotAvatarMetadata} message BotAvatarMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BotAvatarMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.sentiment != null && Object.hasOwnProperty.call(message, "sentiment")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.sentiment); if (message.behaviorGraph != null && Object.hasOwnProperty.call(message, "behaviorGraph")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.behaviorGraph); return writer; }; /** * Encodes the specified BotAvatarMetadata message, length delimited. Does not implicitly {@link proto.BotAvatarMetadata.verify|verify} messages. * @function encodeDelimited * @memberof proto.BotAvatarMetadata * @static * @param {proto.IBotAvatarMetadata} message BotAvatarMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BotAvatarMetadata.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a BotAvatarMetadata message from the specified reader or buffer. * @function decode * @memberof proto.BotAvatarMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.BotAvatarMetadata} BotAvatarMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BotAvatarMetadata.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.BotAvatarMetadata(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.sentiment = reader.uint32(); break; case 2: message.behaviorGraph = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a BotAvatarMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.BotAvatarMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.BotAvatarMetadata} BotAvatarMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BotAvatarMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a BotAvatarMetadata message. * @function verify * @memberof proto.BotAvatarMetadata * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ BotAvatarMetadata.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.sentiment != null && message.hasOwnProperty("sentiment")) if (!$util.isInteger(message.sentiment)) return "sentiment: integer expected"; if (message.behaviorGraph != null && message.hasOwnProperty("behaviorGraph")) if (!$util.isString(message.behaviorGraph)) return "behaviorGraph: string expected"; return null; }; /** * Creates a BotAvatarMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.BotAvatarMetadata * @static * @param {Object.<string,*>} object Plain object * @returns {proto.BotAvatarMetadata} BotAvatarMetadata */ BotAvatarMetadata.fromObject = function fromObject(object) { if (object instanceof $root.proto.BotAvatarMetadata) return object; var message = new $root.proto.BotAvatarMetadata(); if (object.sentiment != null) message.sentiment = object.sentiment >>> 0; if (object.behaviorGraph != null) message.behaviorGraph = String(object.behaviorGraph); return message; }; /** * Creates a plain object from a BotAvatarMetadata message. Also converts values to other types if specified. * @function toObject * @memberof proto.BotAvatarMetadata * @static * @param {proto.BotAvatarMetadata} message BotAvatarMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ BotAvatarMetadata.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.sentiment = 0; object.behaviorGraph = ""; } if (message.sentiment != null && message.hasOwnProperty("sentiment")) object.sentiment = message.sentiment; if (message.behaviorGraph != null && message.hasOwnProperty("behaviorGraph")) object.behaviorGraph = message.behaviorGraph; return object; }; /** * Converts this BotAvatarMetadata to JSON. * @function toJSON * @memberof proto.BotAvatarMetadata * @instance * @returns {Object.<string,*>} JSON object */ BotAvatarMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return BotAvatarMetadata; })(); proto.BotMetadata = (function() { /** * Properties of a BotMetadata. * @memberof proto * @interface IBotMetadata * @property {proto.IBotAvatarMetadata|null} [avatarMetadata] BotMetadata avatarMetadata */ /** * Constructs a new BotMetadata. * @memberof proto * @classdesc Represents a BotMetadata. * @implements IBotMetadata * @constructor * @param {proto.IBotMetadata=} [properties] Properties to set */ function BotMetadata(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]]; } /** * BotMetadata avatarMetadata. * @member {proto.IBotAvatarMetadata|null|undefined} avatarMetadata * @memberof proto.BotMetadata * @instance */ BotMetadata.prototype.avatarMetadata = null; /** * Creates a new BotMetadata instance using the specified properties. * @function create * @memberof proto.BotMetadata * @static * @param {proto.IBotMetadata=} [properties] Properties to set * @returns {proto.BotMetadata} BotMetadata instance */ BotMetadata.create = function create(properties) { return new BotMetadata(properties); }; /** * Encodes the specified BotMetadata message. Does not implicitly {@link proto.BotMetadata.verify|verify} messages. * @function encode * @memberof proto.BotMetadata * @static * @param {proto.IBotMetadata} message BotMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BotMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.avatarMetadata != null && Object.hasOwnProperty.call(message, "avatarMetadata")) $root.proto.BotAvatarMetadata.encode(message.avatarMetadata, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified BotMetadata message, length delimited. Does not implicitly {@link proto.BotMetadata.verify|verify} messages. * @function encodeDelimited * @memberof proto.BotMetadata * @static * @param {proto.IBotMetadata} message BotMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BotMetadata.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a BotMetadata message from the specified reader or buffer. * @function decode * @memberof proto.BotMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.BotMetadata} BotMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BotMetadata.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.BotMetadata(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.avatarMetadata = $root.proto.BotAvatarMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a BotMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.BotMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.BotMetadata} BotMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BotMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a BotMetadata message. * @function verify * @memberof proto.BotMetadata * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ BotMetadata.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.avatarMetadata != null && message.hasOwnProperty("avatarMetadata")) { var error = $root.proto.BotAvatarMetadata.verify(message.avatarMetadata); if (error) return "avatarMetadata." + error; } return null; }; /** * Creates a BotMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.BotMetadata * @static * @param {Object.<string,*>} object Plain object * @returns {proto.BotMetadata} BotMetadata */ BotMetadata.fromObject = function fromObject(object) { if (object instanceof $root.proto.BotMetadata) return object; var message = new $root.proto.BotMetadata(); if (object.avatarMetadata != null) { if (typeof object.avatarMetadata !== "object") throw TypeError(".proto.BotMetadata.avatarMetadata: object expected"); message.avatarMetadata = $root.proto.BotAvatarMetadata.fromObject(object.avatarMetadata); } return message; }; /** * Creates a plain object from a BotMetadata message. Also converts values to other types if specified. * @function toObject * @memberof proto.BotMetadata * @static * @param {proto.BotMetadata} message BotMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ BotMetadata.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.avatarMetadata = null; if (message.avatarMetadata != null && message.hasOwnProperty("avatarMetadata")) object.avatarMetadata = $root.proto.BotAvatarMetadata.toObject(message.avatarMetadata, options); return object; }; /** * Converts this BotMetadata to JSON. * @function toJSON * @memberof proto.BotMetadata * @instance * @returns {Object.<string,*>} JSON object */ BotMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return BotMetadata; })(); proto.CertChain = (function() { /** * Properties of a CertChain. * @memberof proto * @interface ICertChain * @property {proto.CertChain.INoiseCertificate|null} [leaf] CertChain leaf * @property {proto.CertChain.INoiseCertificate|null} [intermediate] CertChain intermediate */ /** * Constructs a new CertChain. * @memberof proto * @classdesc Represents a CertChain. * @implements ICertChain * @constructor * @param {proto.ICertChain=} [properties] Properties to set */ function CertChain(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]]; } /** * CertChain leaf. * @member {proto.CertChain.INoiseCertificate|null|undefined} leaf * @memberof proto.CertChain * @instance */ CertChain.prototype.leaf = null; /** * CertChain intermediate. * @member {proto.CertChain.INoiseCertificate|null|undefined} intermediate * @memberof proto.CertChain * @instance */ CertChain.prototype.intermediate = null; /** * Creates a new CertChain instance using the specified properties. * @function create * @memberof proto.CertChain * @static * @param {proto.ICertChain=} [properties] Properties to set * @returns {proto.CertChain} CertChain instance */ CertChain.create = function create(properties) { return new CertChain(properties); }; /** * Encodes the specified CertChain message. Does not implicitly {@link proto.CertChain.verify|verify} messages. * @function encode * @memberof proto.CertChain * @static * @param {proto.ICertChain} message CertChain message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CertChain.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.leaf != null && Object.hasOwnProperty.call(message, "leaf")) $root.proto.CertChain.NoiseCertificate.encode(message.leaf, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.intermediate != null && Object.hasOwnProperty.call(message, "intermediate")) $root.proto.CertChain.NoiseCertificate.encode(message.intermediate, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified CertChain message, length delimited. Does not implicitly {@link proto.CertChain.verify|verify} messages. * @function encodeDelimited * @memberof proto.CertChain * @static * @param {proto.ICertChain} message CertChain message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CertChain.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a CertChain message from the specified reader or buffer. * @function decode * @memberof proto.CertChain * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.CertChain} CertChain * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CertChain.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.CertChain(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.leaf = $root.proto.CertChain.NoiseCertificate.decode(reader, reader.uint32()); break; case 2: message.intermediate = $root.proto.CertChain.NoiseCertificate.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a CertChain message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.CertChain * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.CertChain} CertChain * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CertChain.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a CertChain message. * @function verify * @memberof proto.CertChain * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ CertChain.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.leaf != null && message.hasOwnProperty("leaf")) { var error = $root.proto.CertChain.NoiseCertificate.verify(message.leaf); if (error) return "leaf." + error; } if (message.intermediate != null && message.hasOwnProperty("intermediate")) { var error = $root.proto.CertChain.NoiseCertificate.verify(message.intermediate); if (error) return "intermediate." + error; } return null; }; /** * Creates a CertChain message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.CertChain * @static * @param {Object.<string,*>} object Plain object * @returns {proto.CertChain} CertChain */ CertChain.fromObject = function fromObject(object) { if (object instanceof $root.proto.CertChain) return object; var message = new $root.proto.CertChain(); if (object.leaf != null) { if (typeof object.leaf !== "object") throw TypeError(".proto.CertChain.leaf: object expected"); message.leaf = $root.proto.CertChain.NoiseCertificate.fromObject(object.leaf); } if (object.intermediate != null) { if (typeof object.intermediate !== "object") throw TypeError(".proto.CertChain.intermediate: object expected"); message.intermediate = $root.proto.CertChain.NoiseCertificate.fromObject(object.intermediate); } return message; }; /** * Creates a plain object from a CertChain message. Also converts values to other types if specified. * @function toObject * @memberof proto.CertChain * @static * @param {proto.CertChain} message CertChain * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ CertChain.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.leaf = null; object.intermediate = null; } if (message.leaf != null && message.hasOwnProperty("leaf")) object.leaf = $root.proto.CertChain.NoiseCertificate.toObject(message.leaf, options); if (message.intermediate != null && message.hasOwnProperty("intermediate")) object.intermediate = $root.proto.CertChain.NoiseCertificate.toObject(message.intermediate, options); return object; }; /** * Converts this CertChain to JSON. * @function toJSON * @memberof proto.CertChain * @instance * @returns {Object.<string,*>} JSON object */ CertChain.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; CertChain.NoiseCertificate = (function() { /** * Properties of a NoiseCertificate. * @memberof proto.CertChain * @interface INoiseCertificate * @property {Uint8Array|null} [details] NoiseCertificate details * @property {Uint8Array|null} [signature] NoiseCertificate signature */ /** * Constructs a new NoiseCertificate. * @memberof proto.CertChain * @classdesc Represents a NoiseCertificate. * @implements INoiseCertificate * @constructor * @param {proto.CertChain.INoiseCertificate=} [properties] Properties to set */ function NoiseCertificate(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]]; } /** * NoiseCertificate details. * @member {Uint8Array} details * @memberof proto.CertChain.NoiseCertificate * @instance */ NoiseCertificate.prototype.details = $util.newBuffer([]); /** * NoiseCertificate signature. * @member {Uint8Array} signature * @memberof proto.CertChain.NoiseCertificate * @instance */ NoiseCertificate.prototype.signature = $util.newBuffer([]); /** * Creates a new NoiseCertificate instance using the specified properties. * @function create * @memberof proto.CertChain.NoiseCertificate * @static * @param {proto.CertChain.INoiseCertificate=} [properties] Properties to set * @returns {proto.CertChain.NoiseCertificate} NoiseCertificate instance */ NoiseCertificate.create = function create(properties) { return new NoiseCertificate(properties); }; /** * Encodes the specified NoiseCertificate message. Does not implicitly {@link proto.CertChain.NoiseCertificate.verify|verify} messages. * @function encode * @memberof proto.CertChain.NoiseCertificate * @static * @param {proto.CertChain.INoiseCertificate} message NoiseCertificate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NoiseCertificate.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.details != null && Object.hasOwnProperty.call(message, "details")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.details); if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.signature); return writer; }; /** * Encodes the specified NoiseCertificate message, length delimited. Does not implicitly {@link proto.CertChain.NoiseCertificate.verify|verify} messages. * @function encodeDelimited * @memberof proto.CertChain.NoiseCertificate * @static * @param {proto.CertChain.INoiseCertificate} message NoiseCertificate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NoiseCertificate.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a NoiseCertificate message from the specified reader or buffer. * @function decode * @memberof proto.CertChain.NoiseCertificate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.CertChain.NoiseCertificate} NoiseCertificate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NoiseCertificate.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.CertChain.NoiseCertificate(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.details = reader.bytes(); break; case 2: message.signature = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a NoiseCertificate message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.CertChain.NoiseCertificate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.CertChain.NoiseCertificate} NoiseCertificate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NoiseCertificate.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a NoiseCertificate message. * @function verify * @memberof proto.CertChain.NoiseCertificate * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ NoiseCertificate.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.details != null && message.hasOwnProperty("details")) if (!(message.details && typeof message.details.length === "number" || $util.isString(message.details))) return "details: buffer expected"; if (message.signature != null && message.hasOwnProperty("signature")) if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) return "signature: buffer expected"; return null; }; /** * Creates a NoiseCertificate message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.CertChain.NoiseCertificate * @static * @param {Object.<string,*>} object Plain object * @returns {proto.CertChain.NoiseCertificate} NoiseCertificate */ NoiseCertificate.fromObject = function fromObject(object) { if (object instanceof $root.proto.CertChain.NoiseCertificate) return object; var message = new $root.proto.CertChain.NoiseCertificate(); if (object.details != null) if (typeof object.details === "string") $util.base64.decode(object.details, message.details = $util.newBuffer($util.base64.length(object.details)), 0); else if (object.details.length) message.details = object.details; if (object.signature != null) if (typeof object.signature === "string") $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); else if (object.signature.length) message.signature = object.signature; return message; }; /** * Creates a plain object from a NoiseCertificate message. Also converts values to other types if specified. * @function toObject * @memberof proto.CertChain.NoiseCertificate * @static * @param {proto.CertChain.NoiseCertificate} message NoiseCertificate * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ NoiseCertificate.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.details = ""; else { object.details = []; if (options.bytes !== Array) object.details = $util.newBuffer(object.details); } if (options.bytes === String) object.signature = ""; else { object.signature = []; if (options.bytes !== Array) object.signature = $util.newBuffer(object.signature); } } if (message.details != null && message.hasOwnProperty("details")) object.details = options.bytes === String ? $util.base64.encode(message.details, 0, message.details.length) : options.bytes === Array ? Array.prototype.slice.call(message.details) : message.details; if (message.signature != null && message.hasOwnProperty("signature")) object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; return object; }; /** * Converts this NoiseCertificate to JSON. * @function toJSON * @memberof proto.CertChain.NoiseCertificate * @instance * @returns {Object.<string,*>} JSON object */ NoiseCertificate.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; NoiseCertificate.Details = (function() { /** * Properties of a Details. * @memberof proto.CertChain.NoiseCertificate * @interface IDetails * @property {number|null} [serial] Details serial * @property {number|null} [issuerSerial] Details issuerSerial * @property {Uint8Array|null} [key] Details key * @property {number|Long|null} [notBefore] Details notBefore * @property {number|Long|null} [notAfter] Details notAfter */ /** * Constructs a new Details. * @memberof proto.CertChain.NoiseCertificate * @classdesc Represents a Details. * @implements IDetails * @constructor * @param {proto.CertChain.NoiseCertificate.IDetails=} [properties] Properties to set */ function Details(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]]; } /** * Details serial. * @member {number} serial * @memberof proto.CertChain.NoiseCertificate.Details * @instance */ Details.prototype.serial = 0; /** * Details issuerSerial. * @member {number} issuerSerial * @memberof proto.CertChain.NoiseCertificate.Details * @instance */ Details.prototype.issuerSerial = 0; /** * Details key. * @member {Uint8Array} key * @memberof proto.CertChain.NoiseCertificate.Details * @instance */ Details.prototype.key = $util.newBuffer([]); /** * Details notBefore. * @member {number|Long} notBefore * @memberof proto.CertChain.NoiseCertificate.Details * @instance */ Details.prototype.notBefore = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Details notAfter. * @member {number|Long} notAfter * @memberof proto.CertChain.NoiseCertificate.Details * @instance */ Details.prototype.notAfter = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Creates a new Details instance using the specified properties. * @function create * @memberof proto.CertChain.NoiseCertificate.Details * @static * @param {proto.CertChain.NoiseCertificate.IDetails=} [properties] Properties to set * @returns {proto.CertChain.NoiseCertificate.Details} Details instance */ Details.create = function create(properties) { return new Details(properties); }; /** * Encodes the specified Details message. Does not implicitly {@link proto.CertChain.NoiseCertificate.Details.verify|verify} messages. * @function encode * @memberof proto.CertChain.NoiseCertificate.Details * @static * @param {proto.CertChain.NoiseCertificate.IDetails} message Details message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Details.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.serial != null && Object.hasOwnProperty.call(message, "serial")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.serial); if (message.issuerSerial != null && Object.hasOwnProperty.call(message, "issuerSerial")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.issuerSerial); if (message.key != null && Object.hasOwnProperty.call(message, "key")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.key); if (message.notBefore != null && Object.hasOwnProperty.call(message, "notBefore")) writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.notBefore); if (message.notAfter != null && Object.hasOwnProperty.call(message, "notAfter")) writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.notAfter); return writer; }; /** * Encodes the specified Details message, length delimited. Does not implicitly {@link proto.CertChain.NoiseCertificate.Details.verify|verify} messages. * @function encodeDelimited * @memberof proto.CertChain.NoiseCertificate.Details * @static * @param {proto.CertChain.NoiseCertificate.IDetails} message Details message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Details.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Details message from the specified reader or buffer. * @function decode * @memberof proto.CertChain.NoiseCertificate.Details * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.CertChain.NoiseCertificate.Details} Details * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Details.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.CertChain.NoiseCertificate.Details(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.serial = reader.uint32(); break; case 2: message.issuerSerial = reader.uint32(); break; case 3: message.key = reader.bytes(); break; case 4: message.notBefore = reader.uint64(); break; case 5: message.notAfter = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Details message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.CertChain.NoiseCertificate.Details * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.CertChain.NoiseCertificate.Details} Details * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Details.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Details message. * @function verify * @memberof proto.CertChain.NoiseCertificate.Details * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Details.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.serial != null && message.hasOwnProperty("serial")) if (!$util.isInteger(message.serial)) return "serial: integer expected"; if (message.issuerSerial != null && message.hasOwnProperty("issuerSerial")) if (!$util.isInteger(message.issuerSerial)) return "issuerSerial: integer expected"; if (message.key != null && message.hasOwnProperty("key")) if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) return "key: buffer expected"; if (message.notBefore != null && message.hasOwnProperty("notBefore")) if (!$util.isInteger(message.notBefore) && !(message.notBefore && $util.isInteger(message.notBefore.low) && $util.isInteger(message.notBefore.high))) return "notBefore: integer|Long expected"; if (message.notAfter != null && message.hasOwnProperty("notAfter")) if (!$util.isInteger(message.notAfter) && !(message.notAfter && $util.isInteger(message.notAfter.low) && $util.isInteger(message.notAfter.high))) return "notAfter: integer|Long expected"; return null; }; /** * Creates a Details message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.CertChain.NoiseCertificate.Details * @static * @param {Object.<string,*>} object Plain object * @returns {proto.CertChain.NoiseCertificate.Details} Details */ Details.fromObject = function fromObject(object) { if (object instanceof $root.proto.CertChain.NoiseCertificate.Details) return object; var message = new $root.proto.CertChain.NoiseCertificate.Details(); if (object.serial != null) message.serial = object.serial >>> 0; if (object.issuerSerial != null) message.issuerSerial = object.issuerSerial >>> 0; if (object.key != null) if (typeof object.key === "string") $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); else if (object.key.length) message.key = object.key; if (object.notBefore != null) if ($util.Long) (message.notBefore = $util.Long.fromValue(object.notBefore)).unsigned = true; else if (typeof object.notBefore === "string") message.notBefore = parseInt(object.notBefore, 10); else if (typeof object.notBefore === "number") message.notBefore = object.notBefore; else if (typeof object.notBefore === "object") message.notBefore = new $util.LongBits(object.notBefore.low >>> 0, object.notBefore.high >>> 0).toNumber(true); if (object.notAfter != null) if ($util.Long) (message.notAfter = $util.Long.fromValue(object.notAfter)).unsigned = true; else if (typeof object.notAfter === "string") message.notAfter = parseInt(object.notAfter, 10); else if (typeof object.notAfter === "number") message.notAfter = object.notAfter; else if (typeof object.notAfter === "object") message.notAfter = new $util.LongBits(object.notAfter.low >>> 0, object.notAfter.high >>> 0).toNumber(true); return message; }; /** * Creates a plain object from a Details message. Also converts values to other types if specified. * @function toObject * @memberof proto.CertChain.NoiseCertificate.Details * @static * @param {proto.CertChain.NoiseCertificate.Details} message Details * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Details.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.serial = 0; object.issuerSerial = 0; if (options.bytes === String) object.key = ""; else { object.key = []; if (options.bytes !== Array) object.key = $util.newBuffer(object.key); } if ($util.Long) { var long = new $util.Long(0, 0, true); object.notBefore = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.notBefore = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.notAfter = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.notAfter = options.longs === String ? "0" : 0; } if (message.serial != null && message.hasOwnProperty("serial")) object.serial = message.serial; if (message.issuerSerial != null && message.hasOwnProperty("issuerSerial")) object.issuerSerial = message.issuerSerial; if (message.key != null && message.hasOwnProperty("key")) object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; if (message.notBefore != null && message.hasOwnProperty("notBefore")) if (typeof message.notBefore === "number") object.notBefore = options.longs === String ? String(message.notBefore) : message.notBefore; else object.notBefore = options.longs === String ? $util.Long.prototype.toString.call(message.notBefore) : options.longs === Number ? new $util.LongBits(message.notBefore.low >>> 0, message.notBefore.high >>> 0).toNumber(true) : message.notBefore; if (message.notAfter != null && message.hasOwnProperty("notAfter")) if (typeof message.notAfter === "number") object.notAfter = options.longs === String ? String(message.notAfter) : message.notAfter; else object.notAfter = options.longs === String ? $util.Long.prototype.toString.call(message.notAfter) : options.longs === Number ? new $util.LongBits(message.notAfter.low >>> 0, message.notAfter.high >>> 0).toNumber(true) : message.notAfter; return object; }; /** * Converts this Details to JSON. * @function toJSON * @memberof proto.CertChain.NoiseCertificate.Details * @instance * @returns {Object.<string,*>} JSON object */ Details.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Details; })(); return NoiseCertificate; })(); return CertChain; })(); proto.ChatRowOpaqueData = (function() { /** * Properties of a ChatRowOpaqueData. * @memberof proto * @interface IChatRowOpaqueData * @property {proto.ChatRowOpaqueData.IDraftMessage|null} [draftMessage] ChatRowOpaqueData draftMessage */ /** * Constructs a new ChatRowOpaqueData. * @memberof proto * @classdesc Represents a ChatRowOpaqueData. * @implements IChatRowOpaqueData * @constructor * @param {proto.IChatRowOpaqueData=} [properties] Properties to set */ function ChatRowOpaqueData(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]]; } /** * ChatRowOpaqueData draftMessage. * @member {proto.ChatRowOpaqueData.IDraftMessage|null|undefined} draftMessage * @memberof proto.ChatRowOpaqueData * @instance */ ChatRowOpaqueData.prototype.draftMessage = null; /** * Creates a new ChatRowOpaqueData instance using the specified properties. * @function create * @memberof proto.ChatRowOpaqueData * @static * @param {proto.IChatRowOpaqueData=} [properties] Properties to set * @returns {proto.ChatRowOpaqueData} ChatRowOpaqueData instance */ ChatRowOpaqueData.create = function create(properties) { return new ChatRowOpaqueData(properties); }; /** * Encodes the specified ChatRowOpaqueData message. Does not implicitly {@link proto.ChatRowOpaqueData.verify|verify} messages. * @function encode * @memberof proto.ChatRowOpaqueData * @static * @param {proto.IChatRowOpaqueData} message ChatRowOpaqueData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ChatRowOpaqueData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.draftMessage != null && Object.hasOwnProperty.call(message, "draftMessage")) $root.proto.ChatRowOpaqueData.DraftMessage.encode(message.draftMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified ChatRowOpaqueData message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.verify|verify} messages. * @function encodeDelimited * @memberof proto.ChatRowOpaqueData * @static * @param {proto.IChatRowOpaqueData} message ChatRowOpaqueData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ChatRowOpaqueData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ChatRowOpaqueData message from the specified reader or buffer. * @function decode * @memberof proto.ChatRowOpaqueData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ChatRowOpaqueData} ChatRowOpaqueData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ChatRowOpaqueData.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.ChatRowOpaqueData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.draftMessage = $root.proto.ChatRowOpaqueData.DraftMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ChatRowOpaqueData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ChatRowOpaqueData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ChatRowOpaqueData} ChatRowOpaqueData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ChatRowOpaqueData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ChatRowOpaqueData message. * @function verify * @memberof proto.ChatRowOpaqueData * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ChatRowOpaqueData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.draftMessage != null && message.hasOwnProperty("draftMessage")) { var error = $root.proto.ChatRowOpaqueData.DraftMessage.verify(message.draftMessage); if (error) return "draftMessage." + error; } return null; }; /** * Creates a ChatRowOpaqueData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ChatRowOpaqueData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ChatRowOpaqueData} ChatRowOpaqueData */ ChatRowOpaqueData.fromObject = function fromObject(object) { if (object instanceof $root.proto.ChatRowOpaqueData) return object; var message = new $root.proto.ChatRowOpaqueData(); if (object.draftMessage != null) { if (typeof object.draftMessage !== "object") throw TypeError(".proto.ChatRowOpaqueData.draftMessage: object expected"); message.draftMessage = $root.proto.ChatRowOpaqueData.DraftMessage.fromObject(object.draftMessage); } return message; }; /** * Creates a plain object from a ChatRowOpaqueData message. Also converts values to other types if specified. * @function toObject * @memberof proto.ChatRowOpaqueData * @static * @param {proto.ChatRowOpaqueData} message ChatRowOpaqueData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ChatRowOpaqueData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.draftMessage = null; if (message.draftMessage != null && message.hasOwnProperty("draftMessage")) object.draftMessage = $root.proto.ChatRowOpaqueData.DraftMessage.toObject(message.draftMessage, options); return object; }; /** * Converts this ChatRowOpaqueData to JSON. * @function toJSON * @memberof proto.ChatRowOpaqueData * @instance * @returns {Object.<string,*>} JSON object */ ChatRowOpaqueData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; ChatRowOpaqueData.DraftMessage = (function() { /** * Properties of a DraftMessage. * @memberof proto.ChatRowOpaqueData * @interface IDraftMessage * @property {string|null} [text] DraftMessage text * @property {string|null} [omittedUrl] DraftMessage omittedUrl * @property {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData|null} [ctwaContextLinkData] DraftMessage ctwaContextLinkData * @property {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData|null} [ctwaContext] DraftMessage ctwaContext * @property {number|Long|null} [timestamp] DraftMessage timestamp */ /** * Constructs a new DraftMessage. * @memberof proto.ChatRowOpaqueData * @classdesc Represents a DraftMessage. * @implements IDraftMessage * @constructor * @param {proto.ChatRowOpaqueData.IDraftMessage=} [properties] Properties to set */ function DraftMessage(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]]; } /** * DraftMessage text. * @member {string} text * @memberof proto.ChatRowOpaqueData.DraftMessage * @instance */ DraftMessage.prototype.text = ""; /** * DraftMessage omittedUrl. * @member {string} omittedUrl * @memberof proto.ChatRowOpaqueData.DraftMessage * @instance */ DraftMessage.prototype.omittedUrl = ""; /** * DraftMessage ctwaContextLinkData. * @member {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData|null|undefined} ctwaContextLinkData * @memberof proto.ChatRowOpaqueData.DraftMessage * @instance */ DraftMessage.prototype.ctwaContextLinkData = null; /** * DraftMessage ctwaContext. * @member {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData|null|undefined} ctwaContext * @memberof proto.ChatRowOpaqueData.DraftMessage * @instance */ DraftMessage.prototype.ctwaContext = null; /** * DraftMessage timestamp. * @member {number|Long} timestamp * @memberof proto.ChatRowOpaqueData.DraftMessage * @instance */ DraftMessage.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new DraftMessage instance using the specified properties. * @function create * @memberof proto.ChatRowOpaqueData.DraftMessage * @static * @param {proto.ChatRowOpaqueData.IDraftMessage=} [properties] Properties to set * @returns {proto.ChatRowOpaqueData.DraftMessage} DraftMessage instance */ DraftMessage.create = function create(properties) { return new DraftMessage(properties); }; /** * Encodes the specified DraftMessage message. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.verify|verify} messages. * @function encode * @memberof proto.ChatRowOpaqueData.DraftMessage * @static * @param {proto.ChatRowOpaqueData.IDraftMessage} message DraftMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DraftMessage.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.omittedUrl != null && Object.hasOwnProperty.call(message, "omittedUrl")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.omittedUrl); if (message.ctwaContextLinkData != null && Object.hasOwnProperty.call(message, "ctwaContextLinkData")) $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.encode(message.ctwaContextLinkData, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.ctwaContext != null && Object.hasOwnProperty.call(message, "ctwaContext")) $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.encode(message.ctwaContext, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.timestamp); return writer; }; /** * Encodes the specified DraftMessage message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.ChatRowOpaqueData.DraftMessage * @static * @param {proto.ChatRowOpaqueData.IDraftMessage} message DraftMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DraftMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DraftMessage message from the specified reader or buffer. * @function decode * @memberof proto.ChatRowOpaqueData.DraftMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ChatRowOpaqueData.DraftMessage} DraftMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DraftMessage.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.ChatRowOpaqueData.DraftMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.text = reader.string(); break; case 2: message.omittedUrl = reader.string(); break; case 3: message.ctwaContextLinkData = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.decode(reader, reader.uint32()); break; case 4: message.ctwaContext = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.decode(reader, reader.uint32()); break; case 5: message.timestamp = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DraftMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ChatRowOpaqueData.DraftMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ChatRowOpaqueData.DraftMessage} DraftMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DraftMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DraftMessage message. * @function verify * @memberof proto.ChatRowOpaqueData.DraftMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DraftMessage.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.omittedUrl != null && message.hasOwnProperty("omittedUrl")) if (!$util.isString(message.omittedUrl)) return "omittedUrl: string expected"; if (message.ctwaContextLinkData != null && message.hasOwnProperty("ctwaContextLinkData")) { var error = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.verify(message.ctwaContextLinkData); if (error) return "ctwaContextLinkData." + error; } if (message.ctwaContext != null && message.hasOwnProperty("ctwaContext")) { var error = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.verify(message.ctwaContext); if (error) return "ctwaContext." + 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 a DraftMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ChatRowOpaqueData.DraftMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ChatRowOpaqueData.DraftMessage} DraftMessage */ DraftMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.ChatRowOpaqueData.DraftMessage) return object; var message = new $root.proto.ChatRowOpaqueData.DraftMessage(); if (object.text != null) message.text = String(object.text); if (object.omittedUrl != null) message.omittedUrl = String(object.omittedUrl); if (object.ctwaContextLinkData != null) { if (typeof object.ctwaContextLinkData !== "object") throw TypeError(".proto.ChatRowOpaqueData.DraftMessage.ctwaContextLinkData: object expected"); message.ctwaContextLinkData = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.fromObject(object.ctwaContextLinkData); } if (object.ctwaContext != null) { if (typeof object.ctwaContext !== "object") throw TypeError(".proto.ChatRowOpaqueData.DraftMessage.ctwaContext: object expected"); message.ctwaContext = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.fromObject(object.ctwaContext); } 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 DraftMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.ChatRowOpaqueData.DraftMessage * @static * @param {proto.ChatRowOpaqueData.DraftMessage} message DraftMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ DraftMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.text = ""; object.omittedUrl = ""; object.ctwaContextLinkData = null; object.ctwaContext = 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.text != null && message.hasOwnProperty("text")) object.text = message.text; if (message.omittedUrl != null && message.hasOwnProperty("omittedUrl")) object.omittedUrl = message.omittedUrl; if (message.ctwaContextLinkData != null && message.hasOwnProperty("ctwaContextLinkData")) object.ctwaContextLinkData = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.toObject(message.ctwaContextLinkData, options); if (message.ctwaContext != null && message.hasOwnProperty("ctwaContext")) object.ctwaContext = $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.toObject(message.ctwaContext, 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 DraftMessage to JSON. * @function toJSON * @memberof proto.ChatRowOpaqueData.DraftMessage * @instance * @returns {Object.<string,*>} JSON object */ DraftMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; DraftMessage.CtwaContextData = (function() { /** * Properties of a CtwaContextData. * @memberof proto.ChatRowOpaqueData.DraftMessage * @interface ICtwaContextData * @property {string|null} [conversionSource] CtwaContextData conversionSource * @property {Uint8Array|null} [conversionData] CtwaContextData conversionData * @property {string|null} [sourceUrl] CtwaContextData sourceUrl * @property {string|null} [sourceId] CtwaContextData sourceId * @property {string|null} [sourceType] CtwaContextData sourceType * @property {string|null} [title] CtwaContextData title * @property {string|null} [description] CtwaContextData description * @property {string|null} [thumbnail] CtwaContextData thumbnail * @property {string|null} [thumbnailUrl] CtwaContextData thumbnailUrl * @property {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.ContextInfoExternalAdReplyInfoMediaType|null} [mediaType] CtwaContextData mediaType * @property {string|null} [mediaUrl] CtwaContextData mediaUrl * @property {boolean|null} [isSuspiciousLink] CtwaContextData isSuspiciousLink */ /** * Constructs a new CtwaContextData. * @memberof proto.ChatRowOpaqueData.DraftMessage * @classdesc Represents a CtwaContextData. * @implements ICtwaContextData * @constructor * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData=} [properties] Properties to set */ function CtwaContextData(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]]; } /** * CtwaContextData conversionSource. * @member {string} conversionSource * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.conversionSource = ""; /** * CtwaContextData conversionData. * @member {Uint8Array} conversionData * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.conversionData = $util.newBuffer([]); /** * CtwaContextData sourceUrl. * @member {string} sourceUrl * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.sourceUrl = ""; /** * CtwaContextData sourceId. * @member {string} sourceId * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.sourceId = ""; /** * CtwaContextData sourceType. * @member {string} sourceType * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.sourceType = ""; /** * CtwaContextData title. * @member {string} title * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.title = ""; /** * CtwaContextData description. * @member {string} description * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.description = ""; /** * CtwaContextData thumbnail. * @member {string} thumbnail * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.thumbnail = ""; /** * CtwaContextData thumbnailUrl. * @member {string} thumbnailUrl * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.thumbnailUrl = ""; /** * CtwaContextData mediaType. * @member {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.ContextInfoExternalAdReplyInfoMediaType} mediaType * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.mediaType = 0; /** * CtwaContextData mediaUrl. * @member {string} mediaUrl * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.mediaUrl = ""; /** * CtwaContextData isSuspiciousLink. * @member {boolean} isSuspiciousLink * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance */ CtwaContextData.prototype.isSuspiciousLink = false; /** * Creates a new CtwaContextData instance using the specified properties. * @function create * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @static * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData=} [properties] Properties to set * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData} CtwaContextData instance */ CtwaContextData.create = function create(properties) { return new CtwaContextData(properties); }; /** * Encodes the specified CtwaContextData message. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.verify|verify} messages. * @function encode * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @static * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData} message CtwaContextData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CtwaContextData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.conversionSource != null && Object.hasOwnProperty.call(message, "conversionSource")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.conversionSource); if (message.conversionData != null && Object.hasOwnProperty.call(message, "conversionData")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.conversionData); if (message.sourceUrl != null && Object.hasOwnProperty.call(message, "sourceUrl")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.sourceUrl); if (message.sourceId != null && Object.hasOwnProperty.call(message, "sourceId")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.sourceId); if (message.sourceType != null && Object.hasOwnProperty.call(message, "sourceType")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.sourceType); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.title); if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.description); if (message.thumbnail != null && Object.hasOwnProperty.call(message, "thumbnail")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.thumbnail); if (message.thumbnailUrl != null && Object.hasOwnProperty.call(message, "thumbnailUrl")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.thumbnailUrl); if (message.mediaType != null && Object.hasOwnProperty.call(message, "mediaType")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.mediaType); if (message.mediaUrl != null && Object.hasOwnProperty.call(message, "mediaUrl")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.mediaUrl); if (message.isSuspiciousLink != null && Object.hasOwnProperty.call(message, "isSuspiciousLink")) writer.uint32(/* id 12, wireType 0 =*/96).bool(message.isSuspiciousLink); return writer; }; /** * Encodes the specified CtwaContextData message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.verify|verify} messages. * @function encodeDelimited * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @static * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextData} message CtwaContextData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CtwaContextData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a CtwaContextData message from the specified reader or buffer. * @function decode * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData} CtwaContextData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CtwaContextData.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.ChatRowOpaqueData.DraftMessage.CtwaContextData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.conversionSource = reader.string(); break; case 2: message.conversionData = reader.bytes(); break; case 3: message.sourceUrl = reader.string(); break; case 4: message.sourceId = reader.string(); break; case 5: message.sourceType = reader.string(); break; case 6: message.title = reader.string(); break; case 7: message.description = reader.string(); break; case 8: message.thumbnail = reader.string(); break; case 9: message.thumbnailUrl = reader.string(); break; case 10: message.mediaType = reader.int32(); break; case 11: message.mediaUrl = reader.string(); break; case 12: message.isSuspiciousLink = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a CtwaContextData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData} CtwaContextData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CtwaContextData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a CtwaContextData message. * @function verify * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ CtwaContextData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object 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.sourceUrl != null && message.hasOwnProperty("sourceUrl")) if (!$util.isString(message.sourceUrl)) return "sourceUrl: string expected"; if (message.sourceId != null && message.hasOwnProperty("sourceId")) if (!$util.isString(message.sourceId)) return "sourceId: string expected"; if (message.sourceType != null && message.hasOwnProperty("sourceType")) if (!$util.isString(message.sourceType)) return "sourceType: 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.thumbnail != null && message.hasOwnProperty("thumbnail")) if (!$util.isString(message.thumbnail)) return "thumbnail: string expected"; if (message.thumbnailUrl != null && message.hasOwnProperty("thumbnailUrl")) if (!$util.isString(message.thumbnailUrl)) return "thumbnailUrl: 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.mediaUrl != null && message.hasOwnProperty("mediaUrl")) if (!$util.isString(message.mediaUrl)) return "mediaUrl: string expected"; if (message.isSuspiciousLink != null && message.hasOwnProperty("isSuspiciousLink")) if (typeof message.isSuspiciousLink !== "boolean") return "isSuspiciousLink: boolean expected"; return null; }; /** * Creates a CtwaContextData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData} CtwaContextData */ CtwaContextData.fromObject = function fromObject(object) { if (object instanceof $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData) return object; var message = new $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData(); 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.sourceUrl != null) message.sourceUrl = String(object.sourceUrl); if (object.sourceId != null) message.sourceId = String(object.sourceId); if (object.sourceType != null) message.sourceType = String(object.sourceType); if (object.title != null) message.title = String(object.title); if (object.description != null) message.description = String(object.description); if (object.thumbnail != null) message.thumbnail = String(object.thumbnail); if (object.thumbnailUrl != null) message.thumbnailUrl = String(object.thumbnailUrl); 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.mediaUrl != null) message.mediaUrl = String(object.mediaUrl); if (object.isSuspiciousLink != null) message.isSuspiciousLink = Boolean(object.isSuspiciousLink); return message; }; /** * Creates a plain object from a CtwaContextData message. Also converts values to other types if specified. * @function toObject * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @static * @param {proto.ChatRowOpaqueData.DraftMessage.CtwaContextData} message CtwaContextData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ CtwaContextData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.conversionSource = ""; if (options.bytes === String) object.conversionData = ""; else { object.conversionData = []; if (options.bytes !== Array) object.conversionData = $util.newBuffer(object.conversionData); } object.sourceUrl = ""; object.sourceId = ""; object.sourceType = ""; object.title = ""; object.description = ""; object.thumbnail = ""; object.thumbnailUrl = ""; object.mediaType = options.enums === String ? "NONE" : 0; object.mediaUrl = ""; object.isSuspiciousLink = false; } 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.sourceUrl != null && message.hasOwnProperty("sourceUrl")) object.sourceUrl = message.sourceUrl; if (message.sourceId != null && message.hasOwnProperty("sourceId")) object.sourceId = message.sourceId; if (message.sourceType != null && message.hasOwnProperty("sourceType")) object.sourceType = message.sourceType; if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; if (message.thumbnail != null && message.hasOwnProperty("thumbnail")) object.thumbnail = message.thumbnail; if (message.thumbnailUrl != null && message.hasOwnProperty("thumbnailUrl")) object.thumbnailUrl = message.thumbnailUrl; if (message.mediaType != null && message.hasOwnProperty("mediaType")) object.mediaType = options.enums === String ? $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.ContextInfoExternalAdReplyInfoMediaType[message.mediaType] : message.mediaType; if (message.mediaUrl != null && message.hasOwnProperty("mediaUrl")) object.mediaUrl = message.mediaUrl; if (message.isSuspiciousLink != null && message.hasOwnProperty("isSuspiciousLink")) object.isSuspiciousLink = message.isSuspiciousLink; return object; }; /** * Converts this CtwaContextData to JSON. * @function toJSON * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextData * @instance * @returns {Object.<string,*>} JSON object */ CtwaContextData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ContextInfoExternalAdReplyInfoMediaType enum. * @name proto.ChatRowOpaqueData.DraftMessage.CtwaContextData.ContextInfoExternalAdReplyInfoMediaType * @enum {number} * @property {number} NONE=0 NONE value * @property {number} IMAGE=1 IMAGE value * @property {number} VIDEO=2 VIDEO value */ CtwaContextData.ContextInfoExternalAdReplyInfoMediaType = (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 CtwaContextData; })(); DraftMessage.CtwaContextLinkData = (function() { /** * Properties of a CtwaContextLinkData. * @memberof proto.ChatRowOpaqueData.DraftMessage * @interface ICtwaContextLinkData * @property {string|null} [context] CtwaContextLinkData context * @property {string|null} [sourceUrl] CtwaContextLinkData sourceUrl * @property {string|null} [icebreaker] CtwaContextLinkData icebreaker * @property {string|null} [phone] CtwaContextLinkData phone */ /** * Constructs a new CtwaContextLinkData. * @memberof proto.ChatRowOpaqueData.DraftMessage * @classdesc Represents a CtwaContextLinkData. * @implements ICtwaContextLinkData * @constructor * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData=} [properties] Properties to set */ function CtwaContextLinkData(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]]; } /** * CtwaContextLinkData context. * @member {string} context * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @instance */ CtwaContextLinkData.prototype.context = ""; /** * CtwaContextLinkData sourceUrl. * @member {string} sourceUrl * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @instance */ CtwaContextLinkData.prototype.sourceUrl = ""; /** * CtwaContextLinkData icebreaker. * @member {string} icebreaker * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @instance */ CtwaContextLinkData.prototype.icebreaker = ""; /** * CtwaContextLinkData phone. * @member {string} phone * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @instance */ CtwaContextLinkData.prototype.phone = ""; /** * Creates a new CtwaContextLinkData instance using the specified properties. * @function create * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @static * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData=} [properties] Properties to set * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData} CtwaContextLinkData instance */ CtwaContextLinkData.create = function create(properties) { return new CtwaContextLinkData(properties); }; /** * Encodes the specified CtwaContextLinkData message. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.verify|verify} messages. * @function encode * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @static * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData} message CtwaContextLinkData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CtwaContextLinkData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.context != null && Object.hasOwnProperty.call(message, "context")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.context); if (message.sourceUrl != null && Object.hasOwnProperty.call(message, "sourceUrl")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceUrl); if (message.icebreaker != null && Object.hasOwnProperty.call(message, "icebreaker")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.icebreaker); if (message.phone != null && Object.hasOwnProperty.call(message, "phone")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.phone); return writer; }; /** * Encodes the specified CtwaContextLinkData message, length delimited. Does not implicitly {@link proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData.verify|verify} messages. * @function encodeDelimited * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @static * @param {proto.ChatRowOpaqueData.DraftMessage.ICtwaContextLinkData} message CtwaContextLinkData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CtwaContextLinkData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a CtwaContextLinkData message from the specified reader or buffer. * @function decode * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData} CtwaContextLinkData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CtwaContextLinkData.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.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.context = reader.string(); break; case 2: message.sourceUrl = reader.string(); break; case 3: message.icebreaker = reader.string(); break; case 4: message.phone = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a CtwaContextLinkData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData} CtwaContextLinkData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CtwaContextLinkData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a CtwaContextLinkData message. * @function verify * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ CtwaContextLinkData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.context != null && message.hasOwnProperty("context")) if (!$util.isString(message.context)) return "context: string expected"; if (message.sourceUrl != null && message.hasOwnProperty("sourceUrl")) if (!$util.isString(message.sourceUrl)) return "sourceUrl: string expected"; if (message.icebreaker != null && message.hasOwnProperty("icebreaker")) if (!$util.isString(message.icebreaker)) return "icebreaker: string expected"; if (message.phone != null && message.hasOwnProperty("phone")) if (!$util.isString(message.phone)) return "phone: string expected"; return null; }; /** * Creates a CtwaContextLinkData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData} CtwaContextLinkData */ CtwaContextLinkData.fromObject = function fromObject(object) { if (object instanceof $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData) return object; var message = new $root.proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData(); if (object.context != null) message.context = String(object.context); if (object.sourceUrl != null) message.sourceUrl = String(object.sourceUrl); if (object.icebreaker != null) message.icebreaker = String(object.icebreaker); if (object.phone != null) message.phone = String(object.phone); return message; }; /** * Creates a plain object from a CtwaContextLinkData message. Also converts values to other types if specified. * @function toObject * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @static * @param {proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData} message CtwaContextLinkData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ CtwaContextLinkData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.context = ""; object.sourceUrl = ""; object.icebreaker = ""; object.phone = ""; } if (message.context != null && message.hasOwnProperty("context")) object.context = message.context; if (message.sourceUrl != null && message.hasOwnProperty("sourceUrl")) object.sourceUrl = message.sourceUrl; if (message.icebreaker != null && message.hasOwnProperty("icebreaker")) object.icebreaker = message.icebreaker; if (message.phone != null && message.hasOwnProperty("phone")) object.phone = message.phone; return object; }; /** * Converts this CtwaContextLinkData to JSON. * @function toJSON * @memberof proto.ChatRowOpaqueData.DraftMessage.CtwaContextLinkData * @instance * @returns {Object.<string,*>} JSON object */ CtwaContextLinkData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return CtwaContextLinkData; })(); return DraftMessage; })(); return ChatRowOpaqueData; })(); proto.ClientPayload = (function() { /** * Properties of a ClientPayload. * @memberof proto * @interface IClientPayload * @property {number|Long|null} [username] ClientPayload username * @property {boolean|null} [passive] ClientPayload passive * @property {proto.ClientPayload.IUserAgent|null} [userAgent] ClientPayload userAgent * @property {proto.ClientPayload.IWebInfo|null} [webInfo] ClientPayload webInfo * @property {string|null} [pushName] ClientPayload pushName * @property {number|null} [sessionId] ClientPayload sessionId * @property {boolean|null} [shortConnect] ClientPayload shortConnect * @property {proto.ClientPayload.ConnectType|null} [connectType] ClientPayload connectType * @property {proto.ClientPayload.ConnectReason|null} [connectReason] ClientPayload connectReason * @property {Array.<number>|null} [shards] ClientPayload shards * @property {proto.ClientPayload.IDNSSource|null} [dnsSource] ClientPayload dnsSource * @property {number|null} [connectAttemptCount] ClientPayload connectAttemptCount * @property {number|null} [device] ClientPayload device * @property {proto.ClientPayload.IDevicePairingRegistrationData|null} [devicePairingData] ClientPayload devicePairingData * @property {proto.ClientPayload.Product|null} [product] ClientPayload product * @property {Uint8Array|null} [fbCat] ClientPayload fbCat * @property {Uint8Array|null} [fbUserAgent] ClientPayload fbUserAgent * @property {boolean|null} [oc] ClientPayload oc * @property {number|null} [lc] ClientPayload lc * @property {proto.ClientPayload.IOSAppExtension|null} [iosAppExtension] ClientPayload iosAppExtension * @property {number|Long|null} [fbAppId] ClientPayload fbAppId * @property {Uint8Array|null} [fbDeviceId] ClientPayload fbDeviceId * @property {boolean|null} [pull] ClientPayload pull * @property {Uint8Array|null} [paddingBytes] ClientPayload paddingBytes * @property {number|null} [yearClass] ClientPayload yearClass * @property {number|null} [memClass] ClientPayload memClass * @property {proto.ClientPayload.IInteropData|null} [interopData] ClientPayload interopData */ /** * Constructs a new ClientPayload. * @memberof proto * @classdesc Represents a ClientPayload. * @implements IClientPayload * @constructor * @param {proto.IClientPayload=} [properties] Properties to set */ function ClientPayload(properties) { this.shards = []; 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]]; } /** * ClientPayload username. * @member {number|Long} username * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.username = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * ClientPayload passive. * @member {boolean} passive * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.passive = false; /** * ClientPayload userAgent. * @member {proto.ClientPayload.IUserAgent|null|undefined} userAgent * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.userAgent = null; /** * ClientPayload webInfo. * @member {proto.ClientPayload.IWebInfo|null|undefined} webInfo * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.webInfo = null; /** * ClientPayload pushName. * @member {string} pushName * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.pushName = ""; /** * ClientPayload sessionId. * @member {number} sessionId * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.sessionId = 0; /** * ClientPayload shortConnect. * @member {boolean} shortConnect * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.shortConnect = false; /** * ClientPayload connectType. * @member {proto.ClientPayload.ConnectType} connectType * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.connectType = 0; /** * ClientPayload connectReason. * @member {proto.ClientPayload.ConnectReason} connectReason * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.connectReason = 0; /** * ClientPayload shards. * @member {Array.<number>} shards * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.shards = $util.emptyArray; /** * ClientPayload dnsSource. * @member {proto.ClientPayload.IDNSSource|null|undefined} dnsSource * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.dnsSource = null; /** * ClientPayload connectAttemptCount. * @member {number} connectAttemptCount * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.connectAttemptCount = 0; /** * ClientPayload device. * @member {number} device * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.device = 0; /** * ClientPayload devicePairingData. * @member {proto.ClientPayload.IDevicePairingRegistrationData|null|undefined} devicePairingData * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.devicePairingData = null; /** * ClientPayload product. * @member {proto.ClientPayload.Product} product * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.product = 0; /** * ClientPayload fbCat. * @member {Uint8Array} fbCat * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.fbCat = $util.newBuffer([]); /** * ClientPayload fbUserAgent. * @member {Uint8Array} fbUserAgent * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.fbUserAgent = $util.newBuffer([]); /** * ClientPayload oc. * @member {boolean} oc * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.oc = false; /** * ClientPayload lc. * @member {number} lc * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.lc = 0; /** * ClientPayload iosAppExtension. * @member {proto.ClientPayload.IOSAppExtension} iosAppExtension * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.iosAppExtension = 0; /** * ClientPayload fbAppId. * @member {number|Long} fbAppId * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.fbAppId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * ClientPayload fbDeviceId. * @member {Uint8Array} fbDeviceId * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.fbDeviceId = $util.newBuffer([]); /** * ClientPayload pull. * @member {boolean} pull * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.pull = false; /** * ClientPayload paddingBytes. * @member {Uint8Array} paddingBytes * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.paddingBytes = $util.newBuffer([]); /** * ClientPayload yearClass. * @member {number} yearClass * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.yearClass = 0; /** * ClientPayload memClass. * @member {number} memClass * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.memClass = 0; /** * ClientPayload interopData. * @member {proto.ClientPayload.IInteropData|null|undefined} interopData * @memberof proto.ClientPayload * @instance */ ClientPayload.prototype.interopData = null; /** * Creates a new ClientPayload instance using the specified properties. * @function create * @memberof proto.ClientPayload * @static * @param {proto.IClientPayload=} [properties] Properties to set * @returns {proto.ClientPayload} ClientPayload instance */ ClientPayload.create = function create(properties) { return new ClientPayload(properties); }; /** * Encodes the specified ClientPayload message. Does not implicitly {@link proto.ClientPayload.verify|verify} messages. * @function encode * @memberof proto.ClientPayload * @static * @param {proto.IClientPayload} message ClientPayload message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ClientPayload.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.username != null && Object.hasOwnProperty.call(message, "username")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.username); if (message.passive != null && Object.hasOwnProperty.call(message, "passive")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.passive); if (message.userAgent != null && Object.hasOwnProperty.call(message, "userAgent")) $root.proto.ClientPayload.UserAgent.encode(message.userAgent, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.webInfo != null && Object.hasOwnProperty.call(message, "webInfo")) $root.proto.ClientPayload.WebInfo.encode(message.webInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.pushName != null && Object.hasOwnProperty.call(message, "pushName")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.pushName); if (message.sessionId != null && Object.hasOwnProperty.call(message, "sessionId")) writer.uint32(/* id 9, wireType 5 =*/77).sfixed32(message.sessionId); if (message.shortConnect != null && Object.hasOwnProperty.call(message, "shortConnect")) writer.uint32(/* id 10, wireType 0 =*/80).bool(message.shortConnect); if (message.connectType != null && Object.hasOwnProperty.call(message, "connectType")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.connectType); if (message.connectReason != null && Object.hasOwnProperty.call(message, "connectReason")) writer.uint32(/* id 13, wireType 0 =*/104).int32(message.connectReason); if (message.shards != null && message.shards.length) for (var i = 0; i < message.shards.length; ++i) writer.uint32(/* id 14, wireType 0 =*/112).int32(message.shards[i]); if (message.dnsSource != null && Object.hasOwnProperty.call(message, "dnsSource")) $root.proto.ClientPayload.DNSSource.encode(message.dnsSource, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); if (message.connectAttemptCount != null && Object.hasOwnProperty.call(message, "connectAttemptCount")) writer.uint32(/* id 16, wireType 0 =*/128).uint32(message.connectAttemptCount); if (message.device != null && Object.hasOwnProperty.call(message, "device")) writer.uint32(/* id 18, wireType 0 =*/144).uint32(message.device); if (message.devicePairingData != null && Object.hasOwnProperty.call(message, "devicePairingData")) $root.proto.ClientPayload.DevicePairingRegistrationData.encode(message.devicePairingData, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); if (message.product != null && Object.hasOwnProperty.call(message, "product")) writer.uint32(/* id 20, wireType 0 =*/160).int32(message.product); if (message.fbCat != null && Object.hasOwnProperty.call(message, "fbCat")) writer.uint32(/* id 21, wireType 2 =*/170).bytes(message.fbCat); if (message.fbUserAgent != null && Object.hasOwnProperty.call(message, "fbUserAgent")) writer.uint32(/* id 22, wireType 2 =*/178).bytes(message.fbUserAgent); if (message.oc != null && Object.hasOwnProperty.call(message, "oc")) writer.uint32(/* id 23, wireType 0 =*/184).bool(message.oc); if (message.lc != null && Object.hasOwnProperty.call(message, "lc")) writer.uint32(/* id 24, wireType 0 =*/192).int32(message.lc); if (message.iosAppExtension != null && Object.hasOwnProperty.call(message, "iosAppExtension")) writer.uint32(/* id 30, wireType 0 =*/240).int32(message.iosAppExtension); if (message.fbAppId != null && Object.hasOwnProperty.call(message, "fbAppId")) writer.uint32(/* id 31, wireType 0 =*/248).uint64(message.fbAppId); if (message.fbDeviceId != null && Object.hasOwnProperty.call(message, "fbDeviceId")) writer.uint32(/* id 32, wireType 2 =*/258).bytes(message.fbDeviceId); if (message.pull != null && Object.hasOwnProperty.call(message, "pull")) writer.uint32(/* id 33, wireType 0 =*/264).bool(message.pull); if (message.paddingBytes != null && Object.hasOwnProperty.call(message, "paddingBytes")) writer.uint32(/* id 34, wireType 2 =*/274).bytes(message.paddingBytes); if (message.yearClass != null && Object.hasOwnProperty.call(message, "yearClass")) writer.uint32(/* id 36, wireType 0 =*/288).int32(message.yearClass); if (message.memClass != null && Object.hasOwnProperty.call(message, "memClass")) writer.uint32(/* id 37, wireType 0 =*/296).int32(message.memClass); if (message.interopData != null && Object.hasOwnProperty.call(message, "interopData")) $root.proto.ClientPayload.InteropData.encode(message.interopData, writer.uint32(/* id 38, wireType 2 =*/306).fork()).ldelim(); return writer; }; /** * Encodes the specified ClientPayload message, length delimited. Does not implicitly {@link proto.ClientPayload.verify|verify} messages. * @function encodeDelimited * @memberof proto.ClientPayload * @static * @param {proto.IClientPayload} message ClientPayload message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ClientPayload.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ClientPayload message from the specified reader or buffer. * @function decode * @memberof proto.ClientPayload * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ClientPayload} ClientPayload * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ClientPayload.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.ClientPayload(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.username = reader.uint64(); break; case 3: message.passive = reader.bool(); break; case 5: message.userAgent = $root.proto.ClientPayload.UserAgent.decode(reader, reader.uint32()); break; case 6: message.webInfo = $root.proto.ClientPayload.WebInfo.decode(reader, reader.uint32()); break; case 7: message.pushName = reader.string(); break; case 9: message.sessionId = reader.sfixed32(); break; case 10: message.shortConnect = reader.bool(); break; case 12: message.connectType = reader.int32(); break; case 13: message.connectReason = reader.int32(); break; case 14: if (!(message.shards && message.shards.length)) message.shards = []; if ((tag & 7) === 2) { var end2 = reader.uint32() + reader.pos; while (reader.pos < end2) message.shards.push(reader.int32()); } else message.shards.push(reader.int32()); break; case 15: message.dnsSource = $root.proto.ClientPayload.DNSSource.decode(reader, reader.uint32()); break; case 16: message.connectAttemptCount = reader.uint32(); break; case 18: message.device = reader.uint32(); break; case 19: message.devicePairingData = $root.proto.ClientPayload.DevicePairingRegistrationData.decode(reader, reader.uint32()); break; case 20: message.product = reader.int32(); break; case 21: message.fbCat = reader.bytes(); break; case 22: message.fbUserAgent = reader.bytes(); break; case 23: message.oc = reader.bool(); break; case 24: message.lc = reader.int32(); break; case 30: message.iosAppExtension = reader.int32(); break; case 31: message.fbAppId = reader.uint64(); break; case 32: message.fbDeviceId = reader.bytes(); break; case 33: message.pull = reader.bool(); break; case 34: message.paddingBytes = reader.bytes(); break; case 36: message.yearClass = reader.int32(); break; case 37: message.memClass = reader.int32(); break; case 38: message.interopData = $root.proto.ClientPayload.InteropData.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ClientPayload message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ClientPayload * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ClientPayload} ClientPayload * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ClientPayload.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ClientPayload message. * @function verify * @memberof proto.ClientPayload * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ClientPayload.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.username != null && message.hasOwnProperty("username")) if (!$util.isInteger(message.username) && !(message.username && $util.isInteger(message.username.low) && $util.isInteger(message.username.high))) return "username: integer|Long expected"; if (message.passive != null && message.hasOwnProperty("passive")) if (typeof message.passive !== "boolean") return "passive: boolean expected"; if (message.userAgent != null && message.hasOwnProperty("userAgent")) { var error = $root.proto.ClientPayload.UserAgent.verify(message.userAgent); if (error) return "userAgent." + error; } if (message.webInfo != null && message.hasOwnProperty("webInfo")) { var error = $root.proto.ClientPayload.WebInfo.verify(message.webInfo); if (error) return "webInfo." + error; } if (message.pushName != null && message.hasOwnProperty("pushName")) if (!$util.isString(message.pushName)) return "pushName: string expected"; if (message.sessionId != null && message.hasOwnProperty("sessionId")) if (!$util.isInteger(message.sessionId)) return "sessionId: integer expected"; if (message.shortConnect != null && message.hasOwnProperty("shortConnect")) if (typeof message.shortConnect !== "boolean") return "shortConnect: boolean expected"; if (message.connectType != null && message.hasOwnProperty("connectType")) switch (message.connectType) { default: return "connectType: enum value expected"; case 0: case 1: 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: break; } if (message.connectReason != null && message.hasOwnProperty("connectReason")) switch (message.connectReason) { default: return "connectReason: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: case 6: break; } if (message.shards != null && message.hasOwnProperty("shards")) { if (!Array.isArray(message.shards)) return "shards: array expected"; for (var i = 0; i < message.shards.length; ++i) if (!$util.isInteger(message.shards[i])) return "shards: integer[] expected"; } if (message.dnsSource != null && message.hasOwnProperty("dnsSource")) { var error = $root.proto.ClientPayload.DNSSource.verify(message.dnsSource); if (error) return "dnsSource." + error; } if (message.connectAttemptCount != null && message.hasOwnProperty("connectAttemptCount")) if (!$util.isInteger(message.connectAttemptCount)) return "connectAttemptCount: integer expected"; if (message.device != null && message.hasOwnProperty("device")) if (!$util.isInteger(message.device)) return "device: integer expected"; if (message.devicePairingData != null && message.hasOwnProperty("devicePairingData")) { var error = $root.proto.ClientPayload.DevicePairingRegistrationData.verify(message.devicePairingData); if (error) return "devicePairingData." + error; } if (message.product != null && message.hasOwnProperty("product")) switch (message.product) { default: return "product: enum value expected"; case 0: case 1: case 2: break; } if (message.fbCat != null && message.hasOwnProperty("fbCat")) if (!(message.fbCat && typeof message.fbCat.length === "number" || $util.isString(message.fbCat))) return "fbCat: buffer expected"; if (message.fbUserAgent != null && message.hasOwnProperty("fbUserAgent")) if (!(message.fbUserAgent && typeof message.fbUserAgent.length === "number" || $util.isString(message.fbUserAgent))) return "fbUserAgent: buffer expected"; if (message.oc != null && message.hasOwnProperty("oc")) if (typeof message.oc !== "boolean") return "oc: boolean expected"; if (message.lc != null && message.hasOwnProperty("lc")) if (!$util.isInteger(message.lc)) return "lc: integer expected"; if (message.iosAppExtension != null && message.hasOwnProperty("iosAppExtension")) switch (message.iosAppExtension) { default: return "iosAppExtension: enum value expected"; case 0: case 1: case 2: break; } if (message.fbAppId != null && message.hasOwnProperty("fbAppId")) if (!$util.isInteger(message.fbAppId) && !(message.fbAppId && $util.isInteger(message.fbAppId.low) && $util.isInteger(message.fbAppId.high))) return "fbAppId: integer|Long expected"; if (message.fbDeviceId != null && message.hasOwnProperty("fbDeviceId")) if (!(message.fbDeviceId && typeof message.fbDeviceId.length === "number" || $util.isString(message.fbDeviceId))) return "fbDeviceId: buffer expected"; if (message.pull != null && message.hasOwnProperty("pull")) if (typeof message.pull !== "boolean") return "pull: boolean expected"; if (message.paddingBytes != null && message.hasOwnProperty("paddingBytes")) if (!(message.paddingBytes && typeof message.paddingBytes.length === "number" || $util.isString(message.paddingBytes))) return "paddingBytes: buffer expected"; if (message.yearClass != null && message.hasOwnProperty("yearClass")) if (!$util.isInteger(message.yearClass)) return "yearClass: integer expected"; if (message.memClass != null && message.hasOwnProperty("memClass")) if (!$util.isInteger(message.memClass)) return "memClass: integer expected"; if (message.interopData != null && message.hasOwnProperty("interopData")) { var error = $root.proto.ClientPayload.InteropData.verify(message.interopData); if (error) return "interopData." + error; } return null; }; /** * Creates a ClientPayload message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ClientPayload * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ClientPayload} ClientPayload */ ClientPayload.fromObject = function fromObject(object) { if (object instanceof $root.proto.ClientPayload) return object; var message = new $root.proto.ClientPayload(); if (object.username != null) if ($util.Long) (message.username = $util.Long.fromValue(object.username)).unsigned = true; else if (typeof object.username === "string") message.username = parseInt(object.username, 10); else if (typeof object.username === "number") message.username = object.username; else if (typeof object.username === "object") message.username = new $util.LongBits(object.username.low >>> 0, object.username.high >>> 0).toNumber(true); if (object.passive != null) message.passive = Boolean(object.passive); if (object.userAgent != null) { if (typeof object.userAgent !== "object") throw TypeError(".proto.ClientPayload.userAgent: object expected"); message.userAgent = $root.proto.ClientPayload.UserAgent.fromObject(object.userAgent); } if (object.webInfo != null) { if (typeof object.webInfo !== "object") throw TypeError(".proto.ClientPayload.webInfo: object expected"); message.webInfo = $root.proto.ClientPayload.WebInfo.fromObject(object.webInfo); } if (object.pushName != null) message.pushName = String(object.pushName); if (object.sessionId != null) message.sessionId = object.sessionId | 0; if (object.shortConnect != null) message.shortConnect = Boolean(object.shortConnect); switch (object.connectType) { case "CELLULAR_UNKNOWN": case 0: message.connectType = 0; break; case "WIFI_UNKNOWN": case 1: message.connectType = 1; break; case "CELLULAR_EDGE": case 100: message.connectType = 100; break; case "CELLULAR_IDEN": case 101: message.connectType = 101; break; case "CELLULAR_UMTS": case 102: message.connectType = 102; break; case "CELLULAR_EVDO": case 103: message.connectType = 103; break; case "CELLULAR_GPRS": case 104: message.connectType = 104; break; case "CELLULAR_HSDPA": case 105: message.connectType = 105; break; case "CELLULAR_HSUPA": case 106: message.connectType = 106; break; case "CELLULAR_HSPA": case 107: message.connectType = 107; break; case "CELLULAR_CDMA": case 108: message.connectType = 108; break; case "CELLULAR_1XRTT": case 109: message.connectType = 109; break; case "CELLULAR_EHRPD": case 110: message.connectType = 110; break; case "CELLULAR_LTE": case 111: message.connectType = 111; break; case "CELLULAR_HSPAP": case 112: message.connectType = 112; break; } switch (object.connectReason) { case "PUSH": case 0: message.connectReason = 0; break; case "USER_ACTIVATED": case 1: message.connectReason = 1; break; case "SCHEDULED": case 2: message.connectReason = 2; break; case "ERROR_RECONNECT": case 3: message.connectReason = 3; break; case "NETWORK_SWITCH": case 4: message.connectReason = 4; break; case "PING_RECONNECT": case 5: message.connectReason = 5; break; case "UNKNOWN": case 6: message.connectReason = 6; break; } if (object.shards) { if (!Array.isArray(object.shards)) throw TypeError(".proto.ClientPayload.shards: array expected"); message.shards = []; for (var i = 0; i < object.shards.length; ++i) message.shards[i] = object.shards[i] | 0; } if (object.dnsSource != null) { if (typeof object.dnsSource !== "object") throw TypeError(".proto.ClientPayload.dnsSource: object expected"); message.dnsSource = $root.proto.ClientPayload.DNSSource.fromObject(object.dnsSource); } if (object.connectAttemptCount != null) message.connectAttemptCount = object.connectAttemptCount >>> 0; if (object.device != null) message.device = object.device >>> 0; if (object.devicePairingData != null) { if (typeof object.devicePairingData !== "object") throw TypeError(".proto.ClientPayload.devicePairingData: object expected"); message.devicePairingData = $root.proto.ClientPayload.DevicePairingRegistrationData.fromObject(object.devicePairingData); } switch (object.product) { case "WHATSAPP": case 0: message.product = 0; break; case "MESSENGER": case 1: message.product = 1; break; case "INTEROP": case 2: message.product = 2; break; } if (object.fbCat != null) if (typeof object.fbCat === "string") $util.base64.decode(object.fbCat, message.fbCat = $util.newBuffer($util.base64.length(object.fbCat)), 0); else if (object.fbCat.length) message.fbCat = object.fbCat; if (object.fbUserAgent != null) if (typeof object.fbUserAgent === "string") $util.base64.decode(object.fbUserAgent, message.fbUserAgent = $util.newBuffer($util.base64.length(object.fbUserAgent)), 0); else if (object.fbUserAgent.length) message.fbUserAgent = object.fbUserAgent; if (object.oc != null) message.oc = Boolean(object.oc); if (object.lc != null) message.lc = object.lc | 0; switch (object.iosAppExtension) { case "SHARE_EXTENSION": case 0: message.iosAppExtension = 0; break; case "SERVICE_EXTENSION": case 1: message.iosAppExtension = 1; break; case "INTENTS_EXTENSION": case 2: message.iosAppExtension = 2; break; } if (object.fbAppId != null) if ($util.Long) (message.fbAppId = $util.Long.fromValue(object.fbAppId)).unsigned = true; else if (typeof object.fbAppId === "string") message.fbAppId = parseInt(object.fbAppId, 10); else if (typeof object.fbAppId === "number") message.fbAppId = object.fbAppId; else if (typeof object.fbAppId === "object") message.fbAppId = new $util.LongBits(object.fbAppId.low >>> 0, object.fbAppId.high >>> 0).toNumber(true); if (object.fbDeviceId != null) if (typeof object.fbDeviceId === "string") $util.base64.decode(object.fbDeviceId, message.fbDeviceId = $util.newBuffer($util.base64.length(object.fbDeviceId)), 0); else if (object.fbDeviceId.length) message.fbDeviceId = object.fbDeviceId; if (object.pull != null) message.pull = Boolean(object.pull); if (object.paddingBytes != null) if (typeof object.paddingBytes === "string") $util.base64.decode(object.paddingBytes, message.paddingBytes = $util.newBuffer($util.base64.length(object.paddingBytes)), 0); else if (object.paddingBytes.length) message.paddingBytes = object.paddingBytes; if (object.yearClass != null) message.yearClass = object.yearClass | 0; if (object.memClass != null) message.memClass = object.memClass | 0; if (object.interopData != null) { if (typeof object.interopData !== "object") throw TypeError(".proto.ClientPayload.interopData: object expected"); message.interopData = $root.proto.ClientPayload.InteropData.fromObject(object.interopData); } return message; }; /** * Creates a plain object from a ClientPayload message. Also converts values to other types if specified. * @function toObject * @memberof proto.ClientPayload * @static * @param {proto.ClientPayload} message ClientPayload * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ClientPayload.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.shards = []; if (options.defaults) { if ($util.Long) { var long = new $util.Long(0, 0, true); object.username = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.username = options.longs === String ? "0" : 0; object.passive = false; object.userAgent = null; object.webInfo = null; object.pushName = ""; object.sessionId = 0; object.shortConnect = false; object.connectType = options.enums === String ? "CELLULAR_UNKNOWN" : 0; object.connectReason = options.enums === String ? "PUSH" : 0; object.dnsSource = null; object.connectAttemptCount = 0; object.device = 0; object.devicePairingData = null; object.product = options.enums === String ? "WHATSAPP" : 0; if (options.bytes === String) object.fbCat = ""; else { object.fbCat = []; if (options.bytes !== Array) object.fbCat = $util.newBuffer(object.fbCat); } if (options.bytes === String) object.fbUserAgent = ""; else { object.fbUserAgent = []; if (options.bytes !== Array) object.fbUserAgent = $util.newBuffer(object.fbUserAgent); } object.oc = false; object.lc = 0; object.iosAppExtension = options.enums === String ? "SHARE_EXTENSION" : 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.fbAppId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.fbAppId = options.longs === String ? "0" : 0; if (options.bytes === String) object.fbDeviceId = ""; else { object.fbDeviceId = []; if (options.bytes !== Array) object.fbDeviceId = $util.newBuffer(object.fbDeviceId); } object.pull = false; if (options.bytes === String) object.paddingBytes = ""; else { object.paddingBytes = []; if (options.bytes !== Array) object.paddingBytes = $util.newBuffer(object.paddingBytes); } object.yearClass = 0; object.memClass = 0; object.interopData = null; } if (message.username != null && message.hasOwnProperty("username")) if (typeof message.username === "number") object.username = options.longs === String ? String(message.username) : message.username; else object.username = options.longs === String ? $util.Long.prototype.toString.call(message.username) : options.longs === Number ? new $util.LongBits(message.username.low >>> 0, message.username.high >>> 0).toNumber(true) : message.username; if (message.passive != null && message.hasOwnProperty("passive")) object.passive = message.passive; if (message.userAgent != null && message.hasOwnProperty("userAgent")) object.userAgent = $root.proto.ClientPayload.UserAgent.toObject(message.userAgent, options); if (message.webInfo != null && message.hasOwnProperty("webInfo")) object.webInfo = $root.proto.ClientPayload.WebInfo.toObject(message.webInfo, options); if (message.pushName != null && message.hasOwnProperty("pushName")) object.pushName = message.pushName; if (message.sessionId != null && message.hasOwnProperty("sessionId")) object.sessionId = message.sessionId; if (message.shortConnect != null && message.hasOwnProperty("shortConnect")) object.shortConnect = message.shortConnect; if (message.connectType != null && message.hasOwnProperty("connectType")) object.connectType = options.enums === String ? $root.proto.ClientPayload.ConnectType[message.connectType] : message.connectType; if (message.connectReason != null && message.hasOwnProperty("connectReason")) object.connectReason = options.enums === String ? $root.proto.ClientPayload.ConnectReason[message.connectReason] : message.connectReason; if (message.shards && message.shards.length) { object.shards = []; for (var j = 0; j < message.shards.length; ++j) object.shards[j] = message.shards[j]; } if (message.dnsSource != null && message.hasOwnProperty("dnsSource")) object.dnsSource = $root.proto.ClientPayload.DNSSource.toObject(message.dnsSource, options); if (message.connectAttemptCount != null && message.hasOwnProperty("connectAttemptCount")) object.connectAttemptCount = message.connectAttemptCount; if (message.device != null && message.hasOwnProperty("device")) object.device = message.device; if (message.devicePairingData != null && message.hasOwnProperty("devicePairingData")) object.devicePairingData = $root.proto.ClientPayload.DevicePairingRegistrationData.toObject(message.devicePairingData, options); if (message.product != null && message.hasOwnProperty("product")) object.product = options.enums === String ? $root.proto.ClientPayload.Product[message.product] : message.product; if (message.fbCat != null && message.hasOwnProperty("fbCat")) object.fbCat = options.bytes === String ? $util.base64.encode(message.fbCat, 0, message.fbCat.length) : options.bytes === Array ? Array.prototype.slice.call(message.fbCat) : message.fbCat; if (message.fbUserAgent != null && message.hasOwnProperty("fbUserAgent")) object.fbUserAgent = options.bytes === String ? $util.base64.encode(message.fbUserAgent, 0, message.fbUserAgent.length) : options.bytes === Array ? Array.prototype.slice.call(message.fbUserAgent) : message.fbUserAgent; if (message.oc != null && message.hasOwnProperty("oc")) object.oc = message.oc; if (message.lc != null && message.hasOwnProperty("lc")) object.lc = message.lc; if (message.iosAppExtension != null && message.hasOwnProperty("iosAppExtension")) object.iosAppExtension = options.enums === String ? $root.proto.ClientPayload.IOSAppExtension[message.iosAppExtension] : message.iosAppExtension; if (message.fbAppId != null && message.hasOwnProperty("fbAppId")) if (typeof message.fbAppId === "number") object.fbAppId = options.longs === String ? String(message.fbAppId) : message.fbAppId; else object.fbAppId = options.longs === String ? $util.Long.prototype.toString.call(message.fbAppId) : options.longs === Number ? new $util.LongBits(message.fbAppId.low >>> 0, message.fbAppId.high >>> 0).toNumber(true) : message.fbAppId; if (message.fbDeviceId != null && message.hasOwnProperty("fbDeviceId")) object.fbDeviceId = options.bytes === String ? $util.base64.encode(message.fbDeviceId, 0, message.fbDeviceId.length) : options.bytes === Array ? Array.prototype.slice.call(message.fbDeviceId) : message.fbDeviceId; if (message.pull != null && message.hasOwnProperty("pull")) object.pull = message.pull; if (message.paddingBytes != null && message.hasOwnProperty("paddingBytes")) object.paddingBytes = options.bytes === String ? $util.base64.encode(message.paddingBytes, 0, message.paddingBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.paddingBytes) : message.paddingBytes; if (message.yearClass != null && message.hasOwnProperty("yearClass")) object.yearClass = message.yearClass; if (message.memClass != null && message.hasOwnProperty("memClass")) object.memClass = message.memClass; if (message.interopData != null && message.hasOwnProperty("interopData")) object.interopData = $root.proto.ClientPayload.InteropData.toObject(message.interopData, options); return object; }; /** * Converts this ClientPayload to JSON. * @function toJSON * @memberof proto.ClientPayload * @instance * @returns {Object.<string,*>} JSON object */ ClientPayload.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ConnectReason enum. * @name proto.ClientPayload.ConnectReason * @enum {number} * @property {number} PUSH=0 PUSH value * @property {number} USER_ACTIVATED=1 USER_ACTIVATED value * @property {number} SCHEDULED=2 SCHEDULED value * @property {number} ERROR_RECONNECT=3 ERROR_RECONNECT value * @property {number} NETWORK_SWITCH=4 NETWORK_SWITCH value * @property {number} PING_RECONNECT=5 PING_RECONNECT value * @property {number} UNKNOWN=6 UNKNOWN value */ ClientPayload.ConnectReason = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "PUSH"] = 0; values[valuesById[1] = "USER_ACTIVATED"] = 1; values[valuesById[2] = "SCHEDULED"] = 2; values[valuesById[3] = "ERROR_RECONNECT"] = 3; values[valuesById[4] = "NETWORK_SWITCH"] = 4; values[valuesById[5] = "PING_RECONNECT"] = 5; values[valuesById[6] = "UNKNOWN"] = 6; return values; })(); /** * ConnectType enum. * @name proto.ClientPayload.ConnectType * @enum {number} * @property {number} CELLULAR_UNKNOWN=0 CELLULAR_UNKNOWN value * @property {number} WIFI_UNKNOWN=1 WIFI_UNKNOWN value * @property {number} CELLULAR_EDGE=100 CELLULAR_EDGE value * @property {number} CELLULAR_IDEN=101 CELLULAR_IDEN value * @property {number} CELLULAR_UMTS=102 CELLULAR_UMTS value * @property {number} CELLULAR_EVDO=103 CELLULAR_EVDO value * @property {number} CELLULAR_GPRS=104 CELLULAR_GPRS value * @property {number} CELLULAR_HSDPA=105 CELLULAR_HSDPA value * @property {number} CELLULAR_HSUPA=106 CELLULAR_HSUPA value * @property {number} CELLULAR_HSPA=107 CELLULAR_HSPA value * @property {number} CELLULAR_CDMA=108 CELLULAR_CDMA value * @property {number} CELLULAR_1XRTT=109 CELLULAR_1XRTT value * @property {number} CELLULAR_EHRPD=110 CELLULAR_EHRPD value * @property {number} CELLULAR_LTE=111 CELLULAR_LTE value * @property {number} CELLULAR_HSPAP=112 CELLULAR_HSPAP value */ ClientPayload.ConnectType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "CELLULAR_UNKNOWN"] = 0; values[valuesById[1] = "WIFI_UNKNOWN"] = 1; values[valuesById[100] = "CELLULAR_EDGE"] = 100; values[valuesById[101] = "CELLULAR_IDEN"] = 101; values[valuesById[102] = "CELLULAR_UMTS"] = 102; values[valuesById[103] = "CELLULAR_EVDO"] = 103; values[valuesById[104] = "CELLULAR_GPRS"] = 104; values[valuesById[105] = "CELLULAR_HSDPA"] = 105; values[valuesById[106] = "CELLULAR_HSUPA"] = 106; values[valuesById[107] = "CELLULAR_HSPA"] = 107; values[valuesById[108] = "CELLULAR_CDMA"] = 108; values[valuesById[109] = "CELLULAR_1XRTT"] = 109; values[valuesById[110] = "CELLULAR_EHRPD"] = 110; values[valuesById[111] = "CELLULAR_LTE"] = 111; values[valuesById[112] = "CELLULAR_HSPAP"] = 112; return values; })(); ClientPayload.DNSSource = (function() { /** * Properties of a DNSSource. * @memberof proto.ClientPayload * @interface IDNSSource * @property {proto.ClientPayload.DNSSource.DNSResolutionMethod|null} [dnsMethod] DNSSource dnsMethod * @property {boolean|null} [appCached] DNSSource appCached */ /** * Constructs a new DNSSource. * @memberof proto.ClientPayload * @classdesc Represents a DNSSource. * @implements IDNSSource * @constructor * @param {proto.ClientPayload.IDNSSource=} [properties] Properties to set */ function DNSSource(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]]; } /** * DNSSource dnsMethod. * @member {proto.ClientPayload.DNSSource.DNSResolutionMethod} dnsMethod * @memberof proto.ClientPayload.DNSSource * @instance */ DNSSource.prototype.dnsMethod = 0; /** * DNSSource appCached. * @member {boolean} appCached * @memberof proto.ClientPayload.DNSSource * @instance */ DNSSource.prototype.appCached = false; /** * Creates a new DNSSource instance using the specified properties. * @function create * @memberof proto.ClientPayload.DNSSource * @static * @param {proto.ClientPayload.IDNSSource=} [properties] Properties to set * @returns {proto.ClientPayload.DNSSource} DNSSource instance */ DNSSource.create = function create(properties) { return new DNSSource(properties); }; /** * Encodes the specified DNSSource message. Does not implicitly {@link proto.ClientPayload.DNSSource.verify|verify} messages. * @function encode * @memberof proto.ClientPayload.DNSSource * @static * @param {proto.ClientPayload.IDNSSource} message DNSSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DNSSource.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.dnsMethod != null && Object.hasOwnProperty.call(message, "dnsMethod")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.dnsMethod); if (message.appCached != null && Object.hasOwnProperty.call(message, "appCached")) writer.uint32(/* id 16, wireType 0 =*/128).bool(message.appCached); return writer; }; /** * Encodes the specified DNSSource message, length delimited. Does not implicitly {@link proto.ClientPayload.DNSSource.verify|verify} messages. * @function encodeDelimited * @memberof proto.ClientPayload.DNSSource * @static * @param {proto.ClientPayload.IDNSSource} message DNSSource message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DNSSource.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DNSSource message from the specified reader or buffer. * @function decode * @memberof proto.ClientPayload.DNSSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ClientPayload.DNSSource} DNSSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DNSSource.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.ClientPayload.DNSSource(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 15: message.dnsMethod = reader.int32(); break; case 16: message.appCached = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DNSSource message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ClientPayload.DNSSource * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ClientPayload.DNSSource} DNSSource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DNSSource.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DNSSource message. * @function verify * @memberof proto.ClientPayload.DNSSource * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DNSSource.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.dnsMethod != null && message.hasOwnProperty("dnsMethod")) switch (message.dnsMethod) { default: return "dnsMethod: enum value expected"; case 0: case 1: case 2: case 3: case 4: break; } if (message.appCached != null && message.hasOwnProperty("appCached")) if (typeof message.appCached !== "boolean") return "appCached: boolean expected"; return null; }; /** * Creates a DNSSource message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ClientPayload.DNSSource * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ClientPayload.DNSSource} DNSSource */ DNSSource.fromObject = function fromObject(object) { if (object instanceof $root.proto.ClientPayload.DNSSource) return object; var message = new $root.proto.ClientPayload.DNSSource(); switch (object.dnsMethod) { case "SYSTEM": case 0: message.dnsMethod = 0; break; case "GOOGLE": case 1: message.dnsMethod = 1; break; case "HARDCODED": case 2: message.dnsMethod = 2; break; case "OVERRIDE": case 3: message.dnsMethod = 3; break; case "FALLBACK": case 4: message.dnsMethod = 4; break; } if (object.appCached != null) message.appCached = Boolean(object.appCached); return message; }; /** * Creates a plain object from a DNSSource message. Also converts values to other types if specified. * @function toObject * @memberof proto.ClientPayload.DNSSource * @static * @param {proto.ClientPayload.DNSSource} message DNSSource * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ DNSSource.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.dnsMethod = options.enums === String ? "SYSTEM" : 0; object.appCached = false; } if (message.dnsMethod != null && message.hasOwnProperty("dnsMethod")) object.dnsMethod = options.enums === String ? $root.proto.ClientPayload.DNSSource.DNSResolutionMethod[message.dnsMethod] : message.dnsMethod; if (message.appCached != null && message.hasOwnProperty("appCached")) object.appCached = message.appCached; return object; }; /** * Converts this DNSSource to JSON. * @function toJSON * @memberof proto.ClientPayload.DNSSource * @instance * @returns {Object.<string,*>} JSON object */ DNSSource.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * DNSResolutionMethod enum. * @name proto.ClientPayload.DNSSource.DNSResolutionMethod * @enum {number} * @property {number} SYSTEM=0 SYSTEM value * @property {number} GOOGLE=1 GOOGLE value * @property {number} HARDCODED=2 HARDCODED value * @property {number} OVERRIDE=3 OVERRIDE value * @property {number} FALLBACK=4 FALLBACK value */ DNSSource.DNSResolutionMethod = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "SYSTEM"] = 0; values[valuesById[1] = "GOOGLE"] = 1; values[valuesById[2] = "HARDCODED"] = 2; values[valuesById[3] = "OVERRIDE"] = 3; values[valuesById[4] = "FALLBACK"] = 4; return values; })(); return DNSSource; })(); ClientPayload.DevicePairingRegistrationData = (function() { /** * Properties of a DevicePairingRegistrationData. * @memberof proto.ClientPayload * @interface IDevicePairingRegistrationData * @property {Uint8Array|null} [eRegid] DevicePairingRegistrationData eRegid * @property {Uint8Array|null} [eKeytype] DevicePairingRegistrationData eKeytype * @property {Uint8Array|null} [eIdent] DevicePairingRegistrationData eIdent * @property {Uint8Array|null} [eSkeyId] DevicePairingRegistrationData eSkeyId * @property {Uint8Array|null} [eSkeyVal] DevicePairingRegistrationData eSkeyVal * @property {Uint8Array|null} [eSkeySig] DevicePairingRegistrationData eSkeySig * @property {Uint8Array|null} [buildHash] DevicePairingRegistrationData buildHash * @property {Uint8Array|null} [deviceProps] DevicePairingRegistrationData deviceProps */ /** * Constructs a new DevicePairingRegistrationData. * @memberof proto.ClientPayload * @classdesc Represents a DevicePairingRegistrationData. * @implements IDevicePairingRegistrationData * @constructor * @param {proto.ClientPayload.IDevicePairingRegistrationData=} [properties] Properties to set */ function DevicePairingRegistrationData(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]]; } /** * DevicePairingRegistrationData eRegid. * @member {Uint8Array} eRegid * @memberof proto.ClientPayload.DevicePairingRegistrationData * @instance */ DevicePairingRegistrationData.prototype.eRegid = $util.newBuffer([]); /** * DevicePairingRegistrationData eKeytype. * @member {Uint8Array} eKeytype * @memberof proto.ClientPayload.DevicePairingRegistrationData * @instance */ DevicePairingRegistrationData.prototype.eKeytype = $util.newBuffer([]); /** * DevicePairingRegistrationData eIdent. * @member {Uint8Array} eIdent * @memberof proto.ClientPayload.DevicePairingRegistrationData * @instance */ DevicePairingRegistrationData.prototype.eIdent = $util.newBuffer([]); /** * DevicePairingRegistrationData eSkeyId. * @member {Uint8Array} eSkeyId * @memberof proto.ClientPayload.DevicePairingRegistrationData * @instance */ DevicePairingRegistrationData.prototype.eSkeyId = $util.newBuffer([]); /** * DevicePairingRegistrationData eSkeyVal. * @member {Uint8Array} eSkeyVal * @memberof proto.ClientPayload.DevicePairingRegistrationData * @instance */ DevicePairingRegistrationData.prototype.eSkeyVal = $util.newBuffer([]); /** * DevicePairingRegistrationData eSkeySig. * @member {Uint8Array} eSkeySig * @memberof proto.ClientPayload.DevicePairingRegistrationData * @instance */ DevicePairingRegistrationData.prototype.eSkeySig = $util.newBuffer([]); /** * DevicePairingRegistrationData buildHash. * @member {Uint8Array} buildHash * @memberof proto.ClientPayload.DevicePairingRegistrationData * @instance */ DevicePairingRegistrationData.prototype.buildHash = $util.newBuffer([]); /** * DevicePairingRegistrationData deviceProps. * @member {Uint8Array} deviceProps * @memberof proto.ClientPayload.DevicePairingRegistrationData * @instance */ DevicePairingRegistrationData.prototype.deviceProps = $util.newBuffer([]); /** * Creates a new DevicePairingRegistrationData instance using the specified properties. * @function create * @memberof proto.ClientPayload.DevicePairingRegistrationData * @static * @param {proto.ClientPayload.IDevicePairingRegistrationData=} [properties] Properties to set * @returns {proto.ClientPayload.DevicePairingRegistrationData} DevicePairingRegistrationData instance */ DevicePairingRegistrationData.create = function create(properties) { return new DevicePairingRegistrationData(properties); }; /** * Encodes the specified DevicePairingRegistrationData message. Does not implicitly {@link proto.ClientPayload.DevicePairingRegistrationData.verify|verify} messages. * @function encode * @memberof proto.ClientPayload.DevicePairingRegistrationData * @static * @param {proto.ClientPayload.IDevicePairingRegistrationData} message DevicePairingRegistrationData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DevicePairingRegistrationData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.eRegid != null && Object.hasOwnProperty.call(message, "eRegid")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.eRegid); if (message.eKeytype != null && Object.hasOwnProperty.call(message, "eKeytype")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.eKeytype); if (message.eIdent != null && Object.hasOwnProperty.call(message, "eIdent")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.eIdent); if (message.eSkeyId != null && Object.hasOwnProperty.call(message, "eSkeyId")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.eSkeyId); if (message.eSkeyVal != null && Object.hasOwnProperty.call(message, "eSkeyVal")) writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.eSkeyVal); if (message.eSkeySig != null && Object.hasOwnProperty.call(message, "eSkeySig")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.eSkeySig); if (message.buildHash != null && Object.hasOwnProperty.call(message, "buildHash")) writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.buildHash); if (message.deviceProps != null && Object.hasOwnProperty.call(message, "deviceProps")) writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.deviceProps); return writer; }; /** * Encodes the specified DevicePairingRegistrationData message, length delimited. Does not implicitly {@link proto.ClientPayload.DevicePairingRegistrationData.verify|verify} messages. * @function encodeDelimited * @memberof proto.ClientPayload.DevicePairingRegistrationData * @static * @param {proto.ClientPayload.IDevicePairingRegistrationData} message DevicePairingRegistrationData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DevicePairingRegistrationData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DevicePairingRegistrationData message from the specified reader or buffer. * @function decode * @memberof proto.ClientPayload.DevicePairingRegistrationData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ClientPayload.DevicePairingRegistrationData} DevicePairingRegistrationData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DevicePairingRegistrationData.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.ClientPayload.DevicePairingRegistrationData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.eRegid = reader.bytes(); break; case 2: message.eKeytype = reader.bytes(); break; case 3: message.eIdent = reader.bytes(); break; case 4: message.eSkeyId = reader.bytes(); break; case 5: message.eSkeyVal = reader.bytes(); break; case 6: message.eSkeySig = reader.bytes(); break; case 7: message.buildHash = reader.bytes(); break; case 8: message.deviceProps = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DevicePairingRegistrationData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ClientPayload.DevicePairingRegistrationData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ClientPayload.DevicePairingRegistrationData} DevicePairingRegistrationData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DevicePairingRegistrationData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DevicePairingRegistrationData message. * @function verify * @memberof proto.ClientPayload.DevicePairingRegistrationData * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DevicePairingRegistrationData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.eRegid != null && message.hasOwnProperty("eRegid")) if (!(message.eRegid && typeof message.eRegid.length === "number" || $util.isString(message.eRegid))) return "eRegid: buffer expected"; if (message.eKeytype != null && message.hasOwnProperty("eKeytype")) if (!(message.eKeytype && typeof message.eKeytype.length === "number" || $util.isString(message.eKeytype))) return "eKeytype: buffer expected"; if (message.eIdent != null && message.hasOwnProperty("eIdent")) if (!(message.eIdent && typeof message.eIdent.length === "number" || $util.isString(message.eIdent))) return "eIdent: buffer expected"; if (message.eSkeyId != null && message.hasOwnProperty("eSkeyId")) if (!(message.eSkeyId && typeof message.eSkeyId.length === "number" || $util.isString(message.eSkeyId))) return "eSkeyId: buffer expected"; if (message.eSkeyVal != null && message.hasOwnProperty("eSkeyVal")) if (!(message.eSkeyVal && typeof message.eSkeyVal.length === "number" || $util.isString(message.eSkeyVal))) return "eSkeyVal: buffer expected"; if (message.eSkeySig != null && message.hasOwnProperty("eSkeySig")) if (!(message.eSkeySig && typeof message.eSkeySig.length === "number" || $util.isString(message.eSkeySig))) return "eSkeySig: buffer expected"; if (message.buildHash != null && message.hasOwnProperty("buildHash")) if (!(message.buildHash && typeof message.buildHash.length === "number" || $util.isString(message.buildHash))) return "buildHash: buffer expected"; if (message.deviceProps != null && message.hasOwnProperty("deviceProps")) if (!(message.deviceProps && typeof message.deviceProps.length === "number" || $util.isString(message.deviceProps))) return "deviceProps: buffer expected"; return null; }; /** * Creates a DevicePairingRegistrationData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ClientPayload.DevicePairingRegistrationData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ClientPayload.DevicePairingRegistrationData} DevicePairingRegistrationData */ DevicePairingRegistrationData.fromObject = function fromObject(object) { if (object instanceof $root.proto.ClientPayload.DevicePairingRegistrationData) return object; var message = new $root.proto.ClientPayload.DevicePairingRegistrationData(); if (object.eRegid != null) if (typeof object.eRegid === "string") $util.base64.decode(object.eRegid, message.eRegid = $util.newBuffer($util.base64.length(object.eRegid)), 0); else if (object.eRegid.length) message.eRegid = object.eRegid; if (object.eKeytype != null) if (typeof object.eKeytype === "string") $util.base64.decode(object.eKeytype, message.eKeytype = $util.newBuffer($util.base64.length(object.eKeytype)), 0); else if (object.eKeytype.length) message.eKeytype = object.eKeytype; if (object.eIdent != null) if (typeof object.eIdent === "string") $util.base64.decode(object.eIdent, message.eIdent = $util.newBuffer($util.base64.length(object.eIdent)), 0); else if (object.eIdent.length) message.eIdent = object.eIdent; if (object.eSkeyId != null) if (typeof object.eSkeyId === "string") $util.base64.decode(object.eSkeyId, message.eSkeyId = $util.newBuffer($util.base64.length(object.eSkeyId)), 0); else if (object.eSkeyId.length) message.eSkeyId = object.eSkeyId; if (object.eSkeyVal != null) if (typeof object.eSkeyVal === "string") $util.base64.decode(object.eSkeyVal, message.eSkeyVal = $util.newBuffer($util.base64.length(object.eSkeyVal)), 0); else if (object.eSkeyVal.length) message.eSkeyVal = object.eSkeyVal; if (object.eSkeySig != null) if (typeof object.eSkeySig === "string") $util.base64.decode(object.eSkeySig, message.eSkeySig = $util.newBuffer($util.base64.length(object.eSkeySig)), 0); else if (object.eSkeySig.length) message.eSkeySig = object.eSkeySig; if (object.buildHash != null) if (typeof object.buildHash === "string") $util.base64.decode(object.buildHash, message.buildHash = $util.newBuffer($util.base64.length(object.buildHash)), 0); else if (object.buildHash.length) message.buildHash = object.buildHash; if (object.deviceProps != null) if (typeof object.deviceProps === "string") $util.base64.decode(object.deviceProps, message.deviceProps = $util.newBuffer($util.base64.length(object.deviceProps)), 0); else if (object.deviceProps.length) message.deviceProps = object.deviceProps; return message; }; /** * Creates a plain object from a DevicePairingRegistrationData message. Also converts values to other types if specified. * @function toObject * @memberof proto.ClientPayload.DevicePairingRegistrationData * @static * @param {proto.ClientPayload.DevicePairingRegistrationData} message DevicePairingRegistrationData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ DevicePairingRegistrationData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.eRegid = ""; else { object.eRegid = []; if (options.bytes !== Array) object.eRegid = $util.newBuffer(object.eRegid); } if (options.bytes === String) object.eKeytype = ""; else { object.eKeytype = []; if (options.bytes !== Array) object.eKeytype = $util.newBuffer(object.eKeytype); } if (options.bytes === String) object.eIdent = ""; else { object.eIdent = []; if (options.bytes !== Array) object.eIdent = $util.newBuffer(object.eIdent); } if (options.bytes === String) object.eSkeyId = ""; else { object.eSkeyId = []; if (options.bytes !== Array) object.eSkeyId = $util.newBuffer(object.eSkeyId); } if (options.bytes === String) object.eSkeyVal = ""; else { object.eSkeyVal = []; if (options.bytes !== Array) object.eSkeyVal = $util.newBuffer(object.eSkeyVal); } if (options.bytes === String) object.eSkeySig = ""; else { object.eSkeySig = []; if (options.bytes !== Array) object.eSkeySig = $util.newBuffer(object.eSkeySig); } if (options.bytes === String) object.buildHash = ""; else { object.buildHash = []; if (options.bytes !== Array) object.buildHash = $util.newBuffer(object.buildHash); } if (options.bytes === String) object.deviceProps = ""; else { object.deviceProps = []; if (options.bytes !== Array) object.deviceProps = $util.newBuffer(object.deviceProps); } } if (message.eRegid != null && message.hasOwnProperty("eRegid")) object.eRegid = options.bytes === String ? $util.base64.encode(message.eRegid, 0, message.eRegid.length) : options.bytes === Array ? Array.prototype.slice.call(message.eRegid) : message.eRegid; if (message.eKeytype != null && message.hasOwnProperty("eKeytype")) object.eKeytype = options.bytes === String ? $util.base64.encode(message.eKeytype, 0, message.eKeytype.length) : options.bytes === Array ? Array.prototype.slice.call(message.eKeytype) : message.eKeytype; if (message.eIdent != null && message.hasOwnProperty("eIdent")) object.eIdent = options.bytes === String ? $util.base64.encode(message.eIdent, 0, message.eIdent.length) : options.bytes === Array ? Array.prototype.slice.call(message.eIdent) : message.eIdent; if (message.eSkeyId != null && message.hasOwnProperty("eSkeyId")) object.eSkeyId = options.bytes === String ? $util.base64.encode(message.eSkeyId, 0, message.eSkeyId.length) : options.bytes === Array ? Array.prototype.slice.call(message.eSkeyId) : message.eSkeyId; if (message.eSkeyVal != null && message.hasOwnProperty("eSkeyVal")) object.eSkeyVal = options.bytes === String ? $util.base64.encode(message.eSkeyVal, 0, message.eSkeyVal.length) : options.bytes === Array ? Array.prototype.slice.call(message.eSkeyVal) : message.eSkeyVal; if (message.eSkeySig != null && message.hasOwnProperty("eSkeySig")) object.eSkeySig = options.bytes === String ? $util.base64.encode(message.eSkeySig, 0, message.eSkeySig.length) : options.bytes === Array ? Array.prototype.slice.call(message.eSkeySig) : message.eSkeySig; if (message.buildHash != null && message.hasOwnProperty("buildHash")) object.buildHash = options.bytes === String ? $util.base64.encode(message.buildHash, 0, message.buildHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.buildHash) : message.buildHash; if (message.deviceProps != null && message.hasOwnProperty("deviceProps")) object.deviceProps = options.bytes === String ? $util.base64.encode(message.deviceProps, 0, message.deviceProps.length) : options.bytes === Array ? Array.prototype.slice.call(message.deviceProps) : message.deviceProps; return object; }; /** * Converts this DevicePairingRegistrationData to JSON. * @function toJSON * @memberof proto.ClientPayload.DevicePairingRegistrationData * @instance * @returns {Object.<string,*>} JSON object */ DevicePairingRegistrationData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DevicePairingRegistrationData; })(); /** * IOSAppExtension enum. * @name proto.ClientPayload.IOSAppExtension * @enum {number} * @property {number} SHARE_EXTENSION=0 SHARE_EXTENSION value * @property {number} SERVICE_EXTENSION=1 SERVICE_EXTENSION value * @property {number} INTENTS_EXTENSION=2 INTENTS_EXTENSION value */ ClientPayload.IOSAppExtension = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "SHARE_EXTENSION"] = 0; values[valuesById[1] = "SERVICE_EXTENSION"] = 1; values[valuesById[2] = "INTENTS_EXTENSION"] = 2; return values; })(); ClientPayload.InteropData = (function() { /** * Properties of an InteropData. * @memberof proto.ClientPayload * @interface IInteropData * @property {number|Long|null} [accountId] InteropData accountId * @property {number|null} [integratorId] InteropData integratorId * @property {Uint8Array|null} [token] InteropData token */ /** * Constructs a new InteropData. * @memberof proto.ClientPayload * @classdesc Represents an InteropData. * @implements IInteropData * @constructor * @param {proto.ClientPayload.IInteropData=} [properties] Properties to set */ function InteropData(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]]; } /** * InteropData accountId. * @member {number|Long} accountId * @memberof proto.ClientPayload.InteropData * @instance */ InteropData.prototype.accountId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * InteropData integratorId. * @member {number} integratorId * @memberof proto.ClientPayload.InteropData * @instance */ InteropData.prototype.integratorId = 0; /** * InteropData token. * @member {Uint8Array} token * @memberof proto.ClientPayload.InteropData * @instance */ InteropData.prototype.token = $util.newBuffer([]); /** * Creates a new InteropData instance using the specified properties. * @function create * @memberof proto.ClientPayload.InteropData * @static * @param {proto.ClientPayload.IInteropData=} [properties] Properties to set * @returns {proto.ClientPayload.InteropData} InteropData instance */ InteropData.create = function create(properties) { return new InteropData(properties); }; /** * Encodes the specified InteropData message. Does not implicitly {@link proto.ClientPayload.InteropData.verify|verify} messages. * @function encode * @memberof proto.ClientPayload.InteropData * @static * @param {proto.ClientPayload.IInteropData} message InteropData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InteropData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.accountId != null && Object.hasOwnProperty.call(message, "accountId")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.accountId); if (message.integratorId != null && Object.hasOwnProperty.call(message, "integratorId")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.integratorId); if (message.token != null && Object.hasOwnProperty.call(message, "token")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.token); return writer; }; /** * Encodes the specified InteropData message, length delimited. Does not implicitly {@link proto.ClientPayload.InteropData.verify|verify} messages. * @function encodeDelimited * @memberof proto.ClientPayload.InteropData * @static * @param {proto.ClientPayload.IInteropData} message InteropData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InteropData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an InteropData message from the specified reader or buffer. * @function decode * @memberof proto.ClientPayload.InteropData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ClientPayload.InteropData} InteropData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InteropData.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.ClientPayload.InteropData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.accountId = reader.uint64(); break; case 2: message.integratorId = reader.uint32(); break; case 3: message.token = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an InteropData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ClientPayload.InteropData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ClientPayload.InteropData} InteropData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InteropData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an InteropData message. * @function verify * @memberof proto.ClientPayload.InteropData * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ InteropData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.accountId != null && message.hasOwnProperty("accountId")) if (!$util.isInteger(message.accountId) && !(message.accountId && $util.isInteger(message.accountId.low) && $util.isInteger(message.accountId.high))) return "accountId: integer|Long expected"; if (message.integratorId != null && message.hasOwnProperty("integratorId")) if (!$util.isInteger(message.integratorId)) return "integratorId: integer expected"; if (message.token != null && message.hasOwnProperty("token")) if (!(message.token && typeof message.token.length === "number" || $util.isString(message.token))) return "token: buffer expected"; return null; }; /** * Creates an InteropData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ClientPayload.InteropData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ClientPayload.InteropData} InteropData */ InteropData.fromObject = function fromObject(object) { if (object instanceof $root.proto.ClientPayload.InteropData) return object; var message = new $root.proto.ClientPayload.InteropData(); if (object.accountId != null) if ($util.Long) (message.accountId = $util.Long.fromValue(object.accountId)).unsigned = true; else if (typeof object.accountId === "string") message.accountId = parseInt(object.accountId, 10); else if (typeof object.accountId === "number") message.accountId = object.accountId; else if (typeof object.accountId === "object") message.accountId = new $util.LongBits(object.accountId.low >>> 0, object.accountId.high >>> 0).toNumber(true); if (object.integratorId != null) message.integratorId = object.integratorId >>> 0; if (object.token != null) if (typeof object.token === "string") $util.base64.decode(object.token, message.token = $util.newBuffer($util.base64.length(object.token)), 0); else if (object.token.length) message.token = object.token; return message; }; /** * Creates a plain object from an InteropData message. Also converts values to other types if specified. * @function toObject * @memberof proto.ClientPayload.InteropData * @static * @param {proto.ClientPayload.InteropData} message InteropData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ InteropData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if ($util.Long) { var long = new $util.Long(0, 0, true); object.accountId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.accountId = options.longs === String ? "0" : 0; object.integratorId = 0; if (options.bytes === String) object.token = ""; else { object.token = []; if (options.bytes !== Array) object.token = $util.newBuffer(object.token); } } if (message.accountId != null && message.hasOwnProperty("accountId")) if (typeof message.accountId === "number") object.accountId = options.longs === String ? String(message.accountId) : message.accountId; else object.accountId = options.longs === String ? $util.Long.prototype.toString.call(message.accountId) : options.longs === Number ? new $util.LongBits(message.accountId.low >>> 0, message.accountId.high >>> 0).toNumber(true) : message.accountId; if (message.integratorId != null && message.hasOwnProperty("integratorId")) object.integratorId = message.integratorId; if (message.token != null && message.hasOwnProperty("token")) object.token = options.bytes === String ? $util.base64.encode(message.token, 0, message.token.length) : options.bytes === Array ? Array.prototype.slice.call(message.token) : message.token; return object; }; /** * Converts this InteropData to JSON. * @function toJSON * @memberof proto.ClientPayload.InteropData * @instance * @returns {Object.<string,*>} JSON object */ InteropData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return InteropData; })(); /** * Product enum. * @name proto.ClientPayload.Product * @enum {number} * @property {number} WHATSAPP=0 WHATSAPP value * @property {number} MESSENGER=1 MESSENGER value * @property {number} INTEROP=2 INTEROP value */ ClientPayload.Product = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "WHATSAPP"] = 0; values[valuesById[1] = "MESSENGER"] = 1; values[valuesById[2] = "INTEROP"] = 2; return values; })(); ClientPayload.UserAgent = (function() { /** * Properties of a UserAgent. * @memberof proto.ClientPayload * @interface IUserAgent * @property {proto.ClientPayload.UserAgent.Platform|null} [platform] UserAgent platform * @property {proto.ClientPayload.UserAgent.IAppVersion|null} [appVersion] UserAgent appVersion * @property {string|null} [mcc] UserAgent mcc * @property {string|null} [mnc] UserAgent mnc * @property {string|null} [osVersion] UserAgent osVersion * @property {string|null} [manufacturer] UserAgent manufacturer * @property {string|null} [device] UserAgent device * @property {string|null} [osBuildNumber] UserAgent osBuildNumber * @property {string|null} [phoneId] UserAgent phoneId * @property {proto.ClientPayload.UserAgent.ReleaseChannel|null} [releaseChannel] UserAgent releaseChannel * @property {string|null} [localeLanguageIso6391] UserAgent localeLanguageIso6391 * @property {string|null} [localeCountryIso31661Alpha2] UserAgent localeCountryIso31661Alpha2 * @property {string|null} [deviceBoard] UserAgent deviceBoard * @property {string|null} [deviceExpId] UserAgent deviceExpId * @property {proto.ClientPayload.UserAgent.DeviceType|null} [deviceType] UserAgent deviceType */ /** * Constructs a new UserAgent. * @memberof proto.ClientPayload * @classdesc Represents a UserAgent. * @implements IUserAgent * @constructor * @param {proto.ClientPayload.IUserAgent=} [properties] Properties to set */ function UserAgent(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]]; } /** * UserAgent platform. * @member {proto.ClientPayload.UserAgent.Platform} platform * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.platform = 0; /** * UserAgent appVersion. * @member {proto.ClientPayload.UserAgent.IAppVersion|null|undefined} appVersion * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.appVersion = null; /** * UserAgent mcc. * @member {string} mcc * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.mcc = ""; /** * UserAgent mnc. * @member {string} mnc * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.mnc = ""; /** * UserAgent osVersion. * @member {string} osVersion * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.osVersion = ""; /** * UserAgent manufacturer. * @member {string} manufacturer * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.manufacturer = ""; /** * UserAgent device. * @member {string} device * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.device = ""; /** * UserAgent osBuildNumber. * @member {string} osBuildNumber * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.osBuildNumber = ""; /** * UserAgent phoneId. * @member {string} phoneId * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.phoneId = ""; /** * UserAgent releaseChannel. * @member {proto.ClientPayload.UserAgent.ReleaseChannel} releaseChannel * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.releaseChannel = 0; /** * UserAgent localeLanguageIso6391. * @member {string} localeLanguageIso6391 * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.localeLanguageIso6391 = ""; /** * UserAgent localeCountryIso31661Alpha2. * @member {string} localeCountryIso31661Alpha2 * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.localeCountryIso31661Alpha2 = ""; /** * UserAgent deviceBoard. * @member {string} deviceBoard * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.deviceBoard = ""; /** * UserAgent deviceExpId. * @member {string} deviceExpId * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.deviceExpId = ""; /** * UserAgent deviceType. * @member {proto.ClientPayload.UserAgent.DeviceType} deviceType * @memberof proto.ClientPayload.UserAgent * @instance */ UserAgent.prototype.deviceType = 0; /** * Creates a new UserAgent instance using the specified properties. * @function create * @memberof proto.ClientPayload.UserAgent * @static * @param {proto.ClientPayload.IUserAgent=} [properties] Properties to set * @returns {proto.ClientPayload.UserAgent} UserAgent instance */ UserAgent.create = function create(properties) { return new UserAgent(properties); }; /** * Encodes the specified UserAgent message. Does not implicitly {@link proto.ClientPayload.UserAgent.verify|verify} messages. * @function encode * @memberof proto.ClientPayload.UserAgent * @static * @param {proto.ClientPayload.IUserAgent} message UserAgent message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ UserAgent.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.platform != null && Object.hasOwnProperty.call(message, "platform")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.platform); if (message.appVersion != null && Object.hasOwnProperty.call(message, "appVersion")) $root.proto.ClientPayload.UserAgent.AppVersion.encode(message.appVersion, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.mcc != null && Object.hasOwnProperty.call(message, "mcc")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.mcc); if (message.mnc != null && Object.hasOwnProperty.call(message, "mnc")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.mnc); if (message.osVersion != null && Object.hasOwnProperty.call(message, "osVersion")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.osVersion); if (message.manufacturer != null && Object.hasOwnProperty.call(message, "manufacturer")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.manufacturer); if (message.device != null && Object.hasOwnProperty.call(message, "device")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.device); if (message.osBuildNumber != null && Object.hasOwnProperty.call(message, "osBuildNumber")) writer.uint32(/* id 8, wireType 2 =*/66).string(message.osBuildNumber); if (message.phoneId != null && Object.hasOwnProperty.call(message, "phoneId")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.phoneId); if (message.releaseChannel != null && Object.hasOwnProperty.call(message, "releaseChannel")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.releaseChannel); if (message.localeLanguageIso6391 != null && Object.hasOwnProperty.call(message, "localeLanguageIso6391")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.localeLanguageIso6391); if (message.localeCountryIso31661Alpha2 != null && Object.hasOwnProperty.call(message, "localeCountryIso31661Alpha2")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.localeCountryIso31661Alpha2); if (message.deviceBoard != null && Object.hasOwnProperty.call(message, "deviceBoard")) writer.uint32(/* id 13, wireType 2 =*/106).string(message.deviceBoard); if (message.deviceExpId != null && Object.hasOwnProperty.call(message, "deviceExpId")) writer.uint32(/* id 14, wireType 2 =*/114).string(message.deviceExpId); if (message.deviceType != null && Object.hasOwnProperty.call(message, "deviceType")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.deviceType); return writer; }; /** * Encodes the specified UserAgent message, length delimited. Does not implicitly {@link proto.ClientPayload.UserAgent.verify|verify} messages. * @function encodeDelimited * @memberof proto.ClientPayload.UserAgent * @static * @param {proto.ClientPayload.IUserAgent} message UserAgent message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ UserAgent.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a UserAgent message from the specified reader or buffer. * @function decode * @memberof proto.ClientPayload.UserAgent * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ClientPayload.UserAgent} UserAgent * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ UserAgent.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.ClientPayload.UserAgent(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.platform = reader.int32(); break; case 2: message.appVersion = $root.proto.ClientPayload.UserAgent.AppVersion.decode(reader, reader.uint32()); break; case 3: message.mcc = reader.string(); break; case 4: message.mnc = reader.string(); break; case 5: message.osVersion = reader.string(); break; case 6: message.manufacturer = reader.string(); break; case 7: message.device = reader.string(); break; case 8: message.osBuildNumber = reader.string(); break; case 9: message.phoneId = reader.string(); break; case 10: message.releaseChannel = reader.int32(); break; case 11: message.localeLanguageIso6391 = reader.string(); break; case 12: message.localeCountryIso31661Alpha2 = reader.string(); break; case 13: message.deviceBoard = reader.string(); break; case 14: message.deviceExpId = reader.string(); break; case 15: message.deviceType = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a UserAgent message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ClientPayload.UserAgent * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ClientPayload.UserAgent} UserAgent * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ UserAgent.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a UserAgent message. * @function verify * @memberof proto.ClientPayload.UserAgent * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ UserAgent.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.platform != null && message.hasOwnProperty("platform")) switch (message.platform) { default: return "platform: 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: break; } if (message.appVersion != null && message.hasOwnProperty("appVersion")) { var error = $root.proto.ClientPayload.UserAgent.AppVersion.verify(message.appVersion); if (error) return "appVersion." + error; } if (message.mcc != null && message.hasOwnProperty("mcc")) if (!$util.isString(message.mcc)) return "mcc: string expected"; if (message.mnc != null && message.hasOwnProperty("mnc")) if (!$util.isString(message.mnc)) return "mnc: string expected"; if (message.osVersion != null && message.hasOwnProperty("osVersion")) if (!$util.isString(message.osVersion)) return "osVersion: string expected"; if (message.manufacturer != null && message.hasOwnProperty("manufacturer")) if (!$util.isString(message.manufacturer)) return "manufacturer: string expected"; if (message.device != null && message.hasOwnProperty("device")) if (!$util.isString(message.device)) return "device: string expected"; if (message.osBuildNumber != null && message.hasOwnProperty("osBuildNumber")) if (!$util.isString(message.osBuildNumber)) return "osBuildNumber: string expected"; if (message.phoneId != null && message.hasOwnProperty("phoneId")) if (!$util.isString(message.phoneId)) return "phoneId: string expected"; if (message.releaseChannel != null && message.hasOwnProperty("releaseChannel")) switch (message.releaseChannel) { default: return "releaseChannel: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.localeLanguageIso6391 != null && message.hasOwnProperty("localeLanguageIso6391")) if (!$util.isString(message.localeLanguageIso6391)) return "localeLanguageIso6391: string expected"; if (message.localeCountryIso31661Alpha2 != null && message.hasOwnProperty("localeCountryIso31661Alpha2")) if (!$util.isString(message.localeCountryIso31661Alpha2)) return "localeCountryIso31661Alpha2: string expected"; if (message.deviceBoard != null && message.hasOwnProperty("deviceBoard")) if (!$util.isString(message.deviceBoard)) return "deviceBoard: string expected"; if (message.deviceExpId != null && message.hasOwnProperty("deviceExpId")) if (!$util.isString(message.deviceExpId)) return "deviceExpId: string expected"; if (message.deviceType != null && message.hasOwnProperty("deviceType")) switch (message.deviceType) { default: return "deviceType: enum value expected"; case 0: case 1: case 2: case 3: case 4: break; } return null; }; /** * Creates a UserAgent message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ClientPayload.UserAgent * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ClientPayload.UserAgent} UserAgent */ UserAgent.fromObject = function fromObject(object) { if (object instanceof $root.proto.ClientPayload.UserAgent) return object; var message = new $root.proto.ClientPayload.UserAgent(); switch (object.platform) { case "ANDROID": case 0: message.platform = 0; break; case "IOS": case 1: message.platform = 1; break; case "WINDOWS_PHONE": case 2: message.platform = 2; break; case "BLACKBERRY": case 3: message.platform = 3; break; case "BLACKBERRYX": case 4: message.platform = 4; break; case "S40": case 5: message.platform = 5; break; case "S60": case 6: message.platform = 6; break; case "PYTHON_CLIENT": case 7: message.platform = 7; break; case "TIZEN": case 8: message.platform = 8; break; case "ENTERPRISE": case 9: message.platform = 9; break; case "SMB_ANDROID": case 10: message.platform = 10; break; case "KAIOS": case 11: message.platform = 11; break; case "SMB_IOS": case 12: message.platform = 12; break; case "WINDOWS": case 13: message.platform = 13; break; case "WEB": case 14: message.platform = 14; break; case "PORTAL": case 15: message.platform = 15; break; case "GREEN_ANDROID": case 16: message.platform = 16; break; case "GREEN_IPHONE": case 17: message.platform = 17; break; case "BLUE_ANDROID": case 18: message.platform = 18; break; case "BLUE_IPHONE": case 19: message.platform = 19; break; case "FBLITE_ANDROID": case 20: message.platform = 20; break; case "MLITE_ANDROID": case 21: message.platform = 21; break; case "IGLITE_ANDROID": case 22: message.platform = 22; break; case "PAGE": case 23: message.platform = 23; break; case "MACOS": case 24: message.platform = 24; break; case "OCULUS_MSG": case 25: message.platform = 25; break; case "OCULUS_CALL": case 26: message.platform = 26; break; case "MILAN": case 27: message.platform = 27; break; case "CAPI": case 28: message.platform = 28; break; case "WEAROS": case 29: message.platform = 29; break; case "ARDEVICE": case 30: message.platform = 30; break; case "VRDEVICE": case 31: message.platform = 31; break; case "BLUE_WEB": case 32: message.platform = 32; break; case "IPAD": case 33: message.platform = 33; break; } if (object.appVersion != null) { if (typeof object.appVersion !== "object") throw TypeError(".proto.ClientPayload.UserAgent.appVersion: object expected"); message.appVersion = $root.proto.ClientPayload.UserAgent.AppVersion.fromObject(object.appVersion); } if (object.mcc != null) message.mcc = String(object.mcc); if (object.mnc != null) message.mnc = String(object.mnc); if (object.osVersion != null) message.osVersion = String(object.osVersion); if (object.manufacturer != null) message.manufacturer = String(object.manufacturer); if (object.device != null) message.device = String(object.device); if (object.osBuildNumber != null) message.osBuildNumber = String(object.osBuildNumber); if (object.phoneId != null) message.phoneId = String(object.phoneId); switch (object.releaseChannel) { case "RELEASE": case 0: message.releaseChannel = 0; break; case "BETA": case 1: message.releaseChannel = 1; break; case "ALPHA": case 2: message.releaseChannel = 2; break; case "DEBUG": case 3: message.releaseChannel = 3; break; } if (object.localeLanguageIso6391 != null) message.localeLanguageIso6391 = String(object.localeLanguageIso6391); if (object.localeCountryIso31661Alpha2 != null) message.localeCountryIso31661Alpha2 = String(object.localeCountryIso31661Alpha2); if (object.deviceBoard != null) message.deviceBoard = String(object.deviceBoard); if (object.deviceExpId != null) message.deviceExpId = String(object.deviceExpId); switch (object.deviceType) { case "PHONE": case 0: message.deviceType = 0; break; case "TABLET": case 1: message.deviceType = 1; break; case "DESKTOP": case 2: message.deviceType = 2; break; case "WEARABLE": case 3: message.deviceType = 3; break; case "VR": case 4: message.deviceType = 4; break; } return message; }; /** * Creates a plain object from a UserAgent message. Also converts values to other types if specified. * @function toObject * @memberof proto.ClientPayload.UserAgent * @static * @param {proto.ClientPayload.UserAgent} message UserAgent * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ UserAgent.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.platform = options.enums === String ? "ANDROID" : 0; object.appVersion = null; object.mcc = ""; object.mnc = ""; object.osVersion = ""; object.manufacturer = ""; object.device = ""; object.osBuildNumber = ""; object.phoneId = ""; object.releaseChannel = options.enums === String ? "RELEASE" : 0; object.localeLanguageIso6391 = ""; object.localeCountryIso31661Alpha2 = ""; object.deviceBoard = ""; object.deviceExpId = ""; object.deviceType = options.enums === String ? "PHONE" : 0; } if (message.platform != null && message.hasOwnProperty("platform")) object.platform = options.enums === String ? $root.proto.ClientPayload.UserAgent.Platform[message.platform] : message.platform; if (message.appVersion != null && message.hasOwnProperty("appVersion")) object.appVersion = $root.proto.ClientPayload.UserAgent.AppVersion.toObject(message.appVersion, options); if (message.mcc != null && message.hasOwnProperty("mcc")) object.mcc = message.mcc; if (message.mnc != null && message.hasOwnProperty("mnc")) object.mnc = message.mnc; if (message.osVersion != null && message.hasOwnProperty("osVersion")) object.osVersion = message.osVersion; if (message.manufacturer != null && message.hasOwnProperty("manufacturer")) object.manufacturer = message.manufacturer; if (message.device != null && message.hasOwnProperty("device")) object.device = message.device; if (message.osBuildNumber != null && message.hasOwnProperty("osBuildNumber")) object.osBuildNumber = message.osBuildNumber; if (message.phoneId != null && message.hasOwnProperty("phoneId")) object.phoneId = message.phoneId; if (message.releaseChannel != null && message.hasOwnProperty("releaseChannel")) object.releaseChannel = options.enums === String ? $root.proto.ClientPayload.UserAgent.ReleaseChannel[message.releaseChannel] : message.releaseChannel; if (message.localeLanguageIso6391 != null && message.hasOwnProperty("localeLanguageIso6391")) object.localeLanguageIso6391 = message.localeLanguageIso6391; if (message.localeCountryIso31661Alpha2 != null && message.hasOwnProperty("localeCountryIso31661Alpha2")) object.localeCountryIso31661Alpha2 = message.localeCountryIso31661Alpha2; if (message.deviceBoard != null && message.hasOwnProperty("deviceBoard")) object.deviceBoard = message.deviceBoard; if (message.deviceExpId != null && message.hasOwnProperty("deviceExpId")) object.deviceExpId = message.deviceExpId; if (message.deviceType != null && message.hasOwnProperty("deviceType")) object.deviceType = options.enums === String ? $root.proto.ClientPayload.UserAgent.DeviceType[message.deviceType] : message.deviceType; return object; }; /** * Converts this UserAgent to JSON. * @function toJSON * @memberof proto.ClientPayload.UserAgent * @instance * @returns {Object.<string,*>} JSON object */ UserAgent.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; UserAgent.AppVersion = (function() { /** * Properties of an AppVersion. * @memberof proto.ClientPayload.UserAgent * @interface IAppVersion * @property {number|null} [primary] AppVersion primary * @property {number|null} [secondary] AppVersion secondary * @property {number|null} [tertiary] AppVersion tertiary * @property {number|null} [quaternary] AppVersion quaternary * @property {number|null} [quinary] AppVersion quinary */ /** * Constructs a new AppVersion. * @memberof proto.ClientPayload.UserAgent * @classdesc Represents an AppVersion. * @implements IAppVersion * @constructor * @param {proto.ClientPayload.UserAgent.IAppVersion=} [properties] Properties to set */ function AppVersion(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]]; } /** * AppVersion primary. * @member {number} primary * @memberof proto.ClientPayload.UserAgent.AppVersion * @instance */ AppVersion.prototype.primary = 0; /** * AppVersion secondary. * @member {number} secondary * @memberof proto.ClientPayload.UserAgent.AppVersion * @instance */ AppVersion.prototype.secondary = 0; /** * AppVersion tertiary. * @member {number} tertiary * @memberof proto.ClientPayload.UserAgent.AppVersion * @instance */ AppVersion.prototype.tertiary = 0; /** * AppVersion quaternary. * @member {number} quaternary * @memberof proto.ClientPayload.UserAgent.AppVersion * @instance */ AppVersion.prototype.quaternary = 0; /** * AppVersion quinary. * @member {number} quinary * @memberof proto.ClientPayload.UserAgent.AppVersion * @instance */ AppVersion.prototype.quinary = 0; /** * Creates a new AppVersion instance using the specified properties. * @function create * @memberof proto.ClientPayload.UserAgent.AppVersion * @static * @param {proto.ClientPayload.UserAgent.IAppVersion=} [properties] Properties to set * @returns {proto.ClientPayload.UserAgent.AppVersion} AppVersion instance */ AppVersion.create = function create(properties) { return new AppVersion(properties); }; /** * Encodes the specified AppVersion message. Does not implicitly {@link proto.ClientPayload.UserAgent.AppVersion.verify|verify} messages. * @function encode * @memberof proto.ClientPayload.UserAgent.AppVersion * @static * @param {proto.ClientPayload.UserAgent.IAppVersion} message AppVersion message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppVersion.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.primary != null && Object.hasOwnProperty.call(message, "primary")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.primary); if (message.secondary != null && Object.hasOwnProperty.call(message, "secondary")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.secondary); if (message.tertiary != null && Object.hasOwnProperty.call(message, "tertiary")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.tertiary); if (message.quaternary != null && Object.hasOwnProperty.call(message, "quaternary")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.quaternary); if (message.quinary != null && Object.hasOwnProperty.call(message, "quinary")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.quinary); return writer; }; /** * Encodes the specified AppVersion message, length delimited. Does not implicitly {@link proto.ClientPayload.UserAgent.AppVersion.verify|verify} messages. * @function encodeDelimited * @memberof proto.ClientPayload.UserAgent.AppVersion * @static * @param {proto.ClientPayload.UserAgent.IAppVersion} message AppVersion message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppVersion.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AppVersion message from the specified reader or buffer. * @function decode * @memberof proto.ClientPayload.UserAgent.AppVersion * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ClientPayload.UserAgent.AppVersion} AppVersion * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppVersion.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.ClientPayload.UserAgent.AppVersion(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.primary = reader.uint32(); break; case 2: message.secondary = reader.uint32(); break; case 3: message.tertiary = reader.uint32(); break; case 4: message.quaternary = reader.uint32(); break; case 5: message.quinary = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AppVersion message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ClientPayload.UserAgent.AppVersion * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ClientPayload.UserAgent.AppVersion} AppVersion * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppVersion.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AppVersion message. * @function verify * @memberof proto.ClientPayload.UserAgent.AppVersion * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AppVersion.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.primary != null && message.hasOwnProperty("primary")) if (!$util.isInteger(message.primary)) return "primary: integer expected"; if (message.secondary != null && message.hasOwnProperty("secondary")) if (!$util.isInteger(message.secondary)) return "secondary: integer expected"; if (message.tertiary != null && message.hasOwnProperty("tertiary")) if (!$util.isInteger(message.tertiary)) return "tertiary: integer expected"; if (message.quaternary != null && message.hasOwnProperty("quaternary")) if (!$util.isInteger(message.quaternary)) return "quaternary: integer expected"; if (message.quinary != null && message.hasOwnProperty("quinary")) if (!$util.isInteger(message.quinary)) return "quinary: integer expected"; return null; }; /** * Creates an AppVersion message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ClientPayload.UserAgent.AppVersion * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ClientPayload.UserAgent.AppVersion} AppVersion */ AppVersion.fromObject = function fromObject(object) { if (object instanceof $root.proto.ClientPayload.UserAgent.AppVersion) return object; var message = new $root.proto.ClientPayload.UserAgent.AppVersion(); if (object.primary != null) message.primary = object.primary >>> 0; if (object.secondary != null) message.secondary = object.secondary >>> 0; if (object.tertiary != null) message.tertiary = object.tertiary >>> 0; if (object.quaternary != null) message.quaternary = object.quaternary >>> 0; if (object.quinary != null) message.quinary = object.quinary >>> 0; return message; }; /** * Creates a plain object from an AppVersion message. Also converts values to other types if specified. * @function toObject * @memberof proto.ClientPayload.UserAgent.AppVersion * @static * @param {proto.ClientPayload.UserAgent.AppVersion} message AppVersion * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ AppVersion.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.primary = 0; object.secondary = 0; object.tertiary = 0; object.quaternary = 0; object.quinary = 0; } if (message.primary != null && message.hasOwnProperty("primary")) object.primary = message.primary; if (message.secondary != null && message.hasOwnProperty("secondary")) object.secondary = message.secondary; if (message.tertiary != null && message.hasOwnProperty("tertiary")) object.tertiary = message.tertiary; if (message.quaternary != null && message.hasOwnProperty("quaternary")) object.quaternary = message.quaternary; if (message.quinary != null && message.hasOwnProperty("quinary")) object.quinary = message.quinary; return object; }; /** * Converts this AppVersion to JSON. * @function toJSON * @memberof proto.ClientPayload.UserAgent.AppVersion * @instance * @returns {Object.<string,*>} JSON object */ AppVersion.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppVersion; })(); /** * DeviceType enum. * @name proto.ClientPayload.UserAgent.DeviceType * @enum {number} * @property {number} PHONE=0 PHONE value * @property {number} TABLET=1 TABLET value * @property {number} DESKTOP=2 DESKTOP value * @property {number} WEARABLE=3 WEARABLE value * @property {number} VR=4 VR value */ UserAgent.DeviceType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "PHONE"] = 0; values[valuesById[1] = "TABLET"] = 1; values[valuesById[2] = "DESKTOP"] = 2; values[valuesById[3] = "WEARABLE"] = 3; values[valuesById[4] = "VR"] = 4; return values; })(); /** * Platform enum. * @name proto.ClientPayload.UserAgent.Platform * @enum {number} * @property {number} ANDROID=0 ANDROID value * @property {number} IOS=1 IOS value * @property {number} WINDOWS_PHONE=2 WINDOWS_PHONE value * @property {number} BLACKBERRY=3 BLACKBERRY value * @property {number} BLACKBERRYX=4 BLACKBERRYX value * @property {number} S40=5 S40 value * @property {number} S60=6 S60 value * @property {number} PYTHON_CLIENT=7 PYTHON_CLIENT value * @property {number} TIZEN=8 TIZEN value * @property {number} ENTERPRISE=9 ENTERPRISE value * @property {number} SMB_ANDROID=10 SMB_ANDROID value * @property {number} KAIOS=11 KAIOS value * @property {number} SMB_IOS=12 SMB_IOS value * @property {number} WINDOWS=13 WINDOWS value * @property {number} WEB=14 WEB value * @property {number} PORTAL=15 PORTAL value * @property {number} GREEN_ANDROID=16 GREEN_ANDROID value * @property {number} GREEN_IPHONE=17 GREEN_IPHONE value * @property {number} BLUE_ANDROID=18 BLUE_ANDROID value * @property {number} BLUE_IPHONE=19 BLUE_IPHONE value * @property {number} FBLITE_ANDROID=20 FBLITE_ANDROID value * @property {number} MLITE_ANDROID=21 MLITE_ANDROID value * @property {number} IGLITE_ANDROID=22 IGLITE_ANDROID value * @property {number} PAGE=23 PAGE value * @property {number} MACOS=24 MACOS value * @property {number} OCULUS_MSG=25 OCULUS_MSG value * @property {number} OCULUS_CALL=26 OCULUS_CALL value * @property {number} MILAN=27 MILAN value * @property {number} CAPI=28 CAPI value * @property {number} WEAROS=29 WEAROS value * @property {number} ARDEVICE=30 ARDEVICE value * @property {number} VRDEVICE=31 VRDEVICE value * @property {number} BLUE_WEB=32 BLUE_WEB value * @property {number} IPAD=33 IPAD value */ UserAgent.Platform = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "ANDROID"] = 0; values[valuesById[1] = "IOS"] = 1; values[valuesById[2] = "WINDOWS_PHONE"] = 2; values[valuesById[3] = "BLACKBERRY"] = 3; values[valuesById[4] = "BLACKBERRYX"] = 4; values[valuesById[5] = "S40"] = 5; values[valuesById[6] = "S60"] = 6; values[valuesById[7] = "PYTHON_CLIENT"] = 7; values[valuesById[8] = "TIZEN"] = 8; values[valuesById[9] = "ENTERPRISE"] = 9; values[valuesById[10] = "SMB_ANDROID"] = 10; values[valuesById[11] = "KAIOS"] = 11; values[valuesById[12] = "SMB_IOS"] = 12; values[valuesById[13] = "WINDOWS"] = 13; values[valuesById[14] = "WEB"] = 14; values[valuesById[15] = "PORTAL"] = 15; values[valuesById[16] = "GREEN_ANDROID"] = 16; values[valuesById[17] = "GREEN_IPHONE"] = 17; values[valuesById[18] = "BLUE_ANDROID"] = 18; values[valuesById[19] = "BLUE_IPHONE"] = 19; values[valuesById[20] = "FBLITE_ANDROID"] = 20; values[valuesById[21] = "MLITE_ANDROID"] = 21; values[valuesById[22] = "IGLITE_ANDROID"] = 22; values[valuesById[23] = "PAGE"] = 23; values[valuesById[24] = "MACOS"] = 24; values[valuesById[25] = "OCULUS_MSG"] = 25; values[valuesById[26] = "OCULUS_CALL"] = 26; values[valuesById[27] = "MILAN"] = 27; values[valuesById[28] = "CAPI"] = 28; values[valuesById[29] = "WEAROS"] = 29; values[valuesById[30] = "ARDEVICE"] = 30; values[valuesById[31] = "VRDEVICE"] = 31; values[valuesById[32] = "BLUE_WEB"] = 32; values[valuesById[33] = "IPAD"] = 33; return values; })(); /** * ReleaseChannel enum. * @name proto.ClientPayload.UserAgent.ReleaseChannel * @enum {number} * @property {number} RELEASE=0 RELEASE value * @property {number} BETA=1 BETA value * @property {number} ALPHA=2 ALPHA value * @property {number} DEBUG=3 DEBUG value */ UserAgent.ReleaseChannel = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "RELEASE"] = 0; values[valuesById[1] = "BETA"] = 1; values[valuesById[2] = "ALPHA"] = 2; values[valuesById[3] = "DEBUG"] = 3; return values; })(); return UserAgent; })(); ClientPayload.WebInfo = (function() { /** * Properties of a WebInfo. * @memberof proto.ClientPayload * @interface IWebInfo * @property {string|null} [refToken] WebInfo refToken * @property {string|null} [version] WebInfo version * @property {proto.ClientPayload.WebInfo.IWebdPayload|null} [webdPayload] WebInfo webdPayload * @property {proto.ClientPayload.WebInfo.WebSubPlatform|null} [webSubPlatform] WebInfo webSubPlatform */ /** * Constructs a new WebInfo. * @memberof proto.ClientPayload * @classdesc Represents a WebInfo. * @implements IWebInfo * @constructor * @param {proto.ClientPayload.IWebInfo=} [properties] Properties to set */ function WebInfo(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]]; } /** * WebInfo refToken. * @member {string} refToken * @memberof proto.ClientPayload.WebInfo * @instance */ WebInfo.prototype.refToken = ""; /** * WebInfo version. * @member {string} version * @memberof proto.ClientPayload.WebInfo * @instance */ WebInfo.prototype.version = ""; /** * WebInfo webdPayload. * @member {proto.ClientPayload.WebInfo.IWebdPayload|null|undefined} webdPayload * @memberof proto.ClientPayload.WebInfo * @instance */ WebInfo.prototype.webdPayload = null; /** * WebInfo webSubPlatform. * @member {proto.ClientPayload.WebInfo.WebSubPlatform} webSubPlatform * @memberof proto.ClientPayload.WebInfo * @instance */ WebInfo.prototype.webSubPlatform = 0; /** * Creates a new WebInfo instance using the specified properties. * @function create * @memberof proto.ClientPayload.WebInfo * @static * @param {proto.ClientPayload.IWebInfo=} [properties] Properties to set * @returns {proto.ClientPayload.WebInfo} WebInfo instance */ WebInfo.create = function create(properties) { return new WebInfo(properties); }; /** * Encodes the specified WebInfo message. Does not implicitly {@link proto.ClientPayload.WebInfo.verify|verify} messages. * @function encode * @memberof proto.ClientPayload.WebInfo * @static * @param {proto.ClientPayload.IWebInfo} message WebInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WebInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.refToken != null && Object.hasOwnProperty.call(message, "refToken")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.refToken); if (message.version != null && Object.hasOwnProperty.call(message, "version")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.version); if (message.webdPayload != null && Object.hasOwnProperty.call(message, "webdPayload")) $root.proto.ClientPayload.WebInfo.WebdPayload.encode(message.webdPayload, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.webSubPlatform != null && Object.hasOwnProperty.call(message, "webSubPlatform")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.webSubPlatform); return writer; }; /** * Encodes the specified WebInfo message, length delimited. Does not implicitly {@link proto.ClientPayload.WebInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.ClientPayload.WebInfo * @static * @param {proto.ClientPayload.IWebInfo} message WebInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WebInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a WebInfo message from the specified reader or buffer. * @function decode * @memberof proto.ClientPayload.WebInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ClientPayload.WebInfo} WebInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WebInfo.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.ClientPayload.WebInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.refToken = reader.string(); break; case 2: message.version = reader.string(); break; case 3: message.webdPayload = $root.proto.ClientPayload.WebInfo.WebdPayload.decode(reader, reader.uint32()); break; case 4: message.webSubPlatform = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a WebInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ClientPayload.WebInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ClientPayload.WebInfo} WebInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WebInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a WebInfo message. * @function verify * @memberof proto.ClientPayload.WebInfo * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ WebInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.refToken != null && message.hasOwnProperty("refToken")) if (!$util.isString(message.refToken)) return "refToken: string expected"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; if (message.webdPayload != null && message.hasOwnProperty("webdPayload")) { var error = $root.proto.ClientPayload.WebInfo.WebdPayload.verify(message.webdPayload); if (error) return "webdPayload." + error; } if (message.webSubPlatform != null && message.hasOwnProperty("webSubPlatform")) switch (message.webSubPlatform) { default: return "webSubPlatform: enum value expected"; case 0: case 1: case 2: case 3: case 4: break; } return null; }; /** * Creates a WebInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ClientPayload.WebInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ClientPayload.WebInfo} WebInfo */ WebInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.ClientPayload.WebInfo) return object; var message = new $root.proto.ClientPayload.WebInfo(); if (object.refToken != null) message.refToken = String(object.refToken); if (object.version != null) message.version = String(object.version); if (object.webdPayload != null) { if (typeof object.webdPayload !== "object") throw TypeError(".proto.ClientPayload.WebInfo.webdPayload: object expected"); message.webdPayload = $root.proto.ClientPayload.WebInfo.WebdPayload.fromObject(object.webdPayload); } switch (object.webSubPlatform) { case "WEB_BROWSER": case 0: message.webSubPlatform = 0; break; case "APP_STORE": case 1: message.webSubPlatform = 1; break; case "WIN_STORE": case 2: message.webSubPlatform = 2; break; case "DARWIN": case 3: message.webSubPlatform = 3; break; case "WIN32": case 4: message.webSubPlatform = 4; break; } return message; }; /** * Creates a plain object from a WebInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.ClientPayload.WebInfo * @static * @param {proto.ClientPayload.WebInfo} message WebInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ WebInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.refToken = ""; object.version = ""; object.webdPayload = null; object.webSubPlatform = options.enums === String ? "WEB_BROWSER" : 0; } if (message.refToken != null && message.hasOwnProperty("refToken")) object.refToken = message.refToken; if (message.version != null && message.hasOwnProperty("version")) object.version = message.version; if (message.webdPayload != null && message.hasOwnProperty("webdPayload")) object.webdPayload = $root.proto.ClientPayload.WebInfo.WebdPayload.toObject(message.webdPayload, options); if (message.webSubPlatform != null && message.hasOwnProperty("webSubPlatform")) object.webSubPlatform = options.enums === String ? $root.proto.ClientPayload.WebInfo.WebSubPlatform[message.webSubPlatform] : message.webSubPlatform; return object; }; /** * Converts this WebInfo to JSON. * @function toJSON * @memberof proto.ClientPayload.WebInfo * @instance * @returns {Object.<string,*>} JSON object */ WebInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * WebSubPlatform enum. * @name proto.ClientPayload.WebInfo.WebSubPlatform * @enum {number} * @property {number} WEB_BROWSER=0 WEB_BROWSER value * @property {number} APP_STORE=1 APP_STORE value * @property {number} WIN_STORE=2 WIN_STORE value * @property {number} DARWIN=3 DARWIN value * @property {number} WIN32=4 WIN32 value */ WebInfo.WebSubPlatform = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "WEB_BROWSER"] = 0; values[valuesById[1] = "APP_STORE"] = 1; values[valuesById[2] = "WIN_STORE"] = 2; values[valuesById[3] = "DARWIN"] = 3; values[valuesById[4] = "WIN32"] = 4; return values; })(); WebInfo.WebdPayload = (function() { /** * Properties of a WebdPayload. * @memberof proto.ClientPayload.WebInfo * @interface IWebdPayload * @property {boolean|null} [usesParticipantInKey] WebdPayload usesParticipantInKey * @property {boolean|null} [supportsStarredMessages] WebdPayload supportsStarredMessages * @property {boolean|null} [supportsDocumentMessages] WebdPayload supportsDocumentMessages * @property {boolean|null} [supportsUrlMessages] WebdPayload supportsUrlMessages * @property {boolean|null} [supportsMediaRetry] WebdPayload supportsMediaRetry * @property {boolean|null} [supportsE2EImage] WebdPayload supportsE2EImage * @property {boolean|null} [supportsE2EVideo] WebdPayload supportsE2EVideo * @property {boolean|null} [supportsE2EAudio] WebdPayload supportsE2EAudio * @property {boolean|null} [supportsE2EDocument] WebdPayload supportsE2EDocument * @property {string|null} [documentTypes] WebdPayload documentTypes * @property {Uint8Array|null} [features] WebdPayload features */ /** * Constructs a new WebdPayload. * @memberof proto.ClientPayload.WebInfo * @classdesc Represents a WebdPayload. * @implements IWebdPayload * @constructor * @param {proto.ClientPayload.WebInfo.IWebdPayload=} [properties] Properties to set */ function WebdPayload(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]]; } /** * WebdPayload usesParticipantInKey. * @member {boolean} usesParticipantInKey * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.usesParticipantInKey = false; /** * WebdPayload supportsStarredMessages. * @member {boolean} supportsStarredMessages * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.supportsStarredMessages = false; /** * WebdPayload supportsDocumentMessages. * @member {boolean} supportsDocumentMessages * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.supportsDocumentMessages = false; /** * WebdPayload supportsUrlMessages. * @member {boolean} supportsUrlMessages * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.supportsUrlMessages = false; /** * WebdPayload supportsMediaRetry. * @member {boolean} supportsMediaRetry * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.supportsMediaRetry = false; /** * WebdPayload supportsE2EImage. * @member {boolean} supportsE2EImage * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.supportsE2EImage = false; /** * WebdPayload supportsE2EVideo. * @member {boolean} supportsE2EVideo * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.supportsE2EVideo = false; /** * WebdPayload supportsE2EAudio. * @member {boolean} supportsE2EAudio * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.supportsE2EAudio = false; /** * WebdPayload supportsE2EDocument. * @member {boolean} supportsE2EDocument * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.supportsE2EDocument = false; /** * WebdPayload documentTypes. * @member {string} documentTypes * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.documentTypes = ""; /** * WebdPayload features. * @member {Uint8Array} features * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance */ WebdPayload.prototype.features = $util.newBuffer([]); /** * Creates a new WebdPayload instance using the specified properties. * @function create * @memberof proto.ClientPayload.WebInfo.WebdPayload * @static * @param {proto.ClientPayload.WebInfo.IWebdPayload=} [properties] Properties to set * @returns {proto.ClientPayload.WebInfo.WebdPayload} WebdPayload instance */ WebdPayload.create = function create(properties) { return new WebdPayload(properties); }; /** * Encodes the specified WebdPayload message. Does not implicitly {@link proto.ClientPayload.WebInfo.WebdPayload.verify|verify} messages. * @function encode * @memberof proto.ClientPayload.WebInfo.WebdPayload * @static * @param {proto.ClientPayload.WebInfo.IWebdPayload} message WebdPayload message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WebdPayload.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.usesParticipantInKey != null && Object.hasOwnProperty.call(message, "usesParticipantInKey")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.usesParticipantInKey); if (message.supportsStarredMessages != null && Object.hasOwnProperty.call(message, "supportsStarredMessages")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.supportsStarredMessages); if (message.supportsDocumentMessages != null && Object.hasOwnProperty.call(message, "supportsDocumentMessages")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.supportsDocumentMessages); if (message.supportsUrlMessages != null && Object.hasOwnProperty.call(message, "supportsUrlMessages")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.supportsUrlMessages); if (message.supportsMediaRetry != null && Object.hasOwnProperty.call(message, "supportsMediaRetry")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.supportsMediaRetry); if (message.supportsE2EImage != null && Object.hasOwnProperty.call(message, "supportsE2EImage")) writer.uint32(/* id 6, wireType 0 =*/48).bool(message.supportsE2EImage); if (message.supportsE2EVideo != null && Object.hasOwnProperty.call(message, "supportsE2EVideo")) writer.uint32(/* id 7, wireType 0 =*/56).bool(message.supportsE2EVideo); if (message.supportsE2EAudio != null && Object.hasOwnProperty.call(message, "supportsE2EAudio")) writer.uint32(/* id 8, wireType 0 =*/64).bool(message.supportsE2EAudio); if (message.supportsE2EDocument != null && Object.hasOwnProperty.call(message, "supportsE2EDocument")) writer.uint32(/* id 9, wireType 0 =*/72).bool(message.supportsE2EDocument); if (message.documentTypes != null && Object.hasOwnProperty.call(message, "documentTypes")) writer.uint32(/* id 10, wireType 2 =*/82).string(message.documentTypes); if (message.features != null && Object.hasOwnProperty.call(message, "features")) writer.uint32(/* id 11, wireType 2 =*/90).bytes(message.features); return writer; }; /** * Encodes the specified WebdPayload message, length delimited. Does not implicitly {@link proto.ClientPayload.WebInfo.WebdPayload.verify|verify} messages. * @function encodeDelimited * @memberof proto.ClientPayload.WebInfo.WebdPayload * @static * @param {proto.ClientPayload.WebInfo.IWebdPayload} message WebdPayload message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WebdPayload.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a WebdPayload message from the specified reader or buffer. * @function decode * @memberof proto.ClientPayload.WebInfo.WebdPayload * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ClientPayload.WebInfo.WebdPayload} WebdPayload * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WebdPayload.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.ClientPayload.WebInfo.WebdPayload(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.usesParticipantInKey = reader.bool(); break; case 2: message.supportsStarredMessages = reader.bool(); break; case 3: message.supportsDocumentMessages = reader.bool(); break; case 4: message.supportsUrlMessages = reader.bool(); break; case 5: message.supportsMediaRetry = reader.bool(); break; case 6: message.supportsE2EImage = reader.bool(); break; case 7: message.supportsE2EVideo = reader.bool(); break; case 8: message.supportsE2EAudio = reader.bool(); break; case 9: message.supportsE2EDocument = reader.bool(); break; case 10: message.documentTypes = reader.string(); break; case 11: message.features = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a WebdPayload message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ClientPayload.WebInfo.WebdPayload * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ClientPayload.WebInfo.WebdPayload} WebdPayload * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WebdPayload.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a WebdPayload message. * @function verify * @memberof proto.ClientPayload.WebInfo.WebdPayload * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ WebdPayload.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.usesParticipantInKey != null && message.hasOwnProperty("usesParticipantInKey")) if (typeof message.usesParticipantInKey !== "boolean") return "usesParticipantInKey: boolean expected"; if (message.supportsStarredMessages != null && message.hasOwnProperty("supportsStarredMessages")) if (typeof message.supportsStarredMessages !== "boolean") return "supportsStarredMessages: boolean expected"; if (message.supportsDocumentMessages != null && message.hasOwnProperty("supportsDocumentMessages")) if (typeof message.supportsDocumentMessages !== "boolean") return "supportsDocumentMessages: boolean expected"; if (message.supportsUrlMessages != null && message.hasOwnProperty("supportsUrlMessages")) if (typeof message.supportsUrlMessages !== "boolean") return "supportsUrlMessages: boolean expected"; if (message.supportsMediaRetry != null && message.hasOwnProperty("supportsMediaRetry")) if (typeof message.supportsMediaRetry !== "boolean") return "supportsMediaRetry: boolean expected"; if (message.supportsE2EImage != null && message.hasOwnProperty("supportsE2EImage")) if (typeof message.supportsE2EImage !== "boolean") return "supportsE2EImage: boolean expected"; if (message.supportsE2EVideo != null && message.hasOwnProperty("supportsE2EVideo")) if (typeof message.supportsE2EVideo !== "boolean") return "supportsE2EVideo: boolean expected"; if (message.supportsE2EAudio != null && message.hasOwnProperty("supportsE2EAudio")) if (typeof message.supportsE2EAudio !== "boolean") return "supportsE2EAudio: boolean expected"; if (message.supportsE2EDocument != null && message.hasOwnProperty("supportsE2EDocument")) if (typeof message.supportsE2EDocument !== "boolean") return "supportsE2EDocument: boolean expected"; if (message.documentTypes != null && message.hasOwnProperty("documentTypes")) if (!$util.isString(message.documentTypes)) return "documentTypes: string expected"; if (message.features != null && message.hasOwnProperty("features")) if (!(message.features && typeof message.features.length === "number" || $util.isString(message.features))) return "features: buffer expected"; return null; }; /** * Creates a WebdPayload message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ClientPayload.WebInfo.WebdPayload * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ClientPayload.WebInfo.WebdPayload} WebdPayload */ WebdPayload.fromObject = function fromObject(object) { if (object instanceof $root.proto.ClientPayload.WebInfo.WebdPayload) return object; var message = new $root.proto.ClientPayload.WebInfo.WebdPayload(); if (object.usesParticipantInKey != null) message.usesParticipantInKey = Boolean(object.usesParticipantInKey); if (object.supportsStarredMessages != null) message.supportsStarredMessages = Boolean(object.supportsStarredMessages); if (object.supportsDocumentMessages != null) message.supportsDocumentMessages = Boolean(object.supportsDocumentMessages); if (object.supportsUrlMessages != null) message.supportsUrlMessages = Boolean(object.supportsUrlMessages); if (object.supportsMediaRetry != null) message.supportsMediaRetry = Boolean(object.supportsMediaRetry); if (object.supportsE2EImage != null) message.supportsE2EImage = Boolean(object.supportsE2EImage); if (object.supportsE2EVideo != null) message.supportsE2EVideo = Boolean(object.supportsE2EVideo); if (object.supportsE2EAudio != null) message.supportsE2EAudio = Boolean(object.supportsE2EAudio); if (object.supportsE2EDocument != null) message.supportsE2EDocument = Boolean(object.supportsE2EDocument); if (object.documentTypes != null) message.documentTypes = String(object.documentTypes); if (object.features != null) if (typeof object.features === "string") $util.base64.decode(object.features, message.features = $util.newBuffer($util.base64.length(object.features)), 0); else if (object.features.length) message.features = object.features; return message; }; /** * Creates a plain object from a WebdPayload message. Also converts values to other types if specified. * @function toObject * @memberof proto.ClientPayload.WebInfo.WebdPayload * @static * @param {proto.ClientPayload.WebInfo.WebdPayload} message WebdPayload * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ WebdPayload.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.usesParticipantInKey = false; object.supportsStarredMessages = false; object.supportsDocumentMessages = false; object.supportsUrlMessages = false; object.supportsMediaRetry = false; object.supportsE2EImage = false; object.supportsE2EVideo = false; object.supportsE2EAudio = false; object.supportsE2EDocument = false; object.documentTypes = ""; if (options.bytes === String) object.features = ""; else { object.features = []; if (options.bytes !== Array) object.features = $util.newBuffer(object.features); } } if (message.usesParticipantInKey != null && message.hasOwnProperty("usesParticipantInKey")) object.usesParticipantInKey = message.usesParticipantInKey; if (message.supportsStarredMessages != null && message.hasOwnProperty("supportsStarredMessages")) object.supportsStarredMessages = message.supportsStarredMessages; if (message.supportsDocumentMessages != null && message.hasOwnProperty("supportsDocumentMessages")) object.supportsDocumentMessages = message.supportsDocumentMessages; if (message.supportsUrlMessages != null && message.hasOwnProperty("supportsUrlMessages")) object.supportsUrlMessages = message.supportsUrlMessages; if (message.supportsMediaRetry != null && message.hasOwnProperty("supportsMediaRetry")) object.supportsMediaRetry = message.supportsMediaRetry; if (message.supportsE2EImage != null && message.hasOwnProperty("supportsE2EImage")) object.supportsE2EImage = message.supportsE2EImage; if (message.supportsE2EVideo != null && message.hasOwnProperty("supportsE2EVideo")) object.supportsE2EVideo = message.supportsE2EVideo; if (message.supportsE2EAudio != null && message.hasOwnProperty("supportsE2EAudio")) object.supportsE2EAudio = message.supportsE2EAudio; if (message.supportsE2EDocument != null && message.hasOwnProperty("supportsE2EDocument")) object.supportsE2EDocument = message.supportsE2EDocument; if (message.documentTypes != null && message.hasOwnProperty("documentTypes")) object.documentTypes = message.documentTypes; if (message.features != null && message.hasOwnProperty("features")) object.features = options.bytes === String ? $util.base64.encode(message.features, 0, message.features.length) : options.bytes === Array ? Array.prototype.slice.call(message.features) : message.features; return object; }; /** * Converts this WebdPayload to JSON. * @function toJSON * @memberof proto.ClientPayload.WebInfo.WebdPayload * @instance * @returns {Object.<string,*>} JSON object */ WebdPayload.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return WebdPayload; })(); return WebInfo; })(); return ClientPayload; })(); 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.<string>|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.ContextInfo.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.ContextInfo.IExternalAdReplyInfo|null} [externalAdReply] ContextInfo externalAdReply * @property {string|null} [entryPointConversionSource] ContextInfo entryPointConversionSource * @property {string|null} [entryPointConversionApp] ContextInfo entryPointConversionApp * @property {number|null} [entryPointConversionDelaySeconds] ContextInfo entryPointConversionDelaySeconds * @property {proto.IDisappearingMode|null} [disappearingMode] ContextInfo disappearingMode * @property {proto.IActionLink|null} [actionLink] ContextInfo actionLink * @property {string|null} [groupSubject] ContextInfo groupSubject * @property {string|null} [parentGroupJid] ContextInfo parentGroupJid * @property {string|null} [trustBannerType] ContextInfo trustBannerType * @property {number|null} [trustBannerAction] ContextInfo trustBannerAction * @property {boolean|null} [isSampled] ContextInfo isSampled * @property {Array.<proto.IGroupMention>|null} [groupMentions] ContextInfo groupMentions * @property {proto.ContextInfo.IUTMInfo|null} [utm] ContextInfo utm * @property {proto.ContextInfo.IForwardedNewsletterMessageInfo|null} [forwardedNewsletterMessageInfo] ContextInfo forwardedNewsletterMessageInfo * @property {proto.ContextInfo.IBusinessMessageForwardInfo|null} [businessMessageForwardInfo] ContextInfo businessMessageForwardInfo */ /** * 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 = []; this.groupMentions = []; 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.<string>} 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.ContextInfo.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.ContextInfo.IExternalAdReplyInfo|null|undefined} externalAdReply * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.externalAdReply = null; /** * ContextInfo entryPointConversionSource. * @member {string} entryPointConversionSource * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.entryPointConversionSource = ""; /** * ContextInfo entryPointConversionApp. * @member {string} entryPointConversionApp * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.entryPointConversionApp = ""; /** * ContextInfo entryPointConversionDelaySeconds. * @member {number} entryPointConversionDelaySeconds * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.entryPointConversionDelaySeconds = 0; /** * ContextInfo disappearingMode. * @member {proto.IDisappearingMode|null|undefined} disappearingMode * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.disappearingMode = null; /** * ContextInfo actionLink. * @member {proto.IActionLink|null|undefined} actionLink * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.actionLink = null; /** * ContextInfo groupSubject. * @member {string} groupSubject * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.groupSubject = ""; /** * ContextInfo parentGroupJid. * @member {string} parentGroupJid * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.parentGroupJid = ""; /** * ContextInfo trustBannerType. * @member {string} trustBannerType * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.trustBannerType = ""; /** * ContextInfo trustBannerAction. * @member {number} trustBannerAction * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.trustBannerAction = 0; /** * ContextInfo isSampled. * @member {boolean} isSampled * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.isSampled = false; /** * ContextInfo groupMentions. * @member {Array.<proto.IGroupMention>} groupMentions * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.groupMentions = $util.emptyArray; /** * ContextInfo utm. * @member {proto.ContextInfo.IUTMInfo|null|undefined} utm * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.utm = null; /** * ContextInfo forwardedNewsletterMessageInfo. * @member {proto.ContextInfo.IForwardedNewsletterMessageInfo|null|undefined} forwardedNewsletterMessageInfo * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.forwardedNewsletterMessageInfo = null; /** * ContextInfo businessMessageForwardInfo. * @member {proto.ContextInfo.IBusinessMessageForwardInfo|null|undefined} businessMessageForwardInfo * @memberof proto.ContextInfo * @instance */ ContextInfo.prototype.businessMessageForwardInfo = 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.ContextInfo.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.ContextInfo.ExternalAdReplyInfo.encode(message.externalAdReply, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); if (message.entryPointConversionSource != null && Object.hasOwnProperty.call(message, "entryPointConversionSource")) writer.uint32(/* id 29, wireType 2 =*/234).string(message.entryPointConversionSource); if (message.entryPointConversionApp != null && Object.hasOwnProperty.call(message, "entryPointConversionApp")) writer.uint32(/* id 30, wireType 2 =*/242).string(message.entryPointConversionApp); if (message.entryPointConversionDelaySeconds != null && Object.hasOwnProperty.call(message, "entryPointConversionDelaySeconds")) writer.uint32(/* id 31, wireType 0 =*/248).uint32(message.entryPointConversionDelaySeconds); if (message.disappearingMode != null && Object.hasOwnProperty.call(message, "disappearingMode")) $root.proto.DisappearingMode.encode(message.disappearingMode, writer.uint32(/* id 32, wireType 2 =*/258).fork()).ldelim(); if (message.actionLink != null && Object.hasOwnProperty.call(message, "actionLink")) $root.proto.ActionLink.encode(message.actionLink, writer.uint32(/* id 33, wireType 2 =*/266).fork()).ldelim(); if (message.groupSubject != null && Object.hasOwnProperty.call(message, "groupSubject")) writer.uint32(/* id 34, wireType 2 =*/274).string(message.groupSubject); if (message.parentGroupJid != null && Object.hasOwnProperty.call(message, "parentGroupJid")) writer.uint32(/* id 35, wireType 2 =*/282).string(message.parentGroupJid); if (message.trustBannerType != null && Object.hasOwnProperty.call(message, "trustBannerType")) writer.uint32(/* id 37, wireType 2 =*/298).string(message.trustBannerType); if (message.trustBannerAction != null && Object.hasOwnProperty.call(message, "trustBannerAction")) writer.uint32(/* id 38, wireType 0 =*/304).uint32(message.trustBannerAction); if (message.isSampled != null && Object.hasOwnProperty.call(message, "isSampled")) writer.uint32(/* id 39, wireType 0 =*/312).bool(message.isSampled); if (message.groupMentions != null && message.groupMentions.length) for (var i = 0; i < message.groupMentions.length; ++i) $root.proto.GroupMention.encode(message.groupMentions[i], writer.uint32(/* id 40, wireType 2 =*/322).fork()).ldelim(); if (message.utm != null && Object.hasOwnProperty.call(message, "utm")) $root.proto.ContextInfo.UTMInfo.encode(message.utm, writer.uint32(/* id 41, wireType 2 =*/330).fork()).ldelim(); if (message.forwardedNewsletterMessageInfo != null && Object.hasOwnProperty.call(message, "forwardedNewsletterMessageInfo")) $root.proto.ContextInfo.ForwardedNewsletterMessageInfo.encode(message.forwardedNewsletterMessageInfo, writer.uint32(/* id 43, wireType 2 =*/346).fork()).ldelim(); if (message.businessMessageForwardInfo != null && Object.hasOwnProperty.call(message, "businessMessageForwardInfo")) $root.proto.ContextInfo.BusinessMessageForwardInfo.encode(message.businessMessageForwardInfo, writer.uint32(/* id 44, wireType 2 =*/354).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.ContextInfo.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.ContextInfo.ExternalAdReplyInfo.decode(reader, reader.uint32()); break; case 29: message.entryPointConversionSource = reader.string(); break; case 30: message.entryPointConversionApp = reader.string(); break; case 31: message.entryPointConversionDelaySeconds = reader.uint32(); break; case 32: message.disappearingMode = $root.proto.DisappearingMode.decode(reader, reader.uint32()); break; case 33: message.actionLink = $root.proto.ActionLink.decode(reader, reader.uint32()); break; case 34: message.groupSubject = reader.string(); break; case 35: message.parentGroupJid = reader.string(); break; case 37: message.trustBannerType = reader.string(); break; case 38: message.trustBannerAction = reader.uint32(); break; case 39: message.isSampled = reader.bool(); break; case 40: if (!(message.groupMentions && message.groupMentions.length)) message.groupMentions = []; message.groupMentions.push($root.proto.GroupMention.decode(reader, reader.uint32())); break; case 41: message.utm = $root.proto.ContextInfo.UTMInfo.decode(reader, reader.uint32()); break; case 43: message.forwardedNewsletterMessageInfo = $root.proto.ContextInfo.ForwardedNewsletterMessageInfo.decode(reader, reader.uint32()); break; case 44: message.businessMessageForwardInfo = $root.proto.ContextInfo.BusinessMessageForwardInfo.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.<string,*>} 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.ContextInfo.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.ContextInfo.ExternalAdReplyInfo.verify(message.externalAdReply); if (error) return "externalAdReply." + error; } if (message.entryPointConversionSource != null && message.hasOwnProperty("entryPointConversionSource")) if (!$util.isString(message.entryPointConversionSource)) return "entryPointConversionSource: string expected"; if (message.entryPointConversionApp != null && message.hasOwnProperty("entryPointConversionApp")) if (!$util.isString(message.entryPointConversionApp)) return "entryPointConversionApp: string expected"; if (message.entryPointConversionDelaySeconds != null && message.hasOwnProperty("entryPointConversionDelaySeconds")) if (!$util.isInteger(message.entryPointConversionDelaySeconds)) return "entryPointConversionDelaySeconds: integer expected"; if (message.disappearingMode != null && message.hasOwnProperty("disappearingMode")) { var error = $root.proto.DisappearingMode.verify(message.disappearingMode); if (error) return "disappearingMode." + error; } if (message.actionLink != null && message.hasOwnProperty("actionLink")) { var error = $root.proto.ActionLink.verify(message.actionLink); if (error) return "actionLink." + error; } if (message.groupSubject != null && message.hasOwnProperty("groupSubject")) if (!$util.isString(message.groupSubject)) return "groupSubject: string expected"; if (message.parentGroupJid != null && message.hasOwnProperty("parentGroupJid")) if (!$util.isString(message.parentGroupJid)) return "parentGroupJid: string expected"; if (message.trustBannerType != null && message.hasOwnProperty("trustBannerType")) if (!$util.isString(message.trustBannerType)) return "trustBannerType: string expected"; if (message.trustBannerAction != null && message.hasOwnProperty("trustBannerAction")) if (!$util.isInteger(message.trustBannerAction)) return "trustBannerAction: integer expected"; if (message.isSampled != null && message.hasOwnProperty("isSampled")) if (typeof message.isSampled !== "boolean") return "isSampled: boolean expected"; if (message.groupMentions != null && message.hasOwnProperty("groupMentions")) { if (!Array.isArray(message.groupMentions)) return "groupMentions: array expected"; for (var i = 0; i < message.groupMentions.length; ++i) { var error = $root.proto.GroupMention.verify(message.groupMentions[i]); if (error) return "groupMentions." + error; } } if (message.utm != null && message.hasOwnProperty("utm")) { var error = $root.proto.ContextInfo.UTMInfo.verify(message.utm); if (error) return "utm." + error; } if (message.forwardedNewsletterMessageInfo != null && message.hasOwnProperty("forwardedNewsletterMessageInfo")) { var error = $root.proto.ContextInfo.ForwardedNewsletterMessageInfo.verify(message.forwardedNewsletterMessageInfo); if (error) return "forwardedNewsletterMessageInfo." + error; } if (message.businessMessageForwardInfo != null && message.hasOwnProperty("businessMessageForwardInfo")) { var error = $root.proto.ContextInfo.BusinessMessageForwardInfo.verify(message.businessMessageForwardInfo); if (error) return "businessMessageForwardInfo." + 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.<string,*>} 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.ContextInfo.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.ContextInfo.ExternalAdReplyInfo.fromObject(object.externalAdReply); } if (object.entryPointConversionSource != null) message.entryPointConversionSource = String(object.entryPointConversionSource); if (object.entryPointConversionApp != null) message.entryPointConversionApp = String(object.entryPointConversionApp); if (object.entryPointConversionDelaySeconds != null) message.entryPointConversionDelaySeconds = object.entryPointConversionDelaySeconds >>> 0; if (object.disappearingMode != null) { if (typeof object.disappearingMode !== "object") throw TypeError(".proto.ContextInfo.disappearingMode: object expected"); message.disappearingMode = $root.proto.DisappearingMode.fromObject(object.disappearingMode); } if (object.actionLink != null) { if (typeof object.actionLink !== "object") throw TypeError(".proto.ContextInfo.actionLink: object expected"); message.actionLink = $root.proto.ActionLink.fromObject(object.actionLink); } if (object.groupSubject != null) message.groupSubject = String(object.groupSubject); if (object.parentGroupJid != null) message.parentGroupJid = String(object.parentGroupJid); if (object.trustBannerType != null) message.trustBannerType = String(object.trustBannerType); if (object.trustBannerAction != null) message.trustBannerAction = object.trustBannerAction >>> 0; if (object.isSampled != null) message.isSampled = Boolean(object.isSampled); if (object.groupMentions) { if (!Array.isArray(object.groupMentions)) throw TypeError(".proto.ContextInfo.groupMentions: array expected"); message.groupMentions = []; for (var i = 0; i < object.groupMentions.length; ++i) { if (typeof object.groupMentions[i] !== "object") throw TypeError(".proto.ContextInfo.groupMentions: object expected"); message.groupMentions[i] = $root.proto.GroupMention.fromObject(object.groupMentions[i]); } } if (object.utm != null) { if (typeof object.utm !== "object") throw TypeError(".proto.ContextInfo.utm: object expected"); message.utm = $root.proto.ContextInfo.UTMInfo.fromObject(object.utm); } if (object.forwardedNewsletterMessageInfo != null) { if (typeof object.forwardedNewsletterMessageInfo !== "object") throw TypeError(".proto.ContextInfo.forwardedNewsletterMessageInfo: object expected"); message.forwardedNewsletterMessageInfo = $root.proto.ContextInfo.ForwardedNewsletterMessageInfo.fromObject(object.forwardedNewsletterMessageInfo); } if (object.businessMessageForwardInfo != null) { if (typeof object.businessMessageForwardInfo !== "object") throw TypeError(".proto.ContextInfo.businessMessageForwardInfo: object expected"); message.businessMessageForwardInfo = $root.proto.ContextInfo.BusinessMessageForwardInfo.fromObject(object.businessMessageForwardInfo); } 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.<string,*>} Plain object */ ContextInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.mentionedJid = []; object.groupMentions = []; } 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; object.entryPointConversionSource = ""; object.entryPointConversionApp = ""; object.entryPointConversionDelaySeconds = 0; object.disappearingMode = null; object.actionLink = null; object.groupSubject = ""; object.parentGroupJid = ""; object.trustBannerType = ""; object.trustBannerAction = 0; object.isSampled = false; object.utm = null; object.forwardedNewsletterMessageInfo = null; object.businessMessageForwardInfo = 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.ContextInfo.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.ContextInfo.ExternalAdReplyInfo.toObject(message.externalAdReply, options); if (message.entryPointConversionSource != null && message.hasOwnProperty("entryPointConversionSource")) object.entryPointConversionSource = message.entryPointConversionSource; if (message.entryPointConversionApp != null && message.hasOwnProperty("entryPointConversionApp")) object.entryPointConversionApp = message.entryPointConversionApp; if (message.entryPointConversionDelaySeconds != null && message.hasOwnProperty("entryPointConversionDelaySeconds")) object.entryPointConversionDelaySeconds = message.entryPointConversionDelaySeconds; if (message.disappearingMode != null && message.hasOwnProperty("disappearingMode")) object.disappearingMode = $root.proto.DisappearingMode.toObject(message.disappearingMode, options); if (message.actionLink != null && message.hasOwnProperty("actionLink")) object.actionLink = $root.proto.ActionLink.toObject(message.actionLink, options); if (message.groupSubject != null && message.hasOwnProperty("groupSubject")) object.groupSubject = message.groupSubject; if (message.parentGroupJid != null && message.hasOwnProperty("parentGroupJid")) object.parentGroupJid = message.parentGroupJid; if (message.trustBannerType != null && message.hasOwnProperty("trustBannerType")) object.trustBannerType = message.trustBannerType; if (message.trustBannerAction != null && message.hasOwnProperty("trustBannerAction")) object.trustBannerAction = message.trustBannerAction; if (message.isSampled != null && message.hasOwnProperty("isSampled")) object.isSampled = message.isSampled; if (message.groupMentions && message.groupMentions.length) { object.groupMentions = []; for (var j = 0; j < message.groupMentions.length; ++j) object.groupMentions[j] = $root.proto.GroupMention.toObject(message.groupMentions[j], options); } if (message.utm != null && message.hasOwnProperty("utm")) object.utm = $root.proto.ContextInfo.UTMInfo.toObject(message.utm, options); if (message.forwardedNewsletterMessageInfo != null && message.hasOwnProperty("forwardedNewsletterMessageInfo")) object.forwardedNewsletterMessageInfo = $root.proto.ContextInfo.ForwardedNewsletterMessageInfo.toObject(message.forwardedNewsletterMessageInfo, options); if (message.businessMessageForwardInfo != null && message.hasOwnProperty("businessMessageForwardInfo")) object.businessMessageForwardInfo = $root.proto.ContextInfo.BusinessMessageForwardInfo.toObject(message.businessMessageForwardInfo, options); return object; }; /** * Converts this ContextInfo to JSON. * @function toJSON * @memberof proto.ContextInfo * @instance * @returns {Object.<string,*>} JSON object */ ContextInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; ContextInfo.AdReplyInfo = (function() { /** * Properties of an AdReplyInfo. * @memberof proto.ContextInfo * @interface IAdReplyInfo * @property {string|null} [advertiserName] AdReplyInfo advertiserName * @property {proto.ContextInfo.AdReplyInfo.MediaType|null} [mediaType] AdReplyInfo mediaType * @property {Uint8Array|null} [jpegThumbnail] AdReplyInfo jpegThumbnail * @property {string|null} [caption] AdReplyInfo caption */ /** * Constructs a new AdReplyInfo. * @memberof proto.ContextInfo * @classdesc Represents an AdReplyInfo. * @implements IAdReplyInfo * @constructor * @param {proto.ContextInfo.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.ContextInfo.AdReplyInfo * @instance */ AdReplyInfo.prototype.advertiserName = ""; /** * AdReplyInfo mediaType. * @member {proto.ContextInfo.AdReplyInfo.MediaType} mediaType * @memberof proto.ContextInfo.AdReplyInfo * @instance */ AdReplyInfo.prototype.mediaType = 0; /** * AdReplyInfo jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.ContextInfo.AdReplyInfo * @instance */ AdReplyInfo.prototype.jpegThumbnail = $util.newBuffer([]); /** * AdReplyInfo caption. * @member {string} caption * @memberof proto.ContextInfo.AdReplyInfo * @instance */ AdReplyInfo.prototype.caption = ""; /** * Creates a new AdReplyInfo instance using the specified properties. * @function create * @memberof proto.ContextInfo.AdReplyInfo * @static * @param {proto.ContextInfo.IAdReplyInfo=} [properties] Properties to set * @returns {proto.ContextInfo.AdReplyInfo} AdReplyInfo instance */ AdReplyInfo.create = function create(properties) { return new AdReplyInfo(properties); }; /** * Encodes the specified AdReplyInfo message. Does not implicitly {@link proto.ContextInfo.AdReplyInfo.verify|verify} messages. * @function encode * @memberof proto.ContextInfo.AdReplyInfo * @static * @param {proto.ContextInfo.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.ContextInfo.AdReplyInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.ContextInfo.AdReplyInfo * @static * @param {proto.ContextInfo.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.ContextInfo.AdReplyInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ContextInfo.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.ContextInfo.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.ContextInfo.AdReplyInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ContextInfo.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.ContextInfo.AdReplyInfo * @static * @param {Object.<string,*>} 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.ContextInfo.AdReplyInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ContextInfo.AdReplyInfo} AdReplyInfo */ AdReplyInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.ContextInfo.AdReplyInfo) return object; var message = new $root.proto.ContextInfo.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.ContextInfo.AdReplyInfo * @static * @param {proto.ContextInfo.AdReplyInfo} message AdReplyInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.ContextInfo.AdReplyInfo.MediaType[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.ContextInfo.AdReplyInfo * @instance * @returns {Object.<string,*>} JSON object */ AdReplyInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * MediaType enum. * @name proto.ContextInfo.AdReplyInfo.MediaType * @enum {number} * @property {number} NONE=0 NONE value * @property {number} IMAGE=1 IMAGE value * @property {number} VIDEO=2 VIDEO value */ AdReplyInfo.MediaType = (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; })(); ContextInfo.BusinessMessageForwardInfo = (function() { /** * Properties of a BusinessMessageForwardInfo. * @memberof proto.ContextInfo * @interface IBusinessMessageForwardInfo * @property {string|null} [businessOwnerJid] BusinessMessageForwardInfo businessOwnerJid */ /** * Constructs a new BusinessMessageForwardInfo. * @memberof proto.ContextInfo * @classdesc Represents a BusinessMessageForwardInfo. * @implements IBusinessMessageForwardInfo * @constructor * @param {proto.ContextInfo.IBusinessMessageForwardInfo=} [properties] Properties to set */ function BusinessMessageForwardInfo(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]]; } /** * BusinessMessageForwardInfo businessOwnerJid. * @member {string} businessOwnerJid * @memberof proto.ContextInfo.BusinessMessageForwardInfo * @instance */ BusinessMessageForwardInfo.prototype.businessOwnerJid = ""; /** * Creates a new BusinessMessageForwardInfo instance using the specified properties. * @function create * @memberof proto.ContextInfo.BusinessMessageForwardInfo * @static * @param {proto.ContextInfo.IBusinessMessageForwardInfo=} [properties] Properties to set * @returns {proto.ContextInfo.BusinessMessageForwardInfo} BusinessMessageForwardInfo instance */ BusinessMessageForwardInfo.create = function create(properties) { return new BusinessMessageForwardInfo(properties); }; /** * Encodes the specified BusinessMessageForwardInfo message. Does not implicitly {@link proto.ContextInfo.BusinessMessageForwardInfo.verify|verify} messages. * @function encode * @memberof proto.ContextInfo.BusinessMessageForwardInfo * @static * @param {proto.ContextInfo.IBusinessMessageForwardInfo} message BusinessMessageForwardInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BusinessMessageForwardInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.businessOwnerJid != null && Object.hasOwnProperty.call(message, "businessOwnerJid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.businessOwnerJid); return writer; }; /** * Encodes the specified BusinessMessageForwardInfo message, length delimited. Does not implicitly {@link proto.ContextInfo.BusinessMessageForwardInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.ContextInfo.BusinessMessageForwardInfo * @static * @param {proto.ContextInfo.IBusinessMessageForwardInfo} message BusinessMessageForwardInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BusinessMessageForwardInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a BusinessMessageForwardInfo message from the specified reader or buffer. * @function decode * @memberof proto.ContextInfo.BusinessMessageForwardInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ContextInfo.BusinessMessageForwardInfo} BusinessMessageForwardInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BusinessMessageForwardInfo.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.BusinessMessageForwardInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.businessOwnerJid = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a BusinessMessageForwardInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ContextInfo.BusinessMessageForwardInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ContextInfo.BusinessMessageForwardInfo} BusinessMessageForwardInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BusinessMessageForwardInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a BusinessMessageForwardInfo message. * @function verify * @memberof proto.ContextInfo.BusinessMessageForwardInfo * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ BusinessMessageForwardInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.businessOwnerJid != null && message.hasOwnProperty("businessOwnerJid")) if (!$util.isString(message.businessOwnerJid)) return "businessOwnerJid: string expected"; return null; }; /** * Creates a BusinessMessageForwardInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ContextInfo.BusinessMessageForwardInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ContextInfo.BusinessMessageForwardInfo} BusinessMessageForwardInfo */ BusinessMessageForwardInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.ContextInfo.BusinessMessageForwardInfo) return object; var message = new $root.proto.ContextInfo.BusinessMessageForwardInfo(); if (object.businessOwnerJid != null) message.businessOwnerJid = String(object.businessOwnerJid); return message; }; /** * Creates a plain object from a BusinessMessageForwardInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.ContextInfo.BusinessMessageForwardInfo * @static * @param {proto.ContextInfo.BusinessMessageForwardInfo} message BusinessMessageForwardInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ BusinessMessageForwardInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.businessOwnerJid = ""; if (message.businessOwnerJid != null && message.hasOwnProperty("businessOwnerJid")) object.businessOwnerJid = message.businessOwnerJid; return object; }; /** * Converts this BusinessMessageForwardInfo to JSON. * @function toJSON * @memberof proto.ContextInfo.BusinessMessageForwardInfo * @instance * @returns {Object.<string,*>} JSON object */ BusinessMessageForwardInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return BusinessMessageForwardInfo; })(); ContextInfo.ExternalAdReplyInfo = (function() { /** * Properties of an ExternalAdReplyInfo. * @memberof proto.ContextInfo * @interface IExternalAdReplyInfo * @property {string|null} [title] ExternalAdReplyInfo title * @property {string|null} [body] ExternalAdReplyInfo body * @property {proto.ContextInfo.ExternalAdReplyInfo.MediaType|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 * @property {boolean|null} [containsAutoReply] ExternalAdReplyInfo containsAutoReply * @property {boolean|null} [renderLargerThumbnail] ExternalAdReplyInfo renderLargerThumbnail * @property {boolean|null} [showAdAttribution] ExternalAdReplyInfo showAdAttribution * @property {string|null} [ctwaClid] ExternalAdReplyInfo ctwaClid * @property {string|null} [ref] ExternalAdReplyInfo ref */ /** * Constructs a new ExternalAdReplyInfo. * @memberof proto.ContextInfo * @classdesc Represents an ExternalAdReplyInfo. * @implements IExternalAdReplyInfo * @constructor * @param {proto.ContextInfo.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.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.title = ""; /** * ExternalAdReplyInfo body. * @member {string} body * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.body = ""; /** * ExternalAdReplyInfo mediaType. * @member {proto.ContextInfo.ExternalAdReplyInfo.MediaType} mediaType * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.mediaType = 0; /** * ExternalAdReplyInfo thumbnailUrl. * @member {string} thumbnailUrl * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.thumbnailUrl = ""; /** * ExternalAdReplyInfo mediaUrl. * @member {string} mediaUrl * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.mediaUrl = ""; /** * ExternalAdReplyInfo thumbnail. * @member {Uint8Array} thumbnail * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.thumbnail = $util.newBuffer([]); /** * ExternalAdReplyInfo sourceType. * @member {string} sourceType * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.sourceType = ""; /** * ExternalAdReplyInfo sourceId. * @member {string} sourceId * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.sourceId = ""; /** * ExternalAdReplyInfo sourceUrl. * @member {string} sourceUrl * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.sourceUrl = ""; /** * ExternalAdReplyInfo containsAutoReply. * @member {boolean} containsAutoReply * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.containsAutoReply = false; /** * ExternalAdReplyInfo renderLargerThumbnail. * @member {boolean} renderLargerThumbnail * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.renderLargerThumbnail = false; /** * ExternalAdReplyInfo showAdAttribution. * @member {boolean} showAdAttribution * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.showAdAttribution = false; /** * ExternalAdReplyInfo ctwaClid. * @member {string} ctwaClid * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.ctwaClid = ""; /** * ExternalAdReplyInfo ref. * @member {string} ref * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance */ ExternalAdReplyInfo.prototype.ref = ""; /** * Creates a new ExternalAdReplyInfo instance using the specified properties. * @function create * @memberof proto.ContextInfo.ExternalAdReplyInfo * @static * @param {proto.ContextInfo.IExternalAdReplyInfo=} [properties] Properties to set * @returns {proto.ContextInfo.ExternalAdReplyInfo} ExternalAdReplyInfo instance */ ExternalAdReplyInfo.create = function create(properties) { return new ExternalAdReplyInfo(properties); }; /** * Encodes the specified ExternalAdReplyInfo message. Does not implicitly {@link proto.ContextInfo.ExternalAdReplyInfo.verify|verify} messages. * @function encode * @memberof proto.ContextInfo.ExternalAdReplyInfo * @static * @param {proto.ContextInfo.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); if (message.containsAutoReply != null && Object.hasOwnProperty.call(message, "containsAutoReply")) writer.uint32(/* id 10, wireType 0 =*/80).bool(message.containsAutoReply); if (message.renderLargerThumbnail != null && Object.hasOwnProperty.call(message, "renderLargerThumbnail")) writer.uint32(/* id 11, wireType 0 =*/88).bool(message.renderLargerThumbnail); if (message.showAdAttribution != null && Object.hasOwnProperty.call(message, "showAdAttribution")) writer.uint32(/* id 12, wireType 0 =*/96).bool(message.showAdAttribution); if (message.ctwaClid != null && Object.hasOwnProperty.call(message, "ctwaClid")) writer.uint32(/* id 13, wireType 2 =*/106).string(message.ctwaClid); if (message.ref != null && Object.hasOwnProperty.call(message, "ref")) writer.uint32(/* id 14, wireType 2 =*/114).string(message.ref); return writer; }; /** * Encodes the specified ExternalAdReplyInfo message, length delimited. Does not implicitly {@link proto.ContextInfo.ExternalAdReplyInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.ContextInfo.ExternalAdReplyInfo * @static * @param {proto.ContextInfo.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.ContextInfo.ExternalAdReplyInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ContextInfo.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.ContextInfo.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; case 10: message.containsAutoReply = reader.bool(); break; case 11: message.renderLargerThumbnail = reader.bool(); break; case 12: message.showAdAttribution = reader.bool(); break; case 13: message.ctwaClid = reader.string(); break; case 14: message.ref = 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.ContextInfo.ExternalAdReplyInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ContextInfo.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.ContextInfo.ExternalAdReplyInfo * @static * @param {Object.<string,*>} 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"; if (message.containsAutoReply != null && message.hasOwnProperty("containsAutoReply")) if (typeof message.containsAutoReply !== "boolean") return "containsAutoReply: boolean expected"; if (message.renderLargerThumbnail != null && message.hasOwnProperty("renderLargerThumbnail")) if (typeof message.renderLargerThumbnail !== "boolean") return "renderLargerThumbnail: boolean expected"; if (message.showAdAttribution != null && message.hasOwnProperty("showAdAttribution")) if (typeof message.showAdAttribution !== "boolean") return "showAdAttribution: boolean expected"; if (message.ctwaClid != null && message.hasOwnProperty("ctwaClid")) if (!$util.isString(message.ctwaClid)) return "ctwaClid: string expected"; if (message.ref != null && message.hasOwnProperty("ref")) if (!$util.isString(message.ref)) return "ref: string expected"; return null; }; /** * Creates an ExternalAdReplyInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ContextInfo.ExternalAdReplyInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ContextInfo.ExternalAdReplyInfo} ExternalAdReplyInfo */ ExternalAdReplyInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.ContextInfo.ExternalAdReplyInfo) return object; var message = new $root.proto.ContextInfo.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); if (object.containsAutoReply != null) message.containsAutoReply = Boolean(object.containsAutoReply); if (object.renderLargerThumbnail != null) message.renderLargerThumbnail = Boolean(object.renderLargerThumbnail); if (object.showAdAttribution != null) message.showAdAttribution = Boolean(object.showAdAttribution); if (object.ctwaClid != null) message.ctwaClid = String(object.ctwaClid); if (object.ref != null) message.ref = String(object.ref); return message; }; /** * Creates a plain object from an ExternalAdReplyInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.ContextInfo.ExternalAdReplyInfo * @static * @param {proto.ContextInfo.ExternalAdReplyInfo} message ExternalAdReplyInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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 = ""; object.containsAutoReply = false; object.renderLargerThumbnail = false; object.showAdAttribution = false; object.ctwaClid = ""; object.ref = ""; } 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.ContextInfo.ExternalAdReplyInfo.MediaType[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; if (message.containsAutoReply != null && message.hasOwnProperty("containsAutoReply")) object.containsAutoReply = message.containsAutoReply; if (message.renderLargerThumbnail != null && message.hasOwnProperty("renderLargerThumbnail")) object.renderLargerThumbnail = message.renderLargerThumbnail; if (message.showAdAttribution != null && message.hasOwnProperty("showAdAttribution")) object.showAdAttribution = message.showAdAttribution; if (message.ctwaClid != null && message.hasOwnProperty("ctwaClid")) object.ctwaClid = message.ctwaClid; if (message.ref != null && message.hasOwnProperty("ref")) object.ref = message.ref; return object; }; /** * Converts this ExternalAdReplyInfo to JSON. * @function toJSON * @memberof proto.ContextInfo.ExternalAdReplyInfo * @instance * @returns {Object.<string,*>} JSON object */ ExternalAdReplyInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * MediaType enum. * @name proto.ContextInfo.ExternalAdReplyInfo.MediaType * @enum {number} * @property {number} NONE=0 NONE value * @property {number} IMAGE=1 IMAGE value * @property {number} VIDEO=2 VIDEO value */ ExternalAdReplyInfo.MediaType = (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; })(); ContextInfo.ForwardedNewsletterMessageInfo = (function() { /** * Properties of a ForwardedNewsletterMessageInfo. * @memberof proto.ContextInfo * @interface IForwardedNewsletterMessageInfo * @property {string|null} [newsletterJid] ForwardedNewsletterMessageInfo newsletterJid * @property {number|null} [serverMessageId] ForwardedNewsletterMessageInfo serverMessageId */ /** * Constructs a new ForwardedNewsletterMessageInfo. * @memberof proto.ContextInfo * @classdesc Represents a ForwardedNewsletterMessageInfo. * @implements IForwardedNewsletterMessageInfo * @constructor * @param {proto.ContextInfo.IForwardedNewsletterMessageInfo=} [properties] Properties to set */ function ForwardedNewsletterMessageInfo(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]]; } /** * ForwardedNewsletterMessageInfo newsletterJid. * @member {string} newsletterJid * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @instance */ ForwardedNewsletterMessageInfo.prototype.newsletterJid = ""; /** * ForwardedNewsletterMessageInfo serverMessageId. * @member {number} serverMessageId * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @instance */ ForwardedNewsletterMessageInfo.prototype.serverMessageId = 0; /** * Creates a new ForwardedNewsletterMessageInfo instance using the specified properties. * @function create * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @static * @param {proto.ContextInfo.IForwardedNewsletterMessageInfo=} [properties] Properties to set * @returns {proto.ContextInfo.ForwardedNewsletterMessageInfo} ForwardedNewsletterMessageInfo instance */ ForwardedNewsletterMessageInfo.create = function create(properties) { return new ForwardedNewsletterMessageInfo(properties); }; /** * Encodes the specified ForwardedNewsletterMessageInfo message. Does not implicitly {@link proto.ContextInfo.ForwardedNewsletterMessageInfo.verify|verify} messages. * @function encode * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @static * @param {proto.ContextInfo.IForwardedNewsletterMessageInfo} message ForwardedNewsletterMessageInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ForwardedNewsletterMessageInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.newsletterJid != null && Object.hasOwnProperty.call(message, "newsletterJid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.newsletterJid); if (message.serverMessageId != null && Object.hasOwnProperty.call(message, "serverMessageId")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.serverMessageId); return writer; }; /** * Encodes the specified ForwardedNewsletterMessageInfo message, length delimited. Does not implicitly {@link proto.ContextInfo.ForwardedNewsletterMessageInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @static * @param {proto.ContextInfo.IForwardedNewsletterMessageInfo} message ForwardedNewsletterMessageInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ForwardedNewsletterMessageInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ForwardedNewsletterMessageInfo message from the specified reader or buffer. * @function decode * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ContextInfo.ForwardedNewsletterMessageInfo} ForwardedNewsletterMessageInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ForwardedNewsletterMessageInfo.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.ForwardedNewsletterMessageInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.newsletterJid = reader.string(); break; case 2: message.serverMessageId = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ForwardedNewsletterMessageInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ContextInfo.ForwardedNewsletterMessageInfo} ForwardedNewsletterMessageInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ForwardedNewsletterMessageInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ForwardedNewsletterMessageInfo message. * @function verify * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ForwardedNewsletterMessageInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.newsletterJid != null && message.hasOwnProperty("newsletterJid")) if (!$util.isString(message.newsletterJid)) return "newsletterJid: string expected"; if (message.serverMessageId != null && message.hasOwnProperty("serverMessageId")) if (!$util.isInteger(message.serverMessageId)) return "serverMessageId: integer expected"; return null; }; /** * Creates a ForwardedNewsletterMessageInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ContextInfo.ForwardedNewsletterMessageInfo} ForwardedNewsletterMessageInfo */ ForwardedNewsletterMessageInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.ContextInfo.ForwardedNewsletterMessageInfo) return object; var message = new $root.proto.ContextInfo.ForwardedNewsletterMessageInfo(); if (object.newsletterJid != null) message.newsletterJid = String(object.newsletterJid); if (object.serverMessageId != null) message.serverMessageId = object.serverMessageId | 0; return message; }; /** * Creates a plain object from a ForwardedNewsletterMessageInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @static * @param {proto.ContextInfo.ForwardedNewsletterMessageInfo} message ForwardedNewsletterMessageInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ForwardedNewsletterMessageInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.newsletterJid = ""; object.serverMessageId = 0; } if (message.newsletterJid != null && message.hasOwnProperty("newsletterJid")) object.newsletterJid = message.newsletterJid; if (message.serverMessageId != null && message.hasOwnProperty("serverMessageId")) object.serverMessageId = message.serverMessageId; return object; }; /** * Converts this ForwardedNewsletterMessageInfo to JSON. * @function toJSON * @memberof proto.ContextInfo.ForwardedNewsletterMessageInfo * @instance * @returns {Object.<string,*>} JSON object */ ForwardedNewsletterMessageInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ForwardedNewsletterMessageInfo; })(); ContextInfo.UTMInfo = (function() { /** * Properties of a UTMInfo. * @memberof proto.ContextInfo * @interface IUTMInfo * @property {string|null} [utmSource] UTMInfo utmSource * @property {string|null} [utmCampaign] UTMInfo utmCampaign */ /** * Constructs a new UTMInfo. * @memberof proto.ContextInfo * @classdesc Represents a UTMInfo. * @implements IUTMInfo * @constructor * @param {proto.ContextInfo.IUTMInfo=} [properties] Properties to set */ function UTMInfo(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]]; } /** * UTMInfo utmSource. * @member {string} utmSource * @memberof proto.ContextInfo.UTMInfo * @instance */ UTMInfo.prototype.utmSource = ""; /** * UTMInfo utmCampaign. * @member {string} utmCampaign * @memberof proto.ContextInfo.UTMInfo * @instance */ UTMInfo.prototype.utmCampaign = ""; /** * Creates a new UTMInfo instance using the specified properties. * @function create * @memberof proto.ContextInfo.UTMInfo * @static * @param {proto.ContextInfo.IUTMInfo=} [properties] Properties to set * @returns {proto.ContextInfo.UTMInfo} UTMInfo instance */ UTMInfo.create = function create(properties) { return new UTMInfo(properties); }; /** * Encodes the specified UTMInfo message. Does not implicitly {@link proto.ContextInfo.UTMInfo.verify|verify} messages. * @function encode * @memberof proto.ContextInfo.UTMInfo * @static * @param {proto.ContextInfo.IUTMInfo} message UTMInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ UTMInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.utmSource != null && Object.hasOwnProperty.call(message, "utmSource")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.utmSource); if (message.utmCampaign != null && Object.hasOwnProperty.call(message, "utmCampaign")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.utmCampaign); return writer; }; /** * Encodes the specified UTMInfo message, length delimited. Does not implicitly {@link proto.ContextInfo.UTMInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.ContextInfo.UTMInfo * @static * @param {proto.ContextInfo.IUTMInfo} message UTMInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ UTMInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a UTMInfo message from the specified reader or buffer. * @function decode * @memberof proto.ContextInfo.UTMInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ContextInfo.UTMInfo} UTMInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ UTMInfo.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.UTMInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.utmSource = reader.string(); break; case 2: message.utmCampaign = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a UTMInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ContextInfo.UTMInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ContextInfo.UTMInfo} UTMInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ UTMInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a UTMInfo message. * @function verify * @memberof proto.ContextInfo.UTMInfo * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ UTMInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.utmSource != null && message.hasOwnProperty("utmSource")) if (!$util.isString(message.utmSource)) return "utmSource: string expected"; if (message.utmCampaign != null && message.hasOwnProperty("utmCampaign")) if (!$util.isString(message.utmCampaign)) return "utmCampaign: string expected"; return null; }; /** * Creates a UTMInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ContextInfo.UTMInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ContextInfo.UTMInfo} UTMInfo */ UTMInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.ContextInfo.UTMInfo) return object; var message = new $root.proto.ContextInfo.UTMInfo(); if (object.utmSource != null) message.utmSource = String(object.utmSource); if (object.utmCampaign != null) message.utmCampaign = String(object.utmCampaign); return message; }; /** * Creates a plain object from a UTMInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.ContextInfo.UTMInfo * @static * @param {proto.ContextInfo.UTMInfo} message UTMInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ UTMInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.utmSource = ""; object.utmCampaign = ""; } if (message.utmSource != null && message.hasOwnProperty("utmSource")) object.utmSource = message.utmSource; if (message.utmCampaign != null && message.hasOwnProperty("utmCampaign")) object.utmCampaign = message.utmCampaign; return object; }; /** * Converts this UTMInfo to JSON. * @function toJSON * @memberof proto.ContextInfo.UTMInfo * @instance * @returns {Object.<string,*>} JSON object */ UTMInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return UTMInfo; })(); return ContextInfo; })(); proto.Conversation = (function() { /** * Properties of a Conversation. * @memberof proto * @interface IConversation * @property {string} id Conversation id * @property {Array.<proto.IHistorySyncMsg>|null} [messages] Conversation messages * @property {string|null} [newJid] Conversation newJid * @property {string|null} [oldJid] Conversation oldJid * @property {number|Long|null} [lastMsgTimestamp] Conversation lastMsgTimestamp * @property {number|null} [unreadCount] Conversation unreadCount * @property {boolean|null} [readOnly] Conversation readOnly * @property {boolean|null} [endOfHistoryTransfer] Conversation endOfHistoryTransfer * @property {number|null} [ephemeralExpiration] Conversation ephemeralExpiration * @property {number|Long|null} [ephemeralSettingTimestamp] Conversation ephemeralSettingTimestamp * @property {proto.Conversation.EndOfHistoryTransferType|null} [endOfHistoryTransferType] Conversation endOfHistoryTransferType * @property {number|Long|null} [conversationTimestamp] Conversation conversationTimestamp * @property {string|null} [name] Conversation name * @property {string|null} [pHash] Conversation pHash * @property {boolean|null} [notSpam] Conversation notSpam * @property {boolean|null} [archived] Conversation archived * @property {proto.IDisappearingMode|null} [disappearingMode] Conversation disappearingMode * @property {number|null} [unreadMentionCount] Conversation unreadMentionCount * @property {boolean|null} [markedAsUnread] Conversation markedAsUnread * @property {Array.<proto.IGroupParticipant>|null} [participant] Conversation participant * @property {Uint8Array|null} [tcToken] Conversation tcToken * @property {number|Long|null} [tcTokenTimestamp] Conversation tcTokenTimestamp * @property {Uint8Array|null} [contactPrimaryIdentityKey] Conversation contactPrimaryIdentityKey * @property {number|null} [pinned] Conversation pinned * @property {number|Long|null} [muteEndTime] Conversation muteEndTime * @property {proto.IWallpaperSettings|null} [wallpaper] Conversation wallpaper * @property {proto.MediaVisibility|null} [mediaVisibility] Conversation mediaVisibility * @property {number|Long|null} [tcTokenSenderTimestamp] Conversation tcTokenSenderTimestamp * @property {boolean|null} [suspended] Conversation suspended * @property {boolean|null} [terminated] Conversation terminated * @property {number|Long|null} [createdAt] Conversation createdAt * @property {string|null} [createdBy] Conversation createdBy * @property {string|null} [description] Conversation description * @property {boolean|null} [support] Conversation support * @property {boolean|null} [isParentGroup] Conversation isParentGroup * @property {string|null} [parentGroupId] Conversation parentGroupId * @property {boolean|null} [isDefaultSubgroup] Conversation isDefaultSubgroup * @property {string|null} [displayName] Conversation displayName * @property {string|null} [pnJid] Conversation pnJid * @property {boolean|null} [shareOwnPn] Conversation shareOwnPn * @property {boolean|null} [pnhDuplicateLidThread] Conversation pnhDuplicateLidThread * @property {string|null} [lidJid] Conversation lidJid */ /** * Constructs a new Conversation. * @memberof proto * @classdesc Represents a Conversation. * @implements IConversation * @constructor * @param {proto.IConversation=} [properties] Properties to set */ function Conversation(properties) { this.messages = []; this.participant = []; 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]]; } /** * Conversation id. * @member {string} id * @memberof proto.Conversation * @instance */ Conversation.prototype.id = ""; /** * Conversation messages. * @member {Array.<proto.IHistorySyncMsg>} messages * @memberof proto.Conversation * @instance */ Conversation.prototype.messages = $util.emptyArray; /** * Conversation newJid. * @member {string} newJid * @memberof proto.Conversation * @instance */ Conversation.prototype.newJid = ""; /** * Conversation oldJid. * @member {string} oldJid * @memberof proto.Conversation * @instance */ Conversation.prototype.oldJid = ""; /** * Conversation lastMsgTimestamp. * @member {number|Long} lastMsgTimestamp * @memberof proto.Conversation * @instance */ Conversation.prototype.lastMsgTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Conversation unreadCount. * @member {number} unreadCount * @memberof proto.Conversation * @instance */ Conversation.prototype.unreadCount = 0; /** * Conversation readOnly. * @member {boolean} readOnly * @memberof proto.Conversation * @instance */ Conversation.prototype.readOnly = false; /** * Conversation endOfHistoryTransfer. * @member {boolean} endOfHistoryTransfer * @memberof proto.Conversation * @instance */ Conversation.prototype.endOfHistoryTransfer = false; /** * Conversation ephemeralExpiration. * @member {number} ephemeralExpiration * @memberof proto.Conversation * @instance */ Conversation.prototype.ephemeralExpiration = 0; /** * Conversation ephemeralSettingTimestamp. * @member {number|Long} ephemeralSettingTimestamp * @memberof proto.Conversation * @instance */ Conversation.prototype.ephemeralSettingTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Conversation endOfHistoryTransferType. * @member {proto.Conversation.EndOfHistoryTransferType} endOfHistoryTransferType * @memberof proto.Conversation * @instance */ Conversation.prototype.endOfHistoryTransferType = 0; /** * Conversation conversationTimestamp. * @member {number|Long} conversationTimestamp * @memberof proto.Conversation * @instance */ Conversation.prototype.conversationTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Conversation name. * @member {string} name * @memberof proto.Conversation * @instance */ Conversation.prototype.name = ""; /** * Conversation pHash. * @member {string} pHash * @memberof proto.Conversation * @instance */ Conversation.prototype.pHash = ""; /** * Conversation notSpam. * @member {boolean} notSpam * @memberof proto.Conversation * @instance */ Conversation.prototype.notSpam = false; /** * Conversation archived. * @member {boolean} archived * @memberof proto.Conversation * @instance */ Conversation.prototype.archived = false; /** * Conversation disappearingMode. * @member {proto.IDisappearingMode|null|undefined} disappearingMode * @memberof proto.Conversation * @instance */ Conversation.prototype.disappearingMode = null; /** * Conversation unreadMentionCount. * @member {number} unreadMentionCount * @memberof proto.Conversation * @instance */ Conversation.prototype.unreadMentionCount = 0; /** * Conversation markedAsUnread. * @member {boolean} markedAsUnread * @memberof proto.Conversation * @instance */ Conversation.prototype.markedAsUnread = false; /** * Conversation participant. * @member {Array.<proto.IGroupParticipant>} participant * @memberof proto.Conversation * @instance */ Conversation.prototype.participant = $util.emptyArray; /** * Conversation tcToken. * @member {Uint8Array} tcToken * @memberof proto.Conversation * @instance */ Conversation.prototype.tcToken = $util.newBuffer([]); /** * Conversation tcTokenTimestamp. * @member {number|Long} tcTokenTimestamp * @memberof proto.Conversation * @instance */ Conversation.prototype.tcTokenTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Conversation contactPrimaryIdentityKey. * @member {Uint8Array} contactPrimaryIdentityKey * @memberof proto.Conversation * @instance */ Conversation.prototype.contactPrimaryIdentityKey = $util.newBuffer([]); /** * Conversation pinned. * @member {number} pinned * @memberof proto.Conversation * @instance */ Conversation.prototype.pinned = 0; /** * Conversation muteEndTime. * @member {number|Long} muteEndTime * @memberof proto.Conversation * @instance */ Conversation.prototype.muteEndTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Conversation wallpaper. * @member {proto.IWallpaperSettings|null|undefined} wallpaper * @memberof proto.Conversation * @instance */ Conversation.prototype.wallpaper = null; /** * Conversation mediaVisibility. * @member {proto.MediaVisibility} mediaVisibility * @memberof proto.Conversation * @instance */ Conversation.prototype.mediaVisibility = 0; /** * Conversation tcTokenSenderTimestamp. * @member {number|Long} tcTokenSenderTimestamp * @memberof proto.Conversation * @instance */ Conversation.prototype.tcTokenSenderTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Conversation suspended. * @member {boolean} suspended * @memberof proto.Conversation * @instance */ Conversation.prototype.suspended = false; /** * Conversation terminated. * @member {boolean} terminated * @memberof proto.Conversation * @instance */ Conversation.prototype.terminated = false; /** * Conversation createdAt. * @member {number|Long} createdAt * @memberof proto.Conversation * @instance */ Conversation.prototype.createdAt = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Conversation createdBy. * @member {string} createdBy * @memberof proto.Conversation * @instance */ Conversation.prototype.createdBy = ""; /** * Conversation description. * @member {string} description * @memberof proto.Conversation * @instance */ Conversation.prototype.description = ""; /** * Conversation support. * @member {boolean} support * @memberof proto.Conversation * @instance */ Conversation.prototype.support = false; /** * Conversation isParentGroup. * @member {boolean} isParentGroup * @memberof proto.Conversation * @instance */ Conversation.prototype.isParentGroup = false; /** * Conversation parentGroupId. * @member {string} parentGroupId * @memberof proto.Conversation * @instance */ Conversation.prototype.parentGroupId = ""; /** * Conversation isDefaultSubgroup. * @member {boolean} isDefaultSubgroup * @memberof proto.Conversation * @instance */ Conversation.prototype.isDefaultSubgroup = false; /** * Conversation displayName. * @member {string} displayName * @memberof proto.Conversation * @instance */ Conversation.prototype.displayName = ""; /** * Conversation pnJid. * @member {string} pnJid * @memberof proto.Conversation * @instance */ Conversation.prototype.pnJid = ""; /** * Conversation shareOwnPn. * @member {boolean} shareOwnPn * @memberof proto.Conversation * @instance */ Conversation.prototype.shareOwnPn = false; /** * Conversation pnhDuplicateLidThread. * @member {boolean} pnhDuplicateLidThread * @memberof proto.Conversation * @instance */ Conversation.prototype.pnhDuplicateLidThread = false; /** * Conversation lidJid. * @member {string} lidJid * @memberof proto.Conversation * @instance */ Conversation.prototype.lidJid = ""; /** * Creates a new Conversation instance using the specified properties. * @function create * @memberof proto.Conversation * @static * @param {proto.IConversation=} [properties] Properties to set * @returns {proto.Conversation} Conversation instance */ Conversation.create = function create(properties) { return new Conversation(properties); }; /** * Encodes the specified Conversation message. Does not implicitly {@link proto.Conversation.verify|verify} messages. * @function encode * @memberof proto.Conversation * @static * @param {proto.IConversation} message Conversation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Conversation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); writer.uint32(/* id 1, wireType 2 =*/10).string(message.id); if (message.messages != null && message.messages.length) for (var i = 0; i < message.messages.length; ++i) $root.proto.HistorySyncMsg.encode(message.messages[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.newJid != null && Object.hasOwnProperty.call(message, "newJid")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.newJid); if (message.oldJid != null && Object.hasOwnProperty.call(message, "oldJid")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.oldJid); if (message.lastMsgTimestamp != null && Object.hasOwnProperty.call(message, "lastMsgTimestamp")) writer.uint32(/* id 5, wireType 0 =*/40).uint64(message.lastMsgTimestamp); if (message.unreadCount != null && Object.hasOwnProperty.call(message, "unreadCount")) writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.unreadCount); if (message.readOnly != null && Object.hasOwnProperty.call(message, "readOnly")) writer.uint32(/* id 7, wireType 0 =*/56).bool(message.readOnly); if (message.endOfHistoryTransfer != null && Object.hasOwnProperty.call(message, "endOfHistoryTransfer")) writer.uint32(/* id 8, wireType 0 =*/64).bool(message.endOfHistoryTransfer); if (message.ephemeralExpiration != null && Object.hasOwnProperty.call(message, "ephemeralExpiration")) writer.uint32(/* id 9, wireType 0 =*/72).uint32(message.ephemeralExpiration); if (message.ephemeralSettingTimestamp != null && Object.hasOwnProperty.call(message, "ephemeralSettingTimestamp")) writer.uint32(/* id 10, wireType 0 =*/80).int64(message.ephemeralSettingTimestamp); if (message.endOfHistoryTransferType != null && Object.hasOwnProperty.call(message, "endOfHistoryTransferType")) writer.uint32(/* id 11, wireType 0 =*/88).int32(message.endOfHistoryTransferType); if (message.conversationTimestamp != null && Object.hasOwnProperty.call(message, "conversationTimestamp")) writer.uint32(/* id 12, wireType 0 =*/96).uint64(message.conversationTimestamp); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 13, wireType 2 =*/106).string(message.name); if (message.pHash != null && Object.hasOwnProperty.call(message, "pHash")) writer.uint32(/* id 14, wireType 2 =*/114).string(message.pHash); if (message.notSpam != null && Object.hasOwnProperty.call(message, "notSpam")) writer.uint32(/* id 15, wireType 0 =*/120).bool(message.notSpam); if (message.archived != null && Object.hasOwnProperty.call(message, "archived")) writer.uint32(/* id 16, wireType 0 =*/128).bool(message.archived); if (message.disappearingMode != null && Object.hasOwnProperty.call(message, "disappearingMode")) $root.proto.DisappearingMode.encode(message.disappearingMode, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.unreadMentionCount != null && Object.hasOwnProperty.call(message, "unreadMentionCount")) writer.uint32(/* id 18, wireType 0 =*/144).uint32(message.unreadMentionCount); if (message.markedAsUnread != null && Object.hasOwnProperty.call(message, "markedAsUnread")) writer.uint32(/* id 19, wireType 0 =*/152).bool(message.markedAsUnread); if (message.participant != null && message.participant.length) for (var i = 0; i < message.participant.length; ++i) $root.proto.GroupParticipant.encode(message.participant[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); if (message.tcToken != null && Object.hasOwnProperty.call(message, "tcToken")) writer.uint32(/* id 21, wireType 2 =*/170).bytes(message.tcToken); if (message.tcTokenTimestamp != null && Object.hasOwnProperty.call(message, "tcTokenTimestamp")) writer.uint32(/* id 22, wireType 0 =*/176).uint64(message.tcTokenTimestamp); if (message.contactPrimaryIdentityKey != null && Object.hasOwnProperty.call(message, "contactPrimaryIdentityKey")) writer.uint32(/* id 23, wireType 2 =*/186).bytes(message.contactPrimaryIdentityKey); if (message.pinned != null && Object.hasOwnProperty.call(message, "pinned")) writer.uint32(/* id 24, wireType 0 =*/192).uint32(message.pinned); if (message.muteEndTime != null && Object.hasOwnProperty.call(message, "muteEndTime")) writer.uint32(/* id 25, wireType 0 =*/200).uint64(message.muteEndTime); if (message.wallpaper != null && Object.hasOwnProperty.call(message, "wallpaper")) $root.proto.WallpaperSettings.encode(message.wallpaper, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim(); if (message.mediaVisibility != null && Object.hasOwnProperty.call(message, "mediaVisibility")) writer.uint32(/* id 27, wireType 0 =*/216).int32(message.mediaVisibility); if (message.tcTokenSenderTimestamp != null && Object.hasOwnProperty.call(message, "tcTokenSenderTimestamp")) writer.uint32(/* id 28, wireType 0 =*/224).uint64(message.tcTokenSenderTimestamp); if (message.suspended != null && Object.hasOwnProperty.call(message, "suspended")) writer.uint32(/* id 29, wireType 0 =*/232).bool(message.suspended); if (message.terminated != null && Object.hasOwnProperty.call(message, "terminated")) writer.uint32(/* id 30, wireType 0 =*/240).bool(message.terminated); if (message.createdAt != null && Object.hasOwnProperty.call(message, "createdAt")) writer.uint32(/* id 31, wireType 0 =*/248).uint64(message.createdAt); if (message.createdBy != null && Object.hasOwnProperty.call(message, "createdBy")) writer.uint32(/* id 32, wireType 2 =*/258).string(message.createdBy); if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 33, wireType 2 =*/266).string(message.description); if (message.support != null && Object.hasOwnProperty.call(message, "support")) writer.uint32(/* id 34, wireType 0 =*/272).bool(message.support); if (message.isParentGroup != null && Object.hasOwnProperty.call(message, "isParentGroup")) writer.uint32(/* id 35, wireType 0 =*/280).bool(message.isParentGroup); if (message.isDefaultSubgroup != null && Object.hasOwnProperty.call(message, "isDefaultSubgroup")) writer.uint32(/* id 36, wireType 0 =*/288).bool(message.isDefaultSubgroup); if (message.parentGroupId != null && Object.hasOwnProperty.call(message, "parentGroupId")) writer.uint32(/* id 37, wireType 2 =*/298).string(message.parentGroupId); if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) writer.uint32(/* id 38, wireType 2 =*/306).string(message.displayName); if (message.pnJid != null && Object.hasOwnProperty.call(message, "pnJid")) writer.uint32(/* id 39, wireType 2 =*/314).string(message.pnJid); if (message.shareOwnPn != null && Object.hasOwnProperty.call(message, "shareOwnPn")) writer.uint32(/* id 40, wireType 0 =*/320).bool(message.shareOwnPn); if (message.pnhDuplicateLidThread != null && Object.hasOwnProperty.call(message, "pnhDuplicateLidThread")) writer.uint32(/* id 41, wireType 0 =*/328).bool(message.pnhDuplicateLidThread); if (message.lidJid != null && Object.hasOwnProperty.call(message, "lidJid")) writer.uint32(/* id 42, wireType 2 =*/338).string(message.lidJid); return writer; }; /** * Encodes the specified Conversation message, length delimited. Does not implicitly {@link proto.Conversation.verify|verify} messages. * @function encodeDelimited * @memberof proto.Conversation * @static * @param {proto.IConversation} message Conversation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Conversation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Conversation message from the specified reader or buffer. * @function decode * @memberof proto.Conversation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Conversation} Conversation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Conversation.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.Conversation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: if (!(message.messages && message.messages.length)) message.messages = []; message.messages.push($root.proto.HistorySyncMsg.decode(reader, reader.uint32())); break; case 3: message.newJid = reader.string(); break; case 4: message.oldJid = reader.string(); break; case 5: message.lastMsgTimestamp = reader.uint64(); break; case 6: message.unreadCount = reader.uint32(); break; case 7: message.readOnly = reader.bool(); break; case 8: message.endOfHistoryTransfer = reader.bool(); break; case 9: message.ephemeralExpiration = reader.uint32(); break; case 10: message.ephemeralSettingTimestamp = reader.int64(); break; case 11: message.endOfHistoryTransferType = reader.int32(); break; case 12: message.conversationTimestamp = reader.uint64(); break; case 13: message.name = reader.string(); break; case 14: message.pHash = reader.string(); break; case 15: message.notSpam = reader.bool(); break; case 16: message.archived = reader.bool(); break; case 17: message.disappearingMode = $root.proto.DisappearingMode.decode(reader, reader.uint32()); break; case 18: message.unreadMentionCount = reader.uint32(); break; case 19: message.markedAsUnread = reader.bool(); break; case 20: if (!(message.participant && message.participant.length)) message.participant = []; message.participant.push($root.proto.GroupParticipant.decode(reader, reader.uint32())); break; case 21: message.tcToken = reader.bytes(); break; case 22: message.tcTokenTimestamp = reader.uint64(); break; case 23: message.contactPrimaryIdentityKey = reader.bytes(); break; case 24: message.pinned = reader.uint32(); break; case 25: message.muteEndTime = reader.uint64(); break; case 26: message.wallpaper = $root.proto.WallpaperSettings.decode(reader, reader.uint32()); break; case 27: message.mediaVisibility = reader.int32(); break; case 28: message.tcTokenSenderTimestamp = reader.uint64(); break; case 29: message.suspended = reader.bool(); break; case 30: message.terminated = reader.bool(); break; case 31: message.createdAt = reader.uint64(); break; case 32: message.createdBy = reader.string(); break; case 33: message.description = reader.string(); break; case 34: message.support = reader.bool(); break; case 35: message.isParentGroup = reader.bool(); break; case 37: message.parentGroupId = reader.string(); break; case 36: message.isDefaultSubgroup = reader.bool(); break; case 38: message.displayName = reader.string(); break; case 39: message.pnJid = reader.string(); break; case 40: message.shareOwnPn = reader.bool(); break; case 41: message.pnhDuplicateLidThread = reader.bool(); break; case 42: message.lidJid = reader.string(); break; default: reader.skipType(tag & 7); break; } } if (!message.hasOwnProperty("id")) throw $util.ProtocolError("missing required 'id'", { instance: message }); return message; }; /** * Decodes a Conversation message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Conversation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Conversation} Conversation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Conversation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Conversation message. * @function verify * @memberof proto.Conversation * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Conversation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (!$util.isString(message.id)) return "id: string expected"; if (message.messages != null && message.hasOwnProperty("messages")) { if (!Array.isArray(message.messages)) return "messages: array expected"; for (var i = 0; i < message.messages.length; ++i) { var error = $root.proto.HistorySyncMsg.verify(message.messages[i]); if (error) return "messages." + error; } } if (message.newJid != null && message.hasOwnProperty("newJid")) if (!$util.isString(message.newJid)) return "newJid: string expected"; if (message.oldJid != null && message.hasOwnProperty("oldJid")) if (!$util.isString(message.oldJid)) return "oldJid: string expected"; if (message.lastMsgTimestamp != null && message.hasOwnProperty("lastMsgTimestamp")) if (!$util.isInteger(message.lastMsgTimestamp) && !(message.lastMsgTimestamp && $util.isInteger(message.lastMsgTimestamp.low) && $util.isInteger(message.lastMsgTimestamp.high))) return "lastMsgTimestamp: integer|Long expected"; if (message.unreadCount != null && message.hasOwnProperty("unreadCount")) if (!$util.isInteger(message.unreadCount)) return "unreadCount: integer expected"; if (message.readOnly != null && message.hasOwnProperty("readOnly")) if (typeof message.readOnly !== "boolean") return "readOnly: boolean expected"; if (message.endOfHistoryTransfer != null && message.hasOwnProperty("endOfHistoryTransfer")) if (typeof message.endOfHistoryTransfer !== "boolean") return "endOfHistoryTransfer: boolean 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"; if (message.endOfHistoryTransferType != null && message.hasOwnProperty("endOfHistoryTransferType")) switch (message.endOfHistoryTransferType) { default: return "endOfHistoryTransferType: enum value expected"; case 0: case 1: case 2: break; } if (message.conversationTimestamp != null && message.hasOwnProperty("conversationTimestamp")) if (!$util.isInteger(message.conversationTimestamp) && !(message.conversationTimestamp && $util.isInteger(message.conversationTimestamp.low) && $util.isInteger(message.conversationTimestamp.high))) return "conversationTimestamp: integer|Long expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.pHash != null && message.hasOwnProperty("pHash")) if (!$util.isString(message.pHash)) return "pHash: string expected"; if (message.notSpam != null && message.hasOwnProperty("notSpam")) if (typeof message.notSpam !== "boolean") return "notSpam: boolean expected"; if (message.archived != null && message.hasOwnProperty("archived")) if (typeof message.archived !== "boolean") return "archived: boolean expected"; if (message.disappearingMode != null && message.hasOwnProperty("disappearingMode")) { var error = $root.proto.DisappearingMode.verify(message.disappearingMode); if (error) return "disappearingMode." + error; } if (message.unreadMentionCount != null && message.hasOwnProperty("unreadMentionCount")) if (!$util.isInteger(message.unreadMentionCount)) return "unreadMentionCount: integer expected"; if (message.markedAsUnread != null && message.hasOwnProperty("markedAsUnread")) if (typeof message.markedAsUnread !== "boolean") return "markedAsUnread: boolean expected"; if (message.participant != null && message.hasOwnProperty("participant")) { if (!Array.isArray(message.participant)) return "participant: array expected"; for (var i = 0; i < message.participant.length; ++i) { var error = $root.proto.GroupParticipant.verify(message.participant[i]); if (error) return "participant." + error; } } if (message.tcToken != null && message.hasOwnProperty("tcToken")) if (!(message.tcToken && typeof message.tcToken.length === "number" || $util.isString(message.tcToken))) return "tcToken: buffer expected"; if (message.tcTokenTimestamp != null && message.hasOwnProperty("tcTokenTimestamp")) if (!$util.isInteger(message.tcTokenTimestamp) && !(message.tcTokenTimestamp && $util.isInteger(message.tcTokenTimestamp.low) && $util.isInteger(message.tcTokenTimestamp.high))) return "tcTokenTimestamp: integer|Long expected"; if (message.contactPrimaryIdentityKey != null && message.hasOwnProperty("contactPrimaryIdentityKey")) if (!(message.contactPrimaryIdentityKey && typeof message.contactPrimaryIdentityKey.length === "number" || $util.isString(message.contactPrimaryIdentityKey))) return "contactPrimaryIdentityKey: buffer expected"; if (message.pinned != null && message.hasOwnProperty("pinned")) if (!$util.isInteger(message.pinned)) return "pinned: integer expected"; if (message.muteEndTime != null && message.hasOwnProperty("muteEndTime")) if (!$util.isInteger(message.muteEndTime) && !(message.muteEndTime && $util.isInteger(message.muteEndTime.low) && $util.isInteger(message.muteEndTime.high))) return "muteEndTime: integer|Long expected"; if (message.wallpaper != null && message.hasOwnProperty("wallpaper")) { var error = $root.proto.WallpaperSettings.verify(message.wallpaper); if (error) return "wallpaper." + error; } if (message.mediaVisibility != null && message.hasOwnProperty("mediaVisibility")) switch (message.mediaVisibility) { default: return "mediaVisibility: enum value expected"; case 0: case 1: case 2: break; } if (message.tcTokenSenderTimestamp != null && message.hasOwnProperty("tcTokenSenderTimestamp")) if (!$util.isInteger(message.tcTokenSenderTimestamp) && !(message.tcTokenSenderTimestamp && $util.isInteger(message.tcTokenSenderTimestamp.low) && $util.isInteger(message.tcTokenSenderTimestamp.high))) return "tcTokenSenderTimestamp: integer|Long expected"; if (message.suspended != null && message.hasOwnProperty("suspended")) if (typeof message.suspended !== "boolean") return "suspended: boolean expected"; if (message.terminated != null && message.hasOwnProperty("terminated")) if (typeof message.terminated !== "boolean") return "terminated: boolean expected"; if (message.createdAt != null && message.hasOwnProperty("createdAt")) if (!$util.isInteger(message.createdAt) && !(message.createdAt && $util.isInteger(message.createdAt.low) && $util.isInteger(message.createdAt.high))) return "createdAt: integer|Long expected"; if (message.createdBy != null && message.hasOwnProperty("createdBy")) if (!$util.isString(message.createdBy)) return "createdBy: string expected"; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) return "description: string expected"; if (message.support != null && message.hasOwnProperty("support")) if (typeof message.support !== "boolean") return "support: boolean expected"; if (message.isParentGroup != null && message.hasOwnProperty("isParentGroup")) if (typeof message.isParentGroup !== "boolean") return "isParentGroup: boolean expected"; if (message.parentGroupId != null && message.hasOwnProperty("parentGroupId")) if (!$util.isString(message.parentGroupId)) return "parentGroupId: string expected"; if (message.isDefaultSubgroup != null && message.hasOwnProperty("isDefaultSubgroup")) if (typeof message.isDefaultSubgroup !== "boolean") return "isDefaultSubgroup: boolean expected"; if (message.displayName != null && message.hasOwnProperty("displayName")) if (!$util.isString(message.displayName)) return "displayName: string expected"; if (message.pnJid != null && message.hasOwnProperty("pnJid")) if (!$util.isString(message.pnJid)) return "pnJid: string expected"; if (message.shareOwnPn != null && message.hasOwnProperty("shareOwnPn")) if (typeof message.shareOwnPn !== "boolean") return "shareOwnPn: boolean expected"; if (message.pnhDuplicateLidThread != null && message.hasOwnProperty("pnhDuplicateLidThread")) if (typeof message.pnhDuplicateLidThread !== "boolean") return "pnhDuplicateLidThread: boolean expected"; if (message.lidJid != null && message.hasOwnProperty("lidJid")) if (!$util.isString(message.lidJid)) return "lidJid: string expected"; return null; }; /** * Creates a Conversation message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Conversation * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Conversation} Conversation */ Conversation.fromObject = function fromObject(object) { if (object instanceof $root.proto.Conversation) return object; var message = new $root.proto.Conversation(); if (object.id != null) message.id = String(object.id); if (object.messages) { if (!Array.isArray(object.messages)) throw TypeError(".proto.Conversation.messages: array expected"); message.messages = []; for (var i = 0; i < object.messages.length; ++i) { if (typeof object.messages[i] !== "object") throw TypeError(".proto.Conversation.messages: object expected"); message.messages[i] = $root.proto.HistorySyncMsg.fromObject(object.messages[i]); } } if (object.newJid != null) message.newJid = String(object.newJid); if (object.oldJid != null) message.oldJid = String(object.oldJid); if (object.lastMsgTimestamp != null) if ($util.Long) (message.lastMsgTimestamp = $util.Long.fromValue(object.lastMsgTimestamp)).unsigned = true; else if (typeof object.lastMsgTimestamp === "string") message.lastMsgTimestamp = parseInt(object.lastMsgTimestamp, 10); else if (typeof object.lastMsgTimestamp === "number") message.lastMsgTimestamp = object.lastMsgTimestamp; else if (typeof object.lastMsgTimestamp === "object") message.lastMsgTimestamp = new $util.LongBits(object.lastMsgTimestamp.low >>> 0, object.lastMsgTimestamp.high >>> 0).toNumber(true); if (object.unreadCount != null) message.unreadCount = object.unreadCount >>> 0; if (object.readOnly != null) message.readOnly = Boolean(object.readOnly); if (object.endOfHistoryTransfer != null) message.endOfHistoryTransfer = Boolean(object.endOfHistoryTransfer); 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(); switch (object.endOfHistoryTransferType) { case "COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY": case 0: message.endOfHistoryTransferType = 0; break; case "COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY": case 1: message.endOfHistoryTransferType = 1; break; case "COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY": case 2: message.endOfHistoryTransferType = 2; break; } if (object.conversationTimestamp != null) if ($util.Long) (message.conversationTimestamp = $util.Long.fromValue(object.conversationTimestamp)).unsigned = true; else if (typeof object.conversationTimestamp === "string") message.conversationTimestamp = parseInt(object.conversationTimestamp, 10); else if (typeof object.conversationTimestamp === "number") message.conversationTimestamp = object.conversationTimestamp; else if (typeof object.conversationTimestamp === "object") message.conversationTimestamp = new $util.LongBits(object.conversationTimestamp.low >>> 0, object.conversationTimestamp.high >>> 0).toNumber(true); if (object.name != null) message.name = String(object.name); if (object.pHash != null) message.pHash = String(object.pHash); if (object.notSpam != null) message.notSpam = Boolean(object.notSpam); if (object.archived != null) message.archived = Boolean(object.archived); if (object.disappearingMode != null) { if (typeof object.disappearingMode !== "object") throw TypeError(".proto.Conversation.disappearingMode: object expected"); message.disappearingMode = $root.proto.DisappearingMode.fromObject(object.disappearingMode); } if (object.unreadMentionCount != null) message.unreadMentionCount = object.unreadMentionCount >>> 0; if (object.markedAsUnread != null) message.markedAsUnread = Boolean(object.markedAsUnread); if (object.participant) { if (!Array.isArray(object.participant)) throw TypeError(".proto.Conversation.participant: array expected"); message.participant = []; for (var i = 0; i < object.participant.length; ++i) { if (typeof object.participant[i] !== "object") throw TypeError(".proto.Conversation.participant: object expected"); message.participant[i] = $root.proto.GroupParticipant.fromObject(object.participant[i]); } } if (object.tcToken != null) if (typeof object.tcToken === "string") $util.base64.decode(object.tcToken, message.tcToken = $util.newBuffer($util.base64.length(object.tcToken)), 0); else if (object.tcToken.length) message.tcToken = object.tcToken; if (object.tcTokenTimestamp != null) if ($util.Long) (message.tcTokenTimestamp = $util.Long.fromValue(object.tcTokenTimestamp)).unsigned = true; else if (typeof object.tcTokenTimestamp === "string") message.tcTokenTimestamp = parseInt(object.tcTokenTimestamp, 10); else if (typeof object.tcTokenTimestamp === "number") message.tcTokenTimestamp = object.tcTokenTimestamp; else if (typeof object.tcTokenTimestamp === "object") message.tcTokenTimestamp = new $util.LongBits(object.tcTokenTimestamp.low >>> 0, object.tcTokenTimestamp.high >>> 0).toNumber(true); if (object.contactPrimaryIdentityKey != null) if (typeof object.contactPrimaryIdentityKey === "string") $util.base64.decode(object.contactPrimaryIdentityKey, message.contactPrimaryIdentityKey = $util.newBuffer($util.base64.length(object.contactPrimaryIdentityKey)), 0); else if (object.contactPrimaryIdentityKey.length) message.contactPrimaryIdentityKey = object.contactPrimaryIdentityKey; if (object.pinned != null) message.pinned = object.pinned >>> 0; if (object.muteEndTime != null) if ($util.Long) (message.muteEndTime = $util.Long.fromValue(object.muteEndTime)).unsigned = true; else if (typeof object.muteEndTime === "string") message.muteEndTime = parseInt(object.muteEndTime, 10); else if (typeof object.muteEndTime === "number") message.muteEndTime = object.muteEndTime; else if (typeof object.muteEndTime === "object") message.muteEndTime = new $util.LongBits(object.muteEndTime.low >>> 0, object.muteEndTime.high >>> 0).toNumber(true); if (object.wallpaper != null) { if (typeof object.wallpaper !== "object") throw TypeError(".proto.Conversation.wallpaper: object expected"); message.wallpaper = $root.proto.WallpaperSettings.fromObject(object.wallpaper); } switch (object.mediaVisibility) { case "DEFAULT": case 0: message.mediaVisibility = 0; break; case "OFF": case 1: message.mediaVisibility = 1; break; case "ON": case 2: message.mediaVisibility = 2; break; } if (object.tcTokenSenderTimestamp != null) if ($util.Long) (message.tcTokenSenderTimestamp = $util.Long.fromValue(object.tcTokenSenderTimestamp)).unsigned = true; else if (typeof object.tcTokenSenderTimestamp === "string") message.tcTokenSenderTimestamp = parseInt(object.tcTokenSenderTimestamp, 10); else if (typeof object.tcTokenSenderTimestamp === "number") message.tcTokenSenderTimestamp = object.tcTokenSenderTimestamp; else if (typeof object.tcTokenSenderTimestamp === "object") message.tcTokenSenderTimestamp = new $util.LongBits(object.tcTokenSenderTimestamp.low >>> 0, object.tcTokenSenderTimestamp.high >>> 0).toNumber(true); if (object.suspended != null) message.suspended = Boolean(object.suspended); if (object.terminated != null) message.terminated = Boolean(object.terminated); if (object.createdAt != null) if ($util.Long) (message.createdAt = $util.Long.fromValue(object.createdAt)).unsigned = true; else if (typeof object.createdAt === "string") message.createdAt = parseInt(object.createdAt, 10); else if (typeof object.createdAt === "number") message.createdAt = object.createdAt; else if (typeof object.createdAt === "object") message.createdAt = new $util.LongBits(object.createdAt.low >>> 0, object.createdAt.high >>> 0).toNumber(true); if (object.createdBy != null) message.createdBy = String(object.createdBy); if (object.description != null) message.description = String(object.description); if (object.support != null) message.support = Boolean(object.support); if (object.isParentGroup != null) message.isParentGroup = Boolean(object.isParentGroup); if (object.parentGroupId != null) message.parentGroupId = String(object.parentGroupId); if (object.isDefaultSubgroup != null) message.isDefaultSubgroup = Boolean(object.isDefaultSubgroup); if (object.displayName != null) message.displayName = String(object.displayName); if (object.pnJid != null) message.pnJid = String(object.pnJid); if (object.shareOwnPn != null) message.shareOwnPn = Boolean(object.shareOwnPn); if (object.pnhDuplicateLidThread != null) message.pnhDuplicateLidThread = Boolean(object.pnhDuplicateLidThread); if (object.lidJid != null) message.lidJid = String(object.lidJid); return message; }; /** * Creates a plain object from a Conversation message. Also converts values to other types if specified. * @function toObject * @memberof proto.Conversation * @static * @param {proto.Conversation} message Conversation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Conversation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.messages = []; object.participant = []; } if (options.defaults) { object.id = ""; object.newJid = ""; object.oldJid = ""; if ($util.Long) { var long = new $util.Long(0, 0, true); object.lastMsgTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.lastMsgTimestamp = options.longs === String ? "0" : 0; object.unreadCount = 0; object.readOnly = false; object.endOfHistoryTransfer = false; 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.endOfHistoryTransferType = options.enums === String ? "COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY" : 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.conversationTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.conversationTimestamp = options.longs === String ? "0" : 0; object.name = ""; object.pHash = ""; object.notSpam = false; object.archived = false; object.disappearingMode = null; object.unreadMentionCount = 0; object.markedAsUnread = false; if (options.bytes === String) object.tcToken = ""; else { object.tcToken = []; if (options.bytes !== Array) object.tcToken = $util.newBuffer(object.tcToken); } if ($util.Long) { var long = new $util.Long(0, 0, true); object.tcTokenTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.tcTokenTimestamp = options.longs === String ? "0" : 0; if (options.bytes === String) object.contactPrimaryIdentityKey = ""; else { object.contactPrimaryIdentityKey = []; if (options.bytes !== Array) object.contactPrimaryIdentityKey = $util.newBuffer(object.contactPrimaryIdentityKey); } object.pinned = 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.muteEndTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.muteEndTime = options.longs === String ? "0" : 0; object.wallpaper = null; object.mediaVisibility = options.enums === String ? "DEFAULT" : 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.tcTokenSenderTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.tcTokenSenderTimestamp = options.longs === String ? "0" : 0; object.suspended = false; object.terminated = false; if ($util.Long) { var long = new $util.Long(0, 0, true); object.createdAt = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.createdAt = options.longs === String ? "0" : 0; object.createdBy = ""; object.description = ""; object.support = false; object.isParentGroup = false; object.isDefaultSubgroup = false; object.parentGroupId = ""; object.displayName = ""; object.pnJid = ""; object.shareOwnPn = false; object.pnhDuplicateLidThread = false; object.lidJid = ""; } if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; if (message.messages && message.messages.length) { object.messages = []; for (var j = 0; j < message.messages.length; ++j) object.messages[j] = $root.proto.HistorySyncMsg.toObject(message.messages[j], options); } if (message.newJid != null && message.hasOwnProperty("newJid")) object.newJid = message.newJid; if (message.oldJid != null && message.hasOwnProperty("oldJid")) object.oldJid = message.oldJid; if (message.lastMsgTimestamp != null && message.hasOwnProperty("lastMsgTimestamp")) if (typeof message.lastMsgTimestamp === "number") object.lastMsgTimestamp = options.longs === String ? String(message.lastMsgTimestamp) : message.lastMsgTimestamp; else object.lastMsgTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.lastMsgTimestamp) : options.longs === Number ? new $util.LongBits(message.lastMsgTimestamp.low >>> 0, message.lastMsgTimestamp.high >>> 0).toNumber(true) : message.lastMsgTimestamp; if (message.unreadCount != null && message.hasOwnProperty("unreadCount")) object.unreadCount = message.unreadCount; if (message.readOnly != null && message.hasOwnProperty("readOnly")) object.readOnly = message.readOnly; if (message.endOfHistoryTransfer != null && message.hasOwnProperty("endOfHistoryTransfer")) object.endOfHistoryTransfer = message.endOfHistoryTransfer; 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.endOfHistoryTransferType != null && message.hasOwnProperty("endOfHistoryTransferType")) object.endOfHistoryTransferType = options.enums === String ? $root.proto.Conversation.EndOfHistoryTransferType[message.endOfHistoryTransferType] : message.endOfHistoryTransferType; if (message.conversationTimestamp != null && message.hasOwnProperty("conversationTimestamp")) if (typeof message.conversationTimestamp === "number") object.conversationTimestamp = options.longs === String ? String(message.conversationTimestamp) : message.conversationTimestamp; else object.conversationTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.conversationTimestamp) : options.longs === Number ? new $util.LongBits(message.conversationTimestamp.low >>> 0, message.conversationTimestamp.high >>> 0).toNumber(true) : message.conversationTimestamp; if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.pHash != null && message.hasOwnProperty("pHash")) object.pHash = message.pHash; if (message.notSpam != null && message.hasOwnProperty("notSpam")) object.notSpam = message.notSpam; if (message.archived != null && message.hasOwnProperty("archived")) object.archived = message.archived; if (message.disappearingMode != null && message.hasOwnProperty("disappearingMode")) object.disappearingMode = $root.proto.DisappearingMode.toObject(message.disappearingMode, options); if (message.unreadMentionCount != null && message.hasOwnProperty("unreadMentionCount")) object.unreadMentionCount = message.unreadMentionCount; if (message.markedAsUnread != null && message.hasOwnProperty("markedAsUnread")) object.markedAsUnread = message.markedAsUnread; if (message.participant && message.participant.length) { object.participant = []; for (var j = 0; j < message.participant.length; ++j) object.participant[j] = $root.proto.GroupParticipant.toObject(message.participant[j], options); } if (message.tcToken != null && message.hasOwnProperty("tcToken")) object.tcToken = options.bytes === String ? $util.base64.encode(message.tcToken, 0, message.tcToken.length) : options.bytes === Array ? Array.prototype.slice.call(message.tcToken) : message.tcToken; if (message.tcTokenTimestamp != null && message.hasOwnProperty("tcTokenTimestamp")) if (typeof message.tcTokenTimestamp === "number") object.tcTokenTimestamp = options.longs === String ? String(message.tcTokenTimestamp) : message.tcTokenTimestamp; else object.tcTokenTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.tcTokenTimestamp) : options.longs === Number ? new $util.LongBits(message.tcTokenTimestamp.low >>> 0, message.tcTokenTimestamp.high >>> 0).toNumber(true) : message.tcTokenTimestamp; if (message.contactPrimaryIdentityKey != null && message.hasOwnProperty("contactPrimaryIdentityKey")) object.contactPrimaryIdentityKey = options.bytes === String ? $util.base64.encode(message.contactPrimaryIdentityKey, 0, message.contactPrimaryIdentityKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.contactPrimaryIdentityKey) : message.contactPrimaryIdentityKey; if (message.pinned != null && message.hasOwnProperty("pinned")) object.pinned = message.pinned; if (message.muteEndTime != null && message.hasOwnProperty("muteEndTime")) if (typeof message.muteEndTime === "number") object.muteEndTime = options.longs === String ? String(message.muteEndTime) : message.muteEndTime; else object.muteEndTime = options.longs === String ? $util.Long.prototype.toString.call(message.muteEndTime) : options.longs === Number ? new $util.LongBits(message.muteEndTime.low >>> 0, message.muteEndTime.high >>> 0).toNumber(true) : message.muteEndTime; if (message.wallpaper != null && message.hasOwnProperty("wallpaper")) object.wallpaper = $root.proto.WallpaperSettings.toObject(message.wallpaper, options); if (message.mediaVisibility != null && message.hasOwnProperty("mediaVisibility")) object.mediaVisibility = options.enums === String ? $root.proto.MediaVisibility[message.mediaVisibility] : message.mediaVisibility; if (message.tcTokenSenderTimestamp != null && message.hasOwnProperty("tcTokenSenderTimestamp")) if (typeof message.tcTokenSenderTimestamp === "number") object.tcTokenSenderTimestamp = options.longs === String ? String(message.tcTokenSenderTimestamp) : message.tcTokenSenderTimestamp; else object.tcTokenSenderTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.tcTokenSenderTimestamp) : options.longs === Number ? new $util.LongBits(message.tcTokenSenderTimestamp.low >>> 0, message.tcTokenSenderTimestamp.high >>> 0).toNumber(true) : message.tcTokenSenderTimestamp; if (message.suspended != null && message.hasOwnProperty("suspended")) object.suspended = message.suspended; if (message.terminated != null && message.hasOwnProperty("terminated")) object.terminated = message.terminated; if (message.createdAt != null && message.hasOwnProperty("createdAt")) if (typeof message.createdAt === "number") object.createdAt = options.longs === String ? String(message.createdAt) : message.createdAt; else object.createdAt = options.longs === String ? $util.Long.prototype.toString.call(message.createdAt) : options.longs === Number ? new $util.LongBits(message.createdAt.low >>> 0, message.createdAt.high >>> 0).toNumber(true) : message.createdAt; if (message.createdBy != null && message.hasOwnProperty("createdBy")) object.createdBy = message.createdBy; if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; if (message.support != null && message.hasOwnProperty("support")) object.support = message.support; if (message.isParentGroup != null && message.hasOwnProperty("isParentGroup")) object.isParentGroup = message.isParentGroup; if (message.isDefaultSubgroup != null && message.hasOwnProperty("isDefaultSubgroup")) object.isDefaultSubgroup = message.isDefaultSubgroup; if (message.parentGroupId != null && message.hasOwnProperty("parentGroupId")) object.parentGroupId = message.parentGroupId; if (message.displayName != null && message.hasOwnProperty("displayName")) object.displayName = message.displayName; if (message.pnJid != null && message.hasOwnProperty("pnJid")) object.pnJid = message.pnJid; if (message.shareOwnPn != null && message.hasOwnProperty("shareOwnPn")) object.shareOwnPn = message.shareOwnPn; if (message.pnhDuplicateLidThread != null && message.hasOwnProperty("pnhDuplicateLidThread")) object.pnhDuplicateLidThread = message.pnhDuplicateLidThread; if (message.lidJid != null && message.hasOwnProperty("lidJid")) object.lidJid = message.lidJid; return object; }; /** * Converts this Conversation to JSON. * @function toJSON * @memberof proto.Conversation * @instance * @returns {Object.<string,*>} JSON object */ Conversation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * EndOfHistoryTransferType enum. * @name proto.Conversation.EndOfHistoryTransferType * @enum {number} * @property {number} COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY=0 COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY value * @property {number} COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY=1 COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY value * @property {number} COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY=2 COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY value */ Conversation.EndOfHistoryTransferType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "COMPLETE_BUT_MORE_MESSAGES_REMAIN_ON_PRIMARY"] = 0; values[valuesById[1] = "COMPLETE_AND_NO_MORE_MESSAGE_REMAIN_ON_PRIMARY"] = 1; values[valuesById[2] = "COMPLETE_ON_DEMAND_SYNC_BUT_MORE_MSG_REMAIN_ON_PRIMARY"] = 2; return values; })(); return Conversation; })(); proto.DeviceConsistencyCodeMessage = (function() { /** * Properties of a DeviceConsistencyCodeMessage. * @memberof proto * @interface IDeviceConsistencyCodeMessage * @property {number|null} [generation] DeviceConsistencyCodeMessage generation * @property {Uint8Array|null} [signature] DeviceConsistencyCodeMessage signature */ /** * Constructs a new DeviceConsistencyCodeMessage. * @memberof proto * @classdesc Represents a DeviceConsistencyCodeMessage. * @implements IDeviceConsistencyCodeMessage * @constructor * @param {proto.IDeviceConsistencyCodeMessage=} [properties] Properties to set */ function DeviceConsistencyCodeMessage(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]]; } /** * DeviceConsistencyCodeMessage generation. * @member {number} generation * @memberof proto.DeviceConsistencyCodeMessage * @instance */ DeviceConsistencyCodeMessage.prototype.generation = 0; /** * DeviceConsistencyCodeMessage signature. * @member {Uint8Array} signature * @memberof proto.DeviceConsistencyCodeMessage * @instance */ DeviceConsistencyCodeMessage.prototype.signature = $util.newBuffer([]); /** * Creates a new DeviceConsistencyCodeMessage instance using the specified properties. * @function create * @memberof proto.DeviceConsistencyCodeMessage * @static * @param {proto.IDeviceConsistencyCodeMessage=} [properties] Properties to set * @returns {proto.DeviceConsistencyCodeMessage} DeviceConsistencyCodeMessage instance */ DeviceConsistencyCodeMessage.create = function create(properties) { return new DeviceConsistencyCodeMessage(properties); }; /** * Encodes the specified DeviceConsistencyCodeMessage message. Does not implicitly {@link proto.DeviceConsistencyCodeMessage.verify|verify} messages. * @function encode * @memberof proto.DeviceConsistencyCodeMessage * @static * @param {proto.IDeviceConsistencyCodeMessage} message DeviceConsistencyCodeMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeviceConsistencyCodeMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.generation != null && Object.hasOwnProperty.call(message, "generation")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.generation); if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.signature); return writer; }; /** * Encodes the specified DeviceConsistencyCodeMessage message, length delimited. Does not implicitly {@link proto.DeviceConsistencyCodeMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.DeviceConsistencyCodeMessage * @static * @param {proto.IDeviceConsistencyCodeMessage} message DeviceConsistencyCodeMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeviceConsistencyCodeMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DeviceConsistencyCodeMessage message from the specified reader or buffer. * @function decode * @memberof proto.DeviceConsistencyCodeMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.DeviceConsistencyCodeMessage} DeviceConsistencyCodeMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeviceConsistencyCodeMessage.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.DeviceConsistencyCodeMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.generation = reader.uint32(); break; case 2: message.signature = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DeviceConsistencyCodeMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.DeviceConsistencyCodeMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.DeviceConsistencyCodeMessage} DeviceConsistencyCodeMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeviceConsistencyCodeMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DeviceConsistencyCodeMessage message. * @function verify * @memberof proto.DeviceConsistencyCodeMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DeviceConsistencyCodeMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.generation != null && message.hasOwnProperty("generation")) if (!$util.isInteger(message.generation)) return "generation: integer expected"; if (message.signature != null && message.hasOwnProperty("signature")) if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) return "signature: buffer expected"; return null; }; /** * Creates a DeviceConsistencyCodeMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.DeviceConsistencyCodeMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.DeviceConsistencyCodeMessage} DeviceConsistencyCodeMessage */ DeviceConsistencyCodeMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.DeviceConsistencyCodeMessage) return object; var message = new $root.proto.DeviceConsistencyCodeMessage(); if (object.generation != null) message.generation = object.generation >>> 0; if (object.signature != null) if (typeof object.signature === "string") $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); else if (object.signature.length) message.signature = object.signature; return message; }; /** * Creates a plain object from a DeviceConsistencyCodeMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.DeviceConsistencyCodeMessage * @static * @param {proto.DeviceConsistencyCodeMessage} message DeviceConsistencyCodeMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ DeviceConsistencyCodeMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.generation = 0; if (options.bytes === String) object.signature = ""; else { object.signature = []; if (options.bytes !== Array) object.signature = $util.newBuffer(object.signature); } } if (message.generation != null && message.hasOwnProperty("generation")) object.generation = message.generation; if (message.signature != null && message.hasOwnProperty("signature")) object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; return object; }; /** * Converts this DeviceConsistencyCodeMessage to JSON. * @function toJSON * @memberof proto.DeviceConsistencyCodeMessage * @instance * @returns {Object.<string,*>} JSON object */ DeviceConsistencyCodeMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DeviceConsistencyCodeMessage; })(); proto.DeviceListMetadata = (function() { /** * Properties of a DeviceListMetadata. * @memberof proto * @interface IDeviceListMetadata * @property {Uint8Array|null} [senderKeyHash] DeviceListMetadata senderKeyHash * @property {number|Long|null} [senderTimestamp] DeviceListMetadata senderTimestamp * @property {Array.<number>|null} [senderKeyIndexes] DeviceListMetadata senderKeyIndexes * @property {Uint8Array|null} [recipientKeyHash] DeviceListMetadata recipientKeyHash * @property {number|Long|null} [recipientTimestamp] DeviceListMetadata recipientTimestamp * @property {Array.<number>|null} [recipientKeyIndexes] DeviceListMetadata recipientKeyIndexes */ /** * Constructs a new DeviceListMetadata. * @memberof proto * @classdesc Represents a DeviceListMetadata. * @implements IDeviceListMetadata * @constructor * @param {proto.IDeviceListMetadata=} [properties] Properties to set */ function DeviceListMetadata(properties) { this.senderKeyIndexes = []; this.recipientKeyIndexes = []; 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]]; } /** * DeviceListMetadata senderKeyHash. * @member {Uint8Array} senderKeyHash * @memberof proto.DeviceListMetadata * @instance */ DeviceListMetadata.prototype.senderKeyHash = $util.newBuffer([]); /** * DeviceListMetadata senderTimestamp. * @member {number|Long} senderTimestamp * @memberof proto.DeviceListMetadata * @instance */ DeviceListMetadata.prototype.senderTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * DeviceListMetadata senderKeyIndexes. * @member {Array.<number>} senderKeyIndexes * @memberof proto.DeviceListMetadata * @instance */ DeviceListMetadata.prototype.senderKeyIndexes = $util.emptyArray; /** * DeviceListMetadata recipientKeyHash. * @member {Uint8Array} recipientKeyHash * @memberof proto.DeviceListMetadata * @instance */ DeviceListMetadata.prototype.recipientKeyHash = $util.newBuffer([]); /** * DeviceListMetadata recipientTimestamp. * @member {number|Long} recipientTimestamp * @memberof proto.DeviceListMetadata * @instance */ DeviceListMetadata.prototype.recipientTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * DeviceListMetadata recipientKeyIndexes. * @member {Array.<number>} recipientKeyIndexes * @memberof proto.DeviceListMetadata * @instance */ DeviceListMetadata.prototype.recipientKeyIndexes = $util.emptyArray; /** * Creates a new DeviceListMetadata instance using the specified properties. * @function create * @memberof proto.DeviceListMetadata * @static * @param {proto.IDeviceListMetadata=} [properties] Properties to set * @returns {proto.DeviceListMetadata} DeviceListMetadata instance */ DeviceListMetadata.create = function create(properties) { return new DeviceListMetadata(properties); }; /** * Encodes the specified DeviceListMetadata message. Does not implicitly {@link proto.DeviceListMetadata.verify|verify} messages. * @function encode * @memberof proto.DeviceListMetadata * @static * @param {proto.IDeviceListMetadata} message DeviceListMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeviceListMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.senderKeyHash != null && Object.hasOwnProperty.call(message, "senderKeyHash")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.senderKeyHash); if (message.senderTimestamp != null && Object.hasOwnProperty.call(message, "senderTimestamp")) writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.senderTimestamp); if (message.senderKeyIndexes != null && message.senderKeyIndexes.length) { writer.uint32(/* id 3, wireType 2 =*/26).fork(); for (var i = 0; i < message.senderKeyIndexes.length; ++i) writer.uint32(message.senderKeyIndexes[i]); writer.ldelim(); } if (message.recipientKeyHash != null && Object.hasOwnProperty.call(message, "recipientKeyHash")) writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.recipientKeyHash); if (message.recipientTimestamp != null && Object.hasOwnProperty.call(message, "recipientTimestamp")) writer.uint32(/* id 9, wireType 0 =*/72).uint64(message.recipientTimestamp); if (message.recipientKeyIndexes != null && message.recipientKeyIndexes.length) { writer.uint32(/* id 10, wireType 2 =*/82).fork(); for (var i = 0; i < message.recipientKeyIndexes.length; ++i) writer.uint32(message.recipientKeyIndexes[i]); writer.ldelim(); } return writer; }; /** * Encodes the specified DeviceListMetadata message, length delimited. Does not implicitly {@link proto.DeviceListMetadata.verify|verify} messages. * @function encodeDelimited * @memberof proto.DeviceListMetadata * @static * @param {proto.IDeviceListMetadata} message DeviceListMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeviceListMetadata.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DeviceListMetadata message from the specified reader or buffer. * @function decode * @memberof proto.DeviceListMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.DeviceListMetadata} DeviceListMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeviceListMetadata.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.DeviceListMetadata(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.senderKeyHash = reader.bytes(); break; case 2: message.senderTimestamp = reader.uint64(); break; case 3: if (!(message.senderKeyIndexes && message.senderKeyIndexes.length)) message.senderKeyIndexes = []; if ((tag & 7) === 2) { var end2 = reader.uint32() + reader.pos; while (reader.pos < end2) message.senderKeyIndexes.push(reader.uint32()); } else message.senderKeyIndexes.push(reader.uint32()); break; case 8: message.recipientKeyHash = reader.bytes(); break; case 9: message.recipientTimestamp = reader.uint64(); break; case 10: if (!(message.recipientKeyIndexes && message.recipientKeyIndexes.length)) message.recipientKeyIndexes = []; if ((tag & 7) === 2) { var end2 = reader.uint32() + reader.pos; while (reader.pos < end2) message.recipientKeyIndexes.push(reader.uint32()); } else message.recipientKeyIndexes.push(reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DeviceListMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.DeviceListMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.DeviceListMetadata} DeviceListMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeviceListMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DeviceListMetadata message. * @function verify * @memberof proto.DeviceListMetadata * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DeviceListMetadata.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.senderKeyHash != null && message.hasOwnProperty("senderKeyHash")) if (!(message.senderKeyHash && typeof message.senderKeyHash.length === "number" || $util.isString(message.senderKeyHash))) return "senderKeyHash: buffer expected"; if (message.senderTimestamp != null && message.hasOwnProperty("senderTimestamp")) if (!$util.isInteger(message.senderTimestamp) && !(message.senderTimestamp && $util.isInteger(message.senderTimestamp.low) && $util.isInteger(message.senderTimestamp.high))) return "senderTimestamp: integer|Long expected"; if (message.senderKeyIndexes != null && message.hasOwnProperty("senderKeyIndexes")) { if (!Array.isArray(message.senderKeyIndexes)) return "senderKeyIndexes: array expected"; for (var i = 0; i < message.senderKeyIndexes.length; ++i) if (!$util.isInteger(message.senderKeyIndexes[i])) return "senderKeyIndexes: integer[] expected"; } if (message.recipientKeyHash != null && message.hasOwnProperty("recipientKeyHash")) if (!(message.recipientKeyHash && typeof message.recipientKeyHash.length === "number" || $util.isString(message.recipientKeyHash))) return "recipientKeyHash: buffer expected"; if (message.recipientTimestamp != null && message.hasOwnProperty("recipientTimestamp")) if (!$util.isInteger(message.recipientTimestamp) && !(message.recipientTimestamp && $util.isInteger(message.recipientTimestamp.low) && $util.isInteger(message.recipientTimestamp.high))) return "recipientTimestamp: integer|Long expected"; if (message.recipientKeyIndexes != null && message.hasOwnProperty("recipientKeyIndexes")) { if (!Array.isArray(message.recipientKeyIndexes)) return "recipientKeyIndexes: array expected"; for (var i = 0; i < message.recipientKeyIndexes.length; ++i) if (!$util.isInteger(message.recipientKeyIndexes[i])) return "recipientKeyIndexes: integer[] expected"; } return null; }; /** * Creates a DeviceListMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.DeviceListMetadata * @static * @param {Object.<string,*>} object Plain object * @returns {proto.DeviceListMetadata} DeviceListMetadata */ DeviceListMetadata.fromObject = function fromObject(object) { if (object instanceof $root.proto.DeviceListMetadata) return object; var message = new $root.proto.DeviceListMetadata(); if (object.senderKeyHash != null) if (typeof object.senderKeyHash === "string") $util.base64.decode(object.senderKeyHash, message.senderKeyHash = $util.newBuffer($util.base64.length(object.senderKeyHash)), 0); else if (object.senderKeyHash.length) message.senderKeyHash = object.senderKeyHash; if (object.senderTimestamp != null) if ($util.Long) (message.senderTimestamp = $util.Long.fromValue(object.senderTimestamp)).unsigned = true; else if (typeof object.senderTimestamp === "string") message.senderTimestamp = parseInt(object.senderTimestamp, 10); else if (typeof object.senderTimestamp === "number") message.senderTimestamp = object.senderTimestamp; else if (typeof object.senderTimestamp === "object") message.senderTimestamp = new $util.LongBits(object.senderTimestamp.low >>> 0, object.senderTimestamp.high >>> 0).toNumber(true); if (object.senderKeyIndexes) { if (!Array.isArray(object.senderKeyIndexes)) throw TypeError(".proto.DeviceListMetadata.senderKeyIndexes: array expected"); message.senderKeyIndexes = []; for (var i = 0; i < object.senderKeyIndexes.length; ++i) message.senderKeyIndexes[i] = object.senderKeyIndexes[i] >>> 0; } if (object.recipientKeyHash != null) if (typeof object.recipientKeyHash === "string") $util.base64.decode(object.recipientKeyHash, message.recipientKeyHash = $util.newBuffer($util.base64.length(object.recipientKeyHash)), 0); else if (object.recipientKeyHash.length) message.recipientKeyHash = object.recipientKeyHash; if (object.recipientTimestamp != null) if ($util.Long) (message.recipientTimestamp = $util.Long.fromValue(object.recipientTimestamp)).unsigned = true; else if (typeof object.recipientTimestamp === "string") message.recipientTimestamp = parseInt(object.recipientTimestamp, 10); else if (typeof object.recipientTimestamp === "number") message.recipientTimestamp = object.recipientTimestamp; else if (typeof object.recipientTimestamp === "object") message.recipientTimestamp = new $util.LongBits(object.recipientTimestamp.low >>> 0, object.recipientTimestamp.high >>> 0).toNumber(true); if (object.recipientKeyIndexes) { if (!Array.isArray(object.recipientKeyIndexes)) throw TypeError(".proto.DeviceListMetadata.recipientKeyIndexes: array expected"); message.recipientKeyIndexes = []; for (var i = 0; i < object.recipientKeyIndexes.length; ++i) message.recipientKeyIndexes[i] = object.recipientKeyIndexes[i] >>> 0; } return message; }; /** * Creates a plain object from a DeviceListMetadata message. Also converts values to other types if specified. * @function toObject * @memberof proto.DeviceListMetadata * @static * @param {proto.DeviceListMetadata} message DeviceListMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ DeviceListMetadata.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.senderKeyIndexes = []; object.recipientKeyIndexes = []; } if (options.defaults) { if (options.bytes === String) object.senderKeyHash = ""; else { object.senderKeyHash = []; if (options.bytes !== Array) object.senderKeyHash = $util.newBuffer(object.senderKeyHash); } if ($util.Long) { var long = new $util.Long(0, 0, true); object.senderTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.senderTimestamp = options.longs === String ? "0" : 0; if (options.bytes === String) object.recipientKeyHash = ""; else { object.recipientKeyHash = []; if (options.bytes !== Array) object.recipientKeyHash = $util.newBuffer(object.recipientKeyHash); } if ($util.Long) { var long = new $util.Long(0, 0, true); object.recipientTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.recipientTimestamp = options.longs === String ? "0" : 0; } if (message.senderKeyHash != null && message.hasOwnProperty("senderKeyHash")) object.senderKeyHash = options.bytes === String ? $util.base64.encode(message.senderKeyHash, 0, message.senderKeyHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.senderKeyHash) : message.senderKeyHash; if (message.senderTimestamp != null && message.hasOwnProperty("senderTimestamp")) if (typeof message.senderTimestamp === "number") object.senderTimestamp = options.longs === String ? String(message.senderTimestamp) : message.senderTimestamp; else object.senderTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.senderTimestamp) : options.longs === Number ? new $util.LongBits(message.senderTimestamp.low >>> 0, message.senderTimestamp.high >>> 0).toNumber(true) : message.senderTimestamp; if (message.senderKeyIndexes && message.senderKeyIndexes.length) { object.senderKeyIndexes = []; for (var j = 0; j < message.senderKeyIndexes.length; ++j) object.senderKeyIndexes[j] = message.senderKeyIndexes[j]; } if (message.recipientKeyHash != null && message.hasOwnProperty("recipientKeyHash")) object.recipientKeyHash = options.bytes === String ? $util.base64.encode(message.recipientKeyHash, 0, message.recipientKeyHash.length) : options.bytes === Array ? Array.prototype.slice.call(message.recipientKeyHash) : message.recipientKeyHash; if (message.recipientTimestamp != null && message.hasOwnProperty("recipientTimestamp")) if (typeof message.recipientTimestamp === "number") object.recipientTimestamp = options.longs === String ? String(message.recipientTimestamp) : message.recipientTimestamp; else object.recipientTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.recipientTimestamp) : options.longs === Number ? new $util.LongBits(message.recipientTimestamp.low >>> 0, message.recipientTimestamp.high >>> 0).toNumber(true) : message.recipientTimestamp; if (message.recipientKeyIndexes && message.recipientKeyIndexes.length) { object.recipientKeyIndexes = []; for (var j = 0; j < message.recipientKeyIndexes.length; ++j) object.recipientKeyIndexes[j] = message.recipientKeyIndexes[j]; } return object; }; /** * Converts this DeviceListMetadata to JSON. * @function toJSON * @memberof proto.DeviceListMetadata * @instance * @returns {Object.<string,*>} JSON object */ DeviceListMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DeviceListMetadata; })(); proto.DeviceProps = (function() { /** * Properties of a DeviceProps. * @memberof proto * @interface IDeviceProps * @property {string|null} [os] DeviceProps os * @property {proto.DeviceProps.IAppVersion|null} [version] DeviceProps version * @property {proto.DeviceProps.PlatformType|null} [platformType] DeviceProps platformType * @property {boolean|null} [requireFullSync] DeviceProps requireFullSync * @property {proto.DeviceProps.IHistorySyncConfig|null} [historySyncConfig] DeviceProps historySyncConfig */ /** * Constructs a new DeviceProps. * @memberof proto * @classdesc Represents a DeviceProps. * @implements IDeviceProps * @constructor * @param {proto.IDeviceProps=} [properties] Properties to set */ function DeviceProps(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]]; } /** * DeviceProps os. * @member {string} os * @memberof proto.DeviceProps * @instance */ DeviceProps.prototype.os = ""; /** * DeviceProps version. * @member {proto.DeviceProps.IAppVersion|null|undefined} version * @memberof proto.DeviceProps * @instance */ DeviceProps.prototype.version = null; /** * DeviceProps platformType. * @member {proto.DeviceProps.PlatformType} platformType * @memberof proto.DeviceProps * @instance */ DeviceProps.prototype.platformType = 0; /** * DeviceProps requireFullSync. * @member {boolean} requireFullSync * @memberof proto.DeviceProps * @instance */ DeviceProps.prototype.requireFullSync = false; /** * DeviceProps historySyncConfig. * @member {proto.DeviceProps.IHistorySyncConfig|null|undefined} historySyncConfig * @memberof proto.DeviceProps * @instance */ DeviceProps.prototype.historySyncConfig = null; /** * Creates a new DeviceProps instance using the specified properties. * @function create * @memberof proto.DeviceProps * @static * @param {proto.IDeviceProps=} [properties] Properties to set * @returns {proto.DeviceProps} DeviceProps instance */ DeviceProps.create = function create(properties) { return new DeviceProps(properties); }; /** * Encodes the specified DeviceProps message. Does not implicitly {@link proto.DeviceProps.verify|verify} messages. * @function encode * @memberof proto.DeviceProps * @static * @param {proto.IDeviceProps} message DeviceProps message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeviceProps.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.os != null && Object.hasOwnProperty.call(message, "os")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.os); if (message.version != null && Object.hasOwnProperty.call(message, "version")) $root.proto.DeviceProps.AppVersion.encode(message.version, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.platformType != null && Object.hasOwnProperty.call(message, "platformType")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.platformType); if (message.requireFullSync != null && Object.hasOwnProperty.call(message, "requireFullSync")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.requireFullSync); if (message.historySyncConfig != null && Object.hasOwnProperty.call(message, "historySyncConfig")) $root.proto.DeviceProps.HistorySyncConfig.encode(message.historySyncConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; /** * Encodes the specified DeviceProps message, length delimited. Does not implicitly {@link proto.DeviceProps.verify|verify} messages. * @function encodeDelimited * @memberof proto.DeviceProps * @static * @param {proto.IDeviceProps} message DeviceProps message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeviceProps.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DeviceProps message from the specified reader or buffer. * @function decode * @memberof proto.DeviceProps * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.DeviceProps} DeviceProps * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeviceProps.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.DeviceProps(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.os = reader.string(); break; case 2: message.version = $root.proto.DeviceProps.AppVersion.decode(reader, reader.uint32()); break; case 3: message.platformType = reader.int32(); break; case 4: message.requireFullSync = reader.bool(); break; case 5: message.historySyncConfig = $root.proto.DeviceProps.HistorySyncConfig.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DeviceProps message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.DeviceProps * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.DeviceProps} DeviceProps * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeviceProps.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DeviceProps message. * @function verify * @memberof proto.DeviceProps * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DeviceProps.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.os != null && message.hasOwnProperty("os")) if (!$util.isString(message.os)) return "os: string expected"; if (message.version != null && message.hasOwnProperty("version")) { var error = $root.proto.DeviceProps.AppVersion.verify(message.version); if (error) return "version." + error; } if (message.platformType != null && message.hasOwnProperty("platformType")) switch (message.platformType) { default: return "platformType: 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: break; } if (message.requireFullSync != null && message.hasOwnProperty("requireFullSync")) if (typeof message.requireFullSync !== "boolean") return "requireFullSync: boolean expected"; if (message.historySyncConfig != null && message.hasOwnProperty("historySyncConfig")) { var error = $root.proto.DeviceProps.HistorySyncConfig.verify(message.historySyncConfig); if (error) return "historySyncConfig." + error; } return null; }; /** * Creates a DeviceProps message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.DeviceProps * @static * @param {Object.<string,*>} object Plain object * @returns {proto.DeviceProps} DeviceProps */ DeviceProps.fromObject = function fromObject(object) { if (object instanceof $root.proto.DeviceProps) return object; var message = new $root.proto.DeviceProps(); if (object.os != null) message.os = String(object.os); if (object.version != null) { if (typeof object.version !== "object") throw TypeError(".proto.DeviceProps.version: object expected"); message.version = $root.proto.DeviceProps.AppVersion.fromObject(object.version); } switch (object.platformType) { case "UNKNOWN": case 0: message.platformType = 0; break; case "CHROME": case 1: message.platformType = 1; break; case "FIREFOX": case 2: message.platformType = 2; break; case "IE": case 3: message.platformType = 3; break; case "OPERA": case 4: message.platformType = 4; break; case "SAFARI": case 5: message.platformType = 5; break; case "EDGE": case 6: message.platformType = 6; break; case "DESKTOP": case 7: message.platformType = 7; break; case "IPAD": case 8: message.platformType = 8; break; case "ANDROID_TABLET": case 9: message.platformType = 9; break; case "OHANA": case 10: message.platformType = 10; break; case "ALOHA": case 11: message.platformType = 11; break; case "CATALINA": case 12: message.platformType = 12; break; case "TCL_TV": case 13: message.platformType = 13; break; case "IOS_PHONE": case 14: message.platformType = 14; break; case "IOS_CATALYST": case 15: message.platformType = 15; break; case "ANDROID_PHONE": case 16: message.platformType = 16; break; case "ANDROID_AMBIGUOUS": case 17: message.platformType = 17; break; case "WEAR_OS": case 18: message.platformType = 18; break; case "AR_WRIST": case 19: message.platformType = 19; break; case "AR_DEVICE": case 20: message.platformType = 20; break; case "UWP": case 21: message.platformType = 21; break; case "VR": case 22: message.platformType = 22; break; } if (object.requireFullSync != null) message.requireFullSync = Boolean(object.requireFullSync); if (object.historySyncConfig != null) { if (typeof object.historySyncConfig !== "object") throw TypeError(".proto.DeviceProps.historySyncConfig: object expected"); message.historySyncConfig = $root.proto.DeviceProps.HistorySyncConfig.fromObject(object.historySyncConfig); } return message; }; /** * Creates a plain object from a DeviceProps message. Also converts values to other types if specified. * @function toObject * @memberof proto.DeviceProps * @static * @param {proto.DeviceProps} message DeviceProps * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ DeviceProps.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.os = ""; object.version = null; object.platformType = options.enums === String ? "UNKNOWN" : 0; object.requireFullSync = false; object.historySyncConfig = null; } if (message.os != null && message.hasOwnProperty("os")) object.os = message.os; if (message.version != null && message.hasOwnProperty("version")) object.version = $root.proto.DeviceProps.AppVersion.toObject(message.version, options); if (message.platformType != null && message.hasOwnProperty("platformType")) object.platformType = options.enums === String ? $root.proto.DeviceProps.PlatformType[message.platformType] : message.platformType; if (message.requireFullSync != null && message.hasOwnProperty("requireFullSync")) object.requireFullSync = message.requireFullSync; if (message.historySyncConfig != null && message.hasOwnProperty("historySyncConfig")) object.historySyncConfig = $root.proto.DeviceProps.HistorySyncConfig.toObject(message.historySyncConfig, options); return object; }; /** * Converts this DeviceProps to JSON. * @function toJSON * @memberof proto.DeviceProps * @instance * @returns {Object.<string,*>} JSON object */ DeviceProps.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; DeviceProps.AppVersion = (function() { /** * Properties of an AppVersion. * @memberof proto.DeviceProps * @interface IAppVersion * @property {number|null} [primary] AppVersion primary * @property {number|null} [secondary] AppVersion secondary * @property {number|null} [tertiary] AppVersion tertiary * @property {number|null} [quaternary] AppVersion quaternary * @property {number|null} [quinary] AppVersion quinary */ /** * Constructs a new AppVersion. * @memberof proto.DeviceProps * @classdesc Represents an AppVersion. * @implements IAppVersion * @constructor * @param {proto.DeviceProps.IAppVersion=} [properties] Properties to set */ function AppVersion(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]]; } /** * AppVersion primary. * @member {number} primary * @memberof proto.DeviceProps.AppVersion * @instance */ AppVersion.prototype.primary = 0; /** * AppVersion secondary. * @member {number} secondary * @memberof proto.DeviceProps.AppVersion * @instance */ AppVersion.prototype.secondary = 0; /** * AppVersion tertiary. * @member {number} tertiary * @memberof proto.DeviceProps.AppVersion * @instance */ AppVersion.prototype.tertiary = 0; /** * AppVersion quaternary. * @member {number} quaternary * @memberof proto.DeviceProps.AppVersion * @instance */ AppVersion.prototype.quaternary = 0; /** * AppVersion quinary. * @member {number} quinary * @memberof proto.DeviceProps.AppVersion * @instance */ AppVersion.prototype.quinary = 0; /** * Creates a new AppVersion instance using the specified properties. * @function create * @memberof proto.DeviceProps.AppVersion * @static * @param {proto.DeviceProps.IAppVersion=} [properties] Properties to set * @returns {proto.DeviceProps.AppVersion} AppVersion instance */ AppVersion.create = function create(properties) { return new AppVersion(properties); }; /** * Encodes the specified AppVersion message. Does not implicitly {@link proto.DeviceProps.AppVersion.verify|verify} messages. * @function encode * @memberof proto.DeviceProps.AppVersion * @static * @param {proto.DeviceProps.IAppVersion} message AppVersion message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppVersion.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.primary != null && Object.hasOwnProperty.call(message, "primary")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.primary); if (message.secondary != null && Object.hasOwnProperty.call(message, "secondary")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.secondary); if (message.tertiary != null && Object.hasOwnProperty.call(message, "tertiary")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.tertiary); if (message.quaternary != null && Object.hasOwnProperty.call(message, "quaternary")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.quaternary); if (message.quinary != null && Object.hasOwnProperty.call(message, "quinary")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.quinary); return writer; }; /** * Encodes the specified AppVersion message, length delimited. Does not implicitly {@link proto.DeviceProps.AppVersion.verify|verify} messages. * @function encodeDelimited * @memberof proto.DeviceProps.AppVersion * @static * @param {proto.DeviceProps.IAppVersion} message AppVersion message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppVersion.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AppVersion message from the specified reader or buffer. * @function decode * @memberof proto.DeviceProps.AppVersion * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.DeviceProps.AppVersion} AppVersion * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppVersion.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.DeviceProps.AppVersion(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.primary = reader.uint32(); break; case 2: message.secondary = reader.uint32(); break; case 3: message.tertiary = reader.uint32(); break; case 4: message.quaternary = reader.uint32(); break; case 5: message.quinary = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AppVersion message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.DeviceProps.AppVersion * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.DeviceProps.AppVersion} AppVersion * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppVersion.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AppVersion message. * @function verify * @memberof proto.DeviceProps.AppVersion * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AppVersion.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.primary != null && message.hasOwnProperty("primary")) if (!$util.isInteger(message.primary)) return "primary: integer expected"; if (message.secondary != null && message.hasOwnProperty("secondary")) if (!$util.isInteger(message.secondary)) return "secondary: integer expected"; if (message.tertiary != null && message.hasOwnProperty("tertiary")) if (!$util.isInteger(message.tertiary)) return "tertiary: integer expected"; if (message.quaternary != null && message.hasOwnProperty("quaternary")) if (!$util.isInteger(message.quaternary)) return "quaternary: integer expected"; if (message.quinary != null && message.hasOwnProperty("quinary")) if (!$util.isInteger(message.quinary)) return "quinary: integer expected"; return null; }; /** * Creates an AppVersion message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.DeviceProps.AppVersion * @static * @param {Object.<string,*>} object Plain object * @returns {proto.DeviceProps.AppVersion} AppVersion */ AppVersion.fromObject = function fromObject(object) { if (object instanceof $root.proto.DeviceProps.AppVersion) return object; var message = new $root.proto.DeviceProps.AppVersion(); if (object.primary != null) message.primary = object.primary >>> 0; if (object.secondary != null) message.secondary = object.secondary >>> 0; if (object.tertiary != null) message.tertiary = object.tertiary >>> 0; if (object.quaternary != null) message.quaternary = object.quaternary >>> 0; if (object.quinary != null) message.quinary = object.quinary >>> 0; return message; }; /** * Creates a plain object from an AppVersion message. Also converts values to other types if specified. * @function toObject * @memberof proto.DeviceProps.AppVersion * @static * @param {proto.DeviceProps.AppVersion} message AppVersion * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ AppVersion.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.primary = 0; object.secondary = 0; object.tertiary = 0; object.quaternary = 0; object.quinary = 0; } if (message.primary != null && message.hasOwnProperty("primary")) object.primary = message.primary; if (message.secondary != null && message.hasOwnProperty("secondary")) object.secondary = message.secondary; if (message.tertiary != null && message.hasOwnProperty("tertiary")) object.tertiary = message.tertiary; if (message.quaternary != null && message.hasOwnProperty("quaternary")) object.quaternary = message.quaternary; if (message.quinary != null && message.hasOwnProperty("quinary")) object.quinary = message.quinary; return object; }; /** * Converts this AppVersion to JSON. * @function toJSON * @memberof proto.DeviceProps.AppVersion * @instance * @returns {Object.<string,*>} JSON object */ AppVersion.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppVersion; })(); DeviceProps.HistorySyncConfig = (function() { /** * Properties of a HistorySyncConfig. * @memberof proto.DeviceProps * @interface IHistorySyncConfig * @property {number|null} [fullSyncDaysLimit] HistorySyncConfig fullSyncDaysLimit * @property {number|null} [fullSyncSizeMbLimit] HistorySyncConfig fullSyncSizeMbLimit * @property {number|null} [storageQuotaMb] HistorySyncConfig storageQuotaMb * @property {boolean|null} [inlineInitialPayloadInE2EeMsg] HistorySyncConfig inlineInitialPayloadInE2EeMsg * @property {number|null} [recentSyncDaysLimit] HistorySyncConfig recentSyncDaysLimit */ /** * Constructs a new HistorySyncConfig. * @memberof proto.DeviceProps * @classdesc Represents a HistorySyncConfig. * @implements IHistorySyncConfig * @constructor * @param {proto.DeviceProps.IHistorySyncConfig=} [properties] Properties to set */ function HistorySyncConfig(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]]; } /** * HistorySyncConfig fullSyncDaysLimit. * @member {number} fullSyncDaysLimit * @memberof proto.DeviceProps.HistorySyncConfig * @instance */ HistorySyncConfig.prototype.fullSyncDaysLimit = 0; /** * HistorySyncConfig fullSyncSizeMbLimit. * @member {number} fullSyncSizeMbLimit * @memberof proto.DeviceProps.HistorySyncConfig * @instance */ HistorySyncConfig.prototype.fullSyncSizeMbLimit = 0; /** * HistorySyncConfig storageQuotaMb. * @member {number} storageQuotaMb * @memberof proto.DeviceProps.HistorySyncConfig * @instance */ HistorySyncConfig.prototype.storageQuotaMb = 0; /** * HistorySyncConfig inlineInitialPayloadInE2EeMsg. * @member {boolean} inlineInitialPayloadInE2EeMsg * @memberof proto.DeviceProps.HistorySyncConfig * @instance */ HistorySyncConfig.prototype.inlineInitialPayloadInE2EeMsg = false; /** * HistorySyncConfig recentSyncDaysLimit. * @member {number} recentSyncDaysLimit * @memberof proto.DeviceProps.HistorySyncConfig * @instance */ HistorySyncConfig.prototype.recentSyncDaysLimit = 0; /** * Creates a new HistorySyncConfig instance using the specified properties. * @function create * @memberof proto.DeviceProps.HistorySyncConfig * @static * @param {proto.DeviceProps.IHistorySyncConfig=} [properties] Properties to set * @returns {proto.DeviceProps.HistorySyncConfig} HistorySyncConfig instance */ HistorySyncConfig.create = function create(properties) { return new HistorySyncConfig(properties); }; /** * Encodes the specified HistorySyncConfig message. Does not implicitly {@link proto.DeviceProps.HistorySyncConfig.verify|verify} messages. * @function encode * @memberof proto.DeviceProps.HistorySyncConfig * @static * @param {proto.DeviceProps.IHistorySyncConfig} message HistorySyncConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HistorySyncConfig.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.fullSyncDaysLimit != null && Object.hasOwnProperty.call(message, "fullSyncDaysLimit")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.fullSyncDaysLimit); if (message.fullSyncSizeMbLimit != null && Object.hasOwnProperty.call(message, "fullSyncSizeMbLimit")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.fullSyncSizeMbLimit); if (message.storageQuotaMb != null && Object.hasOwnProperty.call(message, "storageQuotaMb")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.storageQuotaMb); if (message.inlineInitialPayloadInE2EeMsg != null && Object.hasOwnProperty.call(message, "inlineInitialPayloadInE2EeMsg")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.inlineInitialPayloadInE2EeMsg); if (message.recentSyncDaysLimit != null && Object.hasOwnProperty.call(message, "recentSyncDaysLimit")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.recentSyncDaysLimit); return writer; }; /** * Encodes the specified HistorySyncConfig message, length delimited. Does not implicitly {@link proto.DeviceProps.HistorySyncConfig.verify|verify} messages. * @function encodeDelimited * @memberof proto.DeviceProps.HistorySyncConfig * @static * @param {proto.DeviceProps.IHistorySyncConfig} message HistorySyncConfig message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HistorySyncConfig.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HistorySyncConfig message from the specified reader or buffer. * @function decode * @memberof proto.DeviceProps.HistorySyncConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.DeviceProps.HistorySyncConfig} HistorySyncConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HistorySyncConfig.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.DeviceProps.HistorySyncConfig(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.fullSyncDaysLimit = reader.uint32(); break; case 2: message.fullSyncSizeMbLimit = reader.uint32(); break; case 3: message.storageQuotaMb = reader.uint32(); break; case 4: message.inlineInitialPayloadInE2EeMsg = reader.bool(); break; case 5: message.recentSyncDaysLimit = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HistorySyncConfig message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.DeviceProps.HistorySyncConfig * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.DeviceProps.HistorySyncConfig} HistorySyncConfig * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HistorySyncConfig.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HistorySyncConfig message. * @function verify * @memberof proto.DeviceProps.HistorySyncConfig * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HistorySyncConfig.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.fullSyncDaysLimit != null && message.hasOwnProperty("fullSyncDaysLimit")) if (!$util.isInteger(message.fullSyncDaysLimit)) return "fullSyncDaysLimit: integer expected"; if (message.fullSyncSizeMbLimit != null && message.hasOwnProperty("fullSyncSizeMbLimit")) if (!$util.isInteger(message.fullSyncSizeMbLimit)) return "fullSyncSizeMbLimit: integer expected"; if (message.storageQuotaMb != null && message.hasOwnProperty("storageQuotaMb")) if (!$util.isInteger(message.storageQuotaMb)) return "storageQuotaMb: integer expected"; if (message.inlineInitialPayloadInE2EeMsg != null && message.hasOwnProperty("inlineInitialPayloadInE2EeMsg")) if (typeof message.inlineInitialPayloadInE2EeMsg !== "boolean") return "inlineInitialPayloadInE2EeMsg: boolean expected"; if (message.recentSyncDaysLimit != null && message.hasOwnProperty("recentSyncDaysLimit")) if (!$util.isInteger(message.recentSyncDaysLimit)) return "recentSyncDaysLimit: integer expected"; return null; }; /** * Creates a HistorySyncConfig message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.DeviceProps.HistorySyncConfig * @static * @param {Object.<string,*>} object Plain object * @returns {proto.DeviceProps.HistorySyncConfig} HistorySyncConfig */ HistorySyncConfig.fromObject = function fromObject(object) { if (object instanceof $root.proto.DeviceProps.HistorySyncConfig) return object; var message = new $root.proto.DeviceProps.HistorySyncConfig(); if (object.fullSyncDaysLimit != null) message.fullSyncDaysLimit = object.fullSyncDaysLimit >>> 0; if (object.fullSyncSizeMbLimit != null) message.fullSyncSizeMbLimit = object.fullSyncSizeMbLimit >>> 0; if (object.storageQuotaMb != null) message.storageQuotaMb = object.storageQuotaMb >>> 0; if (object.inlineInitialPayloadInE2EeMsg != null) message.inlineInitialPayloadInE2EeMsg = Boolean(object.inlineInitialPayloadInE2EeMsg); if (object.recentSyncDaysLimit != null) message.recentSyncDaysLimit = object.recentSyncDaysLimit >>> 0; return message; }; /** * Creates a plain object from a HistorySyncConfig message. Also converts values to other types if specified. * @function toObject * @memberof proto.DeviceProps.HistorySyncConfig * @static * @param {proto.DeviceProps.HistorySyncConfig} message HistorySyncConfig * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ HistorySyncConfig.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.fullSyncDaysLimit = 0; object.fullSyncSizeMbLimit = 0; object.storageQuotaMb = 0; object.inlineInitialPayloadInE2EeMsg = false; object.recentSyncDaysLimit = 0; } if (message.fullSyncDaysLimit != null && message.hasOwnProperty("fullSyncDaysLimit")) object.fullSyncDaysLimit = message.fullSyncDaysLimit; if (message.fullSyncSizeMbLimit != null && message.hasOwnProperty("fullSyncSizeMbLimit")) object.fullSyncSizeMbLimit = message.fullSyncSizeMbLimit; if (message.storageQuotaMb != null && message.hasOwnProperty("storageQuotaMb")) object.storageQuotaMb = message.storageQuotaMb; if (message.inlineInitialPayloadInE2EeMsg != null && message.hasOwnProperty("inlineInitialPayloadInE2EeMsg")) object.inlineInitialPayloadInE2EeMsg = message.inlineInitialPayloadInE2EeMsg; if (message.recentSyncDaysLimit != null && message.hasOwnProperty("recentSyncDaysLimit")) object.recentSyncDaysLimit = message.recentSyncDaysLimit; return object; }; /** * Converts this HistorySyncConfig to JSON. * @function toJSON * @memberof proto.DeviceProps.HistorySyncConfig * @instance * @returns {Object.<string,*>} JSON object */ HistorySyncConfig.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HistorySyncConfig; })(); /** * PlatformType enum. * @name proto.DeviceProps.PlatformType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} CHROME=1 CHROME value * @property {number} FIREFOX=2 FIREFOX value * @property {number} IE=3 IE value * @property {number} OPERA=4 OPERA value * @property {number} SAFARI=5 SAFARI value * @property {number} EDGE=6 EDGE value * @property {number} DESKTOP=7 DESKTOP value * @property {number} IPAD=8 IPAD value * @property {number} ANDROID_TABLET=9 ANDROID_TABLET value * @property {number} OHANA=10 OHANA value * @property {number} ALOHA=11 ALOHA value * @property {number} CATALINA=12 CATALINA value * @property {number} TCL_TV=13 TCL_TV value * @property {number} IOS_PHONE=14 IOS_PHONE value * @property {number} IOS_CATALYST=15 IOS_CATALYST value * @property {number} ANDROID_PHONE=16 ANDROID_PHONE value * @property {number} ANDROID_AMBIGUOUS=17 ANDROID_AMBIGUOUS value * @property {number} WEAR_OS=18 WEAR_OS value * @property {number} AR_WRIST=19 AR_WRIST value * @property {number} AR_DEVICE=20 AR_DEVICE value * @property {number} UWP=21 UWP value * @property {number} VR=22 VR value */ DeviceProps.PlatformType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "CHROME"] = 1; values[valuesById[2] = "FIREFOX"] = 2; values[valuesById[3] = "IE"] = 3; values[valuesById[4] = "OPERA"] = 4; values[valuesById[5] = "SAFARI"] = 5; values[valuesById[6] = "EDGE"] = 6; values[valuesById[7] = "DESKTOP"] = 7; values[valuesById[8] = "IPAD"] = 8; values[valuesById[9] = "ANDROID_TABLET"] = 9; values[valuesById[10] = "OHANA"] = 10; values[valuesById[11] = "ALOHA"] = 11; values[valuesById[12] = "CATALINA"] = 12; values[valuesById[13] = "TCL_TV"] = 13; values[valuesById[14] = "IOS_PHONE"] = 14; values[valuesById[15] = "IOS_CATALYST"] = 15; values[valuesById[16] = "ANDROID_PHONE"] = 16; values[valuesById[17] = "ANDROID_AMBIGUOUS"] = 17; values[valuesById[18] = "WEAR_OS"] = 18; values[valuesById[19] = "AR_WRIST"] = 19; values[valuesById[20] = "AR_DEVICE"] = 20; values[valuesById[21] = "UWP"] = 21; values[valuesById[22] = "VR"] = 22; return values; })(); return DeviceProps; })(); proto.DisappearingMode = (function() { /** * Properties of a DisappearingMode. * @memberof proto * @interface IDisappearingMode * @property {proto.DisappearingMode.Initiator|null} [initiator] DisappearingMode initiator * @property {proto.DisappearingMode.Trigger|null} [trigger] DisappearingMode trigger * @property {string|null} [initiatorDeviceJid] DisappearingMode initiatorDeviceJid */ /** * Constructs a new DisappearingMode. * @memberof proto * @classdesc Represents a DisappearingMode. * @implements IDisappearingMode * @constructor * @param {proto.IDisappearingMode=} [properties] Properties to set */ function DisappearingMode(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]]; } /** * DisappearingMode initiator. * @member {proto.DisappearingMode.Initiator} initiator * @memberof proto.DisappearingMode * @instance */ DisappearingMode.prototype.initiator = 0; /** * DisappearingMode trigger. * @member {proto.DisappearingMode.Trigger} trigger * @memberof proto.DisappearingMode * @instance */ DisappearingMode.prototype.trigger = 0; /** * DisappearingMode initiatorDeviceJid. * @member {string} initiatorDeviceJid * @memberof proto.DisappearingMode * @instance */ DisappearingMode.prototype.initiatorDeviceJid = ""; /** * Creates a new DisappearingMode instance using the specified properties. * @function create * @memberof proto.DisappearingMode * @static * @param {proto.IDisappearingMode=} [properties] Properties to set * @returns {proto.DisappearingMode} DisappearingMode instance */ DisappearingMode.create = function create(properties) { return new DisappearingMode(properties); }; /** * Encodes the specified DisappearingMode message. Does not implicitly {@link proto.DisappearingMode.verify|verify} messages. * @function encode * @memberof proto.DisappearingMode * @static * @param {proto.IDisappearingMode} message DisappearingMode message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DisappearingMode.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.initiator != null && Object.hasOwnProperty.call(message, "initiator")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.initiator); if (message.trigger != null && Object.hasOwnProperty.call(message, "trigger")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.trigger); if (message.initiatorDeviceJid != null && Object.hasOwnProperty.call(message, "initiatorDeviceJid")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.initiatorDeviceJid); return writer; }; /** * Encodes the specified DisappearingMode message, length delimited. Does not implicitly {@link proto.DisappearingMode.verify|verify} messages. * @function encodeDelimited * @memberof proto.DisappearingMode * @static * @param {proto.IDisappearingMode} message DisappearingMode message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DisappearingMode.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DisappearingMode message from the specified reader or buffer. * @function decode * @memberof proto.DisappearingMode * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.DisappearingMode} DisappearingMode * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DisappearingMode.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.DisappearingMode(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.initiator = reader.int32(); break; case 2: message.trigger = reader.int32(); break; case 3: message.initiatorDeviceJid = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DisappearingMode message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.DisappearingMode * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.DisappearingMode} DisappearingMode * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DisappearingMode.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DisappearingMode message. * @function verify * @memberof proto.DisappearingMode * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DisappearingMode.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.initiator != null && message.hasOwnProperty("initiator")) switch (message.initiator) { default: return "initiator: enum value expected"; case 0: case 1: case 2: break; } if (message.trigger != null && message.hasOwnProperty("trigger")) switch (message.trigger) { default: return "trigger: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.initiatorDeviceJid != null && message.hasOwnProperty("initiatorDeviceJid")) if (!$util.isString(message.initiatorDeviceJid)) return "initiatorDeviceJid: string expected"; return null; }; /** * Creates a DisappearingMode message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.DisappearingMode * @static * @param {Object.<string,*>} object Plain object * @returns {proto.DisappearingMode} DisappearingMode */ DisappearingMode.fromObject = function fromObject(object) { if (object instanceof $root.proto.DisappearingMode) return object; var message = new $root.proto.DisappearingMode(); switch (object.initiator) { case "CHANGED_IN_CHAT": case 0: message.initiator = 0; break; case "INITIATED_BY_ME": case 1: message.initiator = 1; break; case "INITIATED_BY_OTHER": case 2: message.initiator = 2; break; } switch (object.trigger) { case "UNKNOWN": case 0: message.trigger = 0; break; case "CHAT_SETTING": case 1: message.trigger = 1; break; case "ACCOUNT_SETTING": case 2: message.trigger = 2; break; case "BULK_CHANGE": case 3: message.trigger = 3; break; } if (object.initiatorDeviceJid != null) message.initiatorDeviceJid = String(object.initiatorDeviceJid); return message; }; /** * Creates a plain object from a DisappearingMode message. Also converts values to other types if specified. * @function toObject * @memberof proto.DisappearingMode * @static * @param {proto.DisappearingMode} message DisappearingMode * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ DisappearingMode.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.initiator = options.enums === String ? "CHANGED_IN_CHAT" : 0; object.trigger = options.enums === String ? "UNKNOWN" : 0; object.initiatorDeviceJid = ""; } if (message.initiator != null && message.hasOwnProperty("initiator")) object.initiator = options.enums === String ? $root.proto.DisappearingMode.Initiator[message.initiator] : message.initiator; if (message.trigger != null && message.hasOwnProperty("trigger")) object.trigger = options.enums === String ? $root.proto.DisappearingMode.Trigger[message.trigger] : message.trigger; if (message.initiatorDeviceJid != null && message.hasOwnProperty("initiatorDeviceJid")) object.initiatorDeviceJid = message.initiatorDeviceJid; return object; }; /** * Converts this DisappearingMode to JSON. * @function toJSON * @memberof proto.DisappearingMode * @instance * @returns {Object.<string,*>} JSON object */ DisappearingMode.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Initiator enum. * @name proto.DisappearingMode.Initiator * @enum {number} * @property {number} CHANGED_IN_CHAT=0 CHANGED_IN_CHAT value * @property {number} INITIATED_BY_ME=1 INITIATED_BY_ME value * @property {number} INITIATED_BY_OTHER=2 INITIATED_BY_OTHER value */ DisappearingMode.Initiator = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "CHANGED_IN_CHAT"] = 0; values[valuesById[1] = "INITIATED_BY_ME"] = 1; values[valuesById[2] = "INITIATED_BY_OTHER"] = 2; return values; })(); /** * Trigger enum. * @name proto.DisappearingMode.Trigger * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} CHAT_SETTING=1 CHAT_SETTING value * @property {number} ACCOUNT_SETTING=2 ACCOUNT_SETTING value * @property {number} BULK_CHANGE=3 BULK_CHANGE value */ DisappearingMode.Trigger = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "CHAT_SETTING"] = 1; values[valuesById[2] = "ACCOUNT_SETTING"] = 2; values[valuesById[3] = "BULK_CHANGE"] = 3; return values; })(); return DisappearingMode; })(); proto.EphemeralSetting = (function() { /** * Properties of an EphemeralSetting. * @memberof proto * @interface IEphemeralSetting * @property {number|null} [duration] EphemeralSetting duration * @property {number|Long|null} [timestamp] EphemeralSetting timestamp */ /** * 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 duration. * @member {number} duration * @memberof proto.EphemeralSetting * @instance */ EphemeralSetting.prototype.duration = 0; /** * EphemeralSetting timestamp. * @member {number|Long} timestamp * @memberof proto.EphemeralSetting * @instance */ EphemeralSetting.prototype.timestamp = $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.duration != null && Object.hasOwnProperty.call(message, "duration")) writer.uint32(/* id 1, wireType 5 =*/13).sfixed32(message.duration); if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) writer.uint32(/* id 2, wireType 1 =*/17).sfixed64(message.timestamp); 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.duration = reader.sfixed32(); break; case 2: message.timestamp = reader.sfixed64(); 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.<string,*>} 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.duration != null && message.hasOwnProperty("duration")) if (!$util.isInteger(message.duration)) return "duration: integer 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 an EphemeralSetting message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.EphemeralSetting * @static * @param {Object.<string,*>} 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.duration != null) message.duration = object.duration | 0; 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 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.<string,*>} Plain object */ EphemeralSetting.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.duration = 0; 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.duration != null && message.hasOwnProperty("duration")) object.duration = message.duration; 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 EphemeralSetting to JSON. * @function toJSON * @memberof proto.EphemeralSetting * @instance * @returns {Object.<string,*>} JSON object */ EphemeralSetting.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return EphemeralSetting; })(); proto.ExitCode = (function() { /** * Properties of an ExitCode. * @memberof proto * @interface IExitCode * @property {number|Long|null} [code] ExitCode code * @property {string|null} [text] ExitCode text */ /** * Constructs a new ExitCode. * @memberof proto * @classdesc Represents an ExitCode. * @implements IExitCode * @constructor * @param {proto.IExitCode=} [properties] Properties to set */ function ExitCode(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]]; } /** * ExitCode code. * @member {number|Long} code * @memberof proto.ExitCode * @instance */ ExitCode.prototype.code = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * ExitCode text. * @member {string} text * @memberof proto.ExitCode * @instance */ ExitCode.prototype.text = ""; /** * Creates a new ExitCode instance using the specified properties. * @function create * @memberof proto.ExitCode * @static * @param {proto.IExitCode=} [properties] Properties to set * @returns {proto.ExitCode} ExitCode instance */ ExitCode.create = function create(properties) { return new ExitCode(properties); }; /** * Encodes the specified ExitCode message. Does not implicitly {@link proto.ExitCode.verify|verify} messages. * @function encode * @memberof proto.ExitCode * @static * @param {proto.IExitCode} message ExitCode message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ExitCode.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.code != null && Object.hasOwnProperty.call(message, "code")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.code); if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); return writer; }; /** * Encodes the specified ExitCode message, length delimited. Does not implicitly {@link proto.ExitCode.verify|verify} messages. * @function encodeDelimited * @memberof proto.ExitCode * @static * @param {proto.IExitCode} message ExitCode message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ExitCode.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an ExitCode message from the specified reader or buffer. * @function decode * @memberof proto.ExitCode * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ExitCode} ExitCode * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ExitCode.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.ExitCode(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.code = reader.uint64(); break; case 2: message.text = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an ExitCode message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ExitCode * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ExitCode} ExitCode * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ExitCode.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an ExitCode message. * @function verify * @memberof proto.ExitCode * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ExitCode.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.code != null && message.hasOwnProperty("code")) if (!$util.isInteger(message.code) && !(message.code && $util.isInteger(message.code.low) && $util.isInteger(message.code.high))) return "code: integer|Long expected"; if (message.text != null && message.hasOwnProperty("text")) if (!$util.isString(message.text)) return "text: string expected"; return null; }; /** * Creates an ExitCode message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ExitCode * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ExitCode} ExitCode */ ExitCode.fromObject = function fromObject(object) { if (object instanceof $root.proto.ExitCode) return object; var message = new $root.proto.ExitCode(); if (object.code != null) if ($util.Long) (message.code = $util.Long.fromValue(object.code)).unsigned = true; else if (typeof object.code === "string") message.code = parseInt(object.code, 10); else if (typeof object.code === "number") message.code = object.code; else if (typeof object.code === "object") message.code = new $util.LongBits(object.code.low >>> 0, object.code.high >>> 0).toNumber(true); if (object.text != null) message.text = String(object.text); return message; }; /** * Creates a plain object from an ExitCode message. Also converts values to other types if specified. * @function toObject * @memberof proto.ExitCode * @static * @param {proto.ExitCode} message ExitCode * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ExitCode.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if ($util.Long) { var long = new $util.Long(0, 0, true); object.code = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.code = options.longs === String ? "0" : 0; object.text = ""; } if (message.code != null && message.hasOwnProperty("code")) if (typeof message.code === "number") object.code = options.longs === String ? String(message.code) : message.code; else object.code = options.longs === String ? $util.Long.prototype.toString.call(message.code) : options.longs === Number ? new $util.LongBits(message.code.low >>> 0, message.code.high >>> 0).toNumber(true) : message.code; if (message.text != null && message.hasOwnProperty("text")) object.text = message.text; return object; }; /** * Converts this ExitCode to JSON. * @function toJSON * @memberof proto.ExitCode * @instance * @returns {Object.<string,*>} JSON object */ ExitCode.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ExitCode; })(); proto.ExternalBlobReference = (function() { /** * Properties of an ExternalBlobReference. * @memberof proto * @interface IExternalBlobReference * @property {Uint8Array|null} [mediaKey] ExternalBlobReference mediaKey * @property {string|null} [directPath] ExternalBlobReference directPath * @property {string|null} [handle] ExternalBlobReference handle * @property {number|Long|null} [fileSizeBytes] ExternalBlobReference fileSizeBytes * @property {Uint8Array|null} [fileSha256] ExternalBlobReference fileSha256 * @property {Uint8Array|null} [fileEncSha256] ExternalBlobReference fileEncSha256 */ /** * Constructs a new ExternalBlobReference. * @memberof proto * @classdesc Represents an ExternalBlobReference. * @implements IExternalBlobReference * @constructor * @param {proto.IExternalBlobReference=} [properties] Properties to set */ function ExternalBlobReference(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]]; } /** * ExternalBlobReference mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.ExternalBlobReference * @instance */ ExternalBlobReference.prototype.mediaKey = $util.newBuffer([]); /** * ExternalBlobReference directPath. * @member {string} directPath * @memberof proto.ExternalBlobReference * @instance */ ExternalBlobReference.prototype.directPath = ""; /** * ExternalBlobReference handle. * @member {string} handle * @memberof proto.ExternalBlobReference * @instance */ ExternalBlobReference.prototype.handle = ""; /** * ExternalBlobReference fileSizeBytes. * @member {number|Long} fileSizeBytes * @memberof proto.ExternalBlobReference * @instance */ ExternalBlobReference.prototype.fileSizeBytes = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * ExternalBlobReference fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.ExternalBlobReference * @instance */ ExternalBlobReference.prototype.fileSha256 = $util.newBuffer([]); /** * ExternalBlobReference fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.ExternalBlobReference * @instance */ ExternalBlobReference.prototype.fileEncSha256 = $util.newBuffer([]); /** * Creates a new ExternalBlobReference instance using the specified properties. * @function create * @memberof proto.ExternalBlobReference * @static * @param {proto.IExternalBlobReference=} [properties] Properties to set * @returns {proto.ExternalBlobReference} ExternalBlobReference instance */ ExternalBlobReference.create = function create(properties) { return new ExternalBlobReference(properties); }; /** * Encodes the specified ExternalBlobReference message. Does not implicitly {@link proto.ExternalBlobReference.verify|verify} messages. * @function encode * @memberof proto.ExternalBlobReference * @static * @param {proto.IExternalBlobReference} message ExternalBlobReference message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ExternalBlobReference.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.mediaKey); if (message.directPath != null && Object.hasOwnProperty.call(message, "directPath")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.directPath); if (message.handle != null && Object.hasOwnProperty.call(message, "handle")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.handle); if (message.fileSizeBytes != null && Object.hasOwnProperty.call(message, "fileSizeBytes")) writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.fileSizeBytes); if (message.fileSha256 != null && Object.hasOwnProperty.call(message, "fileSha256")) writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.fileSha256); if (message.fileEncSha256 != null && Object.hasOwnProperty.call(message, "fileEncSha256")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.fileEncSha256); return writer; }; /** * Encodes the specified ExternalBlobReference message, length delimited. Does not implicitly {@link proto.ExternalBlobReference.verify|verify} messages. * @function encodeDelimited * @memberof proto.ExternalBlobReference * @static * @param {proto.IExternalBlobReference} message ExternalBlobReference message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ExternalBlobReference.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an ExternalBlobReference message from the specified reader or buffer. * @function decode * @memberof proto.ExternalBlobReference * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ExternalBlobReference} ExternalBlobReference * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ExternalBlobReference.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.ExternalBlobReference(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.mediaKey = reader.bytes(); break; case 2: message.directPath = reader.string(); break; case 3: message.handle = reader.string(); break; case 4: message.fileSizeBytes = reader.uint64(); break; case 5: message.fileSha256 = reader.bytes(); break; case 6: message.fileEncSha256 = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an ExternalBlobReference message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ExternalBlobReference * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ExternalBlobReference} ExternalBlobReference * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ExternalBlobReference.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an ExternalBlobReference message. * @function verify * @memberof proto.ExternalBlobReference * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ExternalBlobReference.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object 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.directPath != null && message.hasOwnProperty("directPath")) if (!$util.isString(message.directPath)) return "directPath: string expected"; if (message.handle != null && message.hasOwnProperty("handle")) if (!$util.isString(message.handle)) return "handle: string expected"; if (message.fileSizeBytes != null && message.hasOwnProperty("fileSizeBytes")) if (!$util.isInteger(message.fileSizeBytes) && !(message.fileSizeBytes && $util.isInteger(message.fileSizeBytes.low) && $util.isInteger(message.fileSizeBytes.high))) return "fileSizeBytes: integer|Long 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"; return null; }; /** * Creates an ExternalBlobReference message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ExternalBlobReference * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ExternalBlobReference} ExternalBlobReference */ ExternalBlobReference.fromObject = function fromObject(object) { if (object instanceof $root.proto.ExternalBlobReference) return object; var message = new $root.proto.ExternalBlobReference(); 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.directPath != null) message.directPath = String(object.directPath); if (object.handle != null) message.handle = String(object.handle); if (object.fileSizeBytes != null) if ($util.Long) (message.fileSizeBytes = $util.Long.fromValue(object.fileSizeBytes)).unsigned = true; else if (typeof object.fileSizeBytes === "string") message.fileSizeBytes = parseInt(object.fileSizeBytes, 10); else if (typeof object.fileSizeBytes === "number") message.fileSizeBytes = object.fileSizeBytes; else if (typeof object.fileSizeBytes === "object") message.fileSizeBytes = new $util.LongBits(object.fileSizeBytes.low >>> 0, object.fileSizeBytes.high >>> 0).toNumber(true); 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; return message; }; /** * Creates a plain object from an ExternalBlobReference message. Also converts values to other types if specified. * @function toObject * @memberof proto.ExternalBlobReference * @static * @param {proto.ExternalBlobReference} message ExternalBlobReference * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ExternalBlobReference.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.mediaKey = ""; else { object.mediaKey = []; if (options.bytes !== Array) object.mediaKey = $util.newBuffer(object.mediaKey); } object.directPath = ""; object.handle = ""; if ($util.Long) { var long = new $util.Long(0, 0, true); object.fileSizeBytes = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.fileSizeBytes = options.longs === String ? "0" : 0; 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 (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.directPath != null && message.hasOwnProperty("directPath")) object.directPath = message.directPath; if (message.handle != null && message.hasOwnProperty("handle")) object.handle = message.handle; if (message.fileSizeBytes != null && message.hasOwnProperty("fileSizeBytes")) if (typeof message.fileSizeBytes === "number") object.fileSizeBytes = options.longs === String ? String(message.fileSizeBytes) : message.fileSizeBytes; else object.fileSizeBytes = options.longs === String ? $util.Long.prototype.toString.call(message.fileSizeBytes) : options.longs === Number ? new $util.LongBits(message.fileSizeBytes.low >>> 0, message.fileSizeBytes.high >>> 0).toNumber(true) : message.fileSizeBytes; 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; return object; }; /** * Converts this ExternalBlobReference to JSON. * @function toJSON * @memberof proto.ExternalBlobReference * @instance * @returns {Object.<string,*>} JSON object */ ExternalBlobReference.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ExternalBlobReference; })(); proto.GlobalSettings = (function() { /** * Properties of a GlobalSettings. * @memberof proto * @interface IGlobalSettings * @property {proto.IWallpaperSettings|null} [lightThemeWallpaper] GlobalSettings lightThemeWallpaper * @property {proto.MediaVisibility|null} [mediaVisibility] GlobalSettings mediaVisibility * @property {proto.IWallpaperSettings|null} [darkThemeWallpaper] GlobalSettings darkThemeWallpaper * @property {proto.IAutoDownloadSettings|null} [autoDownloadWiFi] GlobalSettings autoDownloadWiFi * @property {proto.IAutoDownloadSettings|null} [autoDownloadCellular] GlobalSettings autoDownloadCellular * @property {proto.IAutoDownloadSettings|null} [autoDownloadRoaming] GlobalSettings autoDownloadRoaming * @property {boolean|null} [showIndividualNotificationsPreview] GlobalSettings showIndividualNotificationsPreview * @property {boolean|null} [showGroupNotificationsPreview] GlobalSettings showGroupNotificationsPreview * @property {number|null} [disappearingModeDuration] GlobalSettings disappearingModeDuration * @property {number|Long|null} [disappearingModeTimestamp] GlobalSettings disappearingModeTimestamp * @property {proto.IAvatarUserSettings|null} [avatarUserSettings] GlobalSettings avatarUserSettings * @property {number|null} [fontSize] GlobalSettings fontSize * @property {boolean|null} [securityNotifications] GlobalSettings securityNotifications * @property {boolean|null} [autoUnarchiveChats] GlobalSettings autoUnarchiveChats * @property {number|null} [videoQualityMode] GlobalSettings videoQualityMode * @property {number|null} [photoQualityMode] GlobalSettings photoQualityMode * @property {proto.INotificationSettings|null} [individualNotificationSettings] GlobalSettings individualNotificationSettings * @property {proto.INotificationSettings|null} [groupNotificationSettings] GlobalSettings groupNotificationSettings */ /** * Constructs a new GlobalSettings. * @memberof proto * @classdesc Represents a GlobalSettings. * @implements IGlobalSettings * @constructor * @param {proto.IGlobalSettings=} [properties] Properties to set */ function GlobalSettings(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]]; } /** * GlobalSettings lightThemeWallpaper. * @member {proto.IWallpaperSettings|null|undefined} lightThemeWallpaper * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.lightThemeWallpaper = null; /** * GlobalSettings mediaVisibility. * @member {proto.MediaVisibility} mediaVisibility * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.mediaVisibility = 0; /** * GlobalSettings darkThemeWallpaper. * @member {proto.IWallpaperSettings|null|undefined} darkThemeWallpaper * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.darkThemeWallpaper = null; /** * GlobalSettings autoDownloadWiFi. * @member {proto.IAutoDownloadSettings|null|undefined} autoDownloadWiFi * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.autoDownloadWiFi = null; /** * GlobalSettings autoDownloadCellular. * @member {proto.IAutoDownloadSettings|null|undefined} autoDownloadCellular * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.autoDownloadCellular = null; /** * GlobalSettings autoDownloadRoaming. * @member {proto.IAutoDownloadSettings|null|undefined} autoDownloadRoaming * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.autoDownloadRoaming = null; /** * GlobalSettings showIndividualNotificationsPreview. * @member {boolean} showIndividualNotificationsPreview * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.showIndividualNotificationsPreview = false; /** * GlobalSettings showGroupNotificationsPreview. * @member {boolean} showGroupNotificationsPreview * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.showGroupNotificationsPreview = false; /** * GlobalSettings disappearingModeDuration. * @member {number} disappearingModeDuration * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.disappearingModeDuration = 0; /** * GlobalSettings disappearingModeTimestamp. * @member {number|Long} disappearingModeTimestamp * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.disappearingModeTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * GlobalSettings avatarUserSettings. * @member {proto.IAvatarUserSettings|null|undefined} avatarUserSettings * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.avatarUserSettings = null; /** * GlobalSettings fontSize. * @member {number} fontSize * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.fontSize = 0; /** * GlobalSettings securityNotifications. * @member {boolean} securityNotifications * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.securityNotifications = false; /** * GlobalSettings autoUnarchiveChats. * @member {boolean} autoUnarchiveChats * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.autoUnarchiveChats = false; /** * GlobalSettings videoQualityMode. * @member {number} videoQualityMode * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.videoQualityMode = 0; /** * GlobalSettings photoQualityMode. * @member {number} photoQualityMode * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.photoQualityMode = 0; /** * GlobalSettings individualNotificationSettings. * @member {proto.INotificationSettings|null|undefined} individualNotificationSettings * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.individualNotificationSettings = null; /** * GlobalSettings groupNotificationSettings. * @member {proto.INotificationSettings|null|undefined} groupNotificationSettings * @memberof proto.GlobalSettings * @instance */ GlobalSettings.prototype.groupNotificationSettings = null; /** * Creates a new GlobalSettings instance using the specified properties. * @function create * @memberof proto.GlobalSettings * @static * @param {proto.IGlobalSettings=} [properties] Properties to set * @returns {proto.GlobalSettings} GlobalSettings instance */ GlobalSettings.create = function create(properties) { return new GlobalSettings(properties); }; /** * Encodes the specified GlobalSettings message. Does not implicitly {@link proto.GlobalSettings.verify|verify} messages. * @function encode * @memberof proto.GlobalSettings * @static * @param {proto.IGlobalSettings} message GlobalSettings message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ GlobalSettings.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.lightThemeWallpaper != null && Object.hasOwnProperty.call(message, "lightThemeWallpaper")) $root.proto.WallpaperSettings.encode(message.lightThemeWallpaper, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.mediaVisibility != null && Object.hasOwnProperty.call(message, "mediaVisibility")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.mediaVisibility); if (message.darkThemeWallpaper != null && Object.hasOwnProperty.call(message, "darkThemeWallpaper")) $root.proto.WallpaperSettings.encode(message.darkThemeWallpaper, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.autoDownloadWiFi != null && Object.hasOwnProperty.call(message, "autoDownloadWiFi")) $root.proto.AutoDownloadSettings.encode(message.autoDownloadWiFi, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.autoDownloadCellular != null && Object.hasOwnProperty.call(message, "autoDownloadCellular")) $root.proto.AutoDownloadSettings.encode(message.autoDownloadCellular, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.autoDownloadRoaming != null && Object.hasOwnProperty.call(message, "autoDownloadRoaming")) $root.proto.AutoDownloadSettings.encode(message.autoDownloadRoaming, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.showIndividualNotificationsPreview != null && Object.hasOwnProperty.call(message, "showIndividualNotificationsPreview")) writer.uint32(/* id 7, wireType 0 =*/56).bool(message.showIndividualNotificationsPreview); if (message.showGroupNotificationsPreview != null && Object.hasOwnProperty.call(message, "showGroupNotificationsPreview")) writer.uint32(/* id 8, wireType 0 =*/64).bool(message.showGroupNotificationsPreview); if (message.disappearingModeDuration != null && Object.hasOwnProperty.call(message, "disappearingModeDuration")) writer.uint32(/* id 9, wireType 0 =*/72).int32(message.disappearingModeDuration); if (message.disappearingModeTimestamp != null && Object.hasOwnProperty.call(message, "disappearingModeTimestamp")) writer.uint32(/* id 10, wireType 0 =*/80).int64(message.disappearingModeTimestamp); if (message.avatarUserSettings != null && Object.hasOwnProperty.call(message, "avatarUserSettings")) $root.proto.AvatarUserSettings.encode(message.avatarUserSettings, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); if (message.fontSize != null && Object.hasOwnProperty.call(message, "fontSize")) writer.uint32(/* id 12, wireType 0 =*/96).int32(message.fontSize); if (message.securityNotifications != null && Object.hasOwnProperty.call(message, "securityNotifications")) writer.uint32(/* id 13, wireType 0 =*/104).bool(message.securityNotifications); if (message.autoUnarchiveChats != null && Object.hasOwnProperty.call(message, "autoUnarchiveChats")) writer.uint32(/* id 14, wireType 0 =*/112).bool(message.autoUnarchiveChats); if (message.videoQualityMode != null && Object.hasOwnProperty.call(message, "videoQualityMode")) writer.uint32(/* id 15, wireType 0 =*/120).int32(message.videoQualityMode); if (message.photoQualityMode != null && Object.hasOwnProperty.call(message, "photoQualityMode")) writer.uint32(/* id 16, wireType 0 =*/128).int32(message.photoQualityMode); if (message.individualNotificationSettings != null && Object.hasOwnProperty.call(message, "individualNotificationSettings")) $root.proto.NotificationSettings.encode(message.individualNotificationSettings, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.groupNotificationSettings != null && Object.hasOwnProperty.call(message, "groupNotificationSettings")) $root.proto.NotificationSettings.encode(message.groupNotificationSettings, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); return writer; }; /** * Encodes the specified GlobalSettings message, length delimited. Does not implicitly {@link proto.GlobalSettings.verify|verify} messages. * @function encodeDelimited * @memberof proto.GlobalSettings * @static * @param {proto.IGlobalSettings} message GlobalSettings message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ GlobalSettings.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a GlobalSettings message from the specified reader or buffer. * @function decode * @memberof proto.GlobalSettings * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.GlobalSettings} GlobalSettings * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ GlobalSettings.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.GlobalSettings(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.lightThemeWallpaper = $root.proto.WallpaperSettings.decode(reader, reader.uint32()); break; case 2: message.mediaVisibility = reader.int32(); break; case 3: message.darkThemeWallpaper = $root.proto.WallpaperSettings.decode(reader, reader.uint32()); break; case 4: message.autoDownloadWiFi = $root.proto.AutoDownloadSettings.decode(reader, reader.uint32()); break; case 5: message.autoDownloadCellular = $root.proto.AutoDownloadSettings.decode(reader, reader.uint32()); break; case 6: message.autoDownloadRoaming = $root.proto.AutoDownloadSettings.decode(reader, reader.uint32()); break; case 7: message.showIndividualNotificationsPreview = reader.bool(); break; case 8: message.showGroupNotificationsPreview = reader.bool(); break; case 9: message.disappearingModeDuration = reader.int32(); break; case 10: message.disappearingModeTimestamp = reader.int64(); break; case 11: message.avatarUserSettings = $root.proto.AvatarUserSettings.decode(reader, reader.uint32()); break; case 12: message.fontSize = reader.int32(); break; case 13: message.securityNotifications = reader.bool(); break; case 14: message.autoUnarchiveChats = reader.bool(); break; case 15: message.videoQualityMode = reader.int32(); break; case 16: message.photoQualityMode = reader.int32(); break; case 17: message.individualNotificationSettings = $root.proto.NotificationSettings.decode(reader, reader.uint32()); break; case 18: message.groupNotificationSettings = $root.proto.NotificationSettings.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a GlobalSettings message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.GlobalSettings * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.GlobalSettings} GlobalSettings * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ GlobalSettings.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a GlobalSettings message. * @function verify * @memberof proto.GlobalSettings * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ GlobalSettings.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.lightThemeWallpaper != null && message.hasOwnProperty("lightThemeWallpaper")) { var error = $root.proto.WallpaperSettings.verify(message.lightThemeWallpaper); if (error) return "lightThemeWallpaper." + error; } if (message.mediaVisibility != null && message.hasOwnProperty("mediaVisibility")) switch (message.mediaVisibility) { default: return "mediaVisibility: enum value expected"; case 0: case 1: case 2: break; } if (message.darkThemeWallpaper != null && message.hasOwnProperty("darkThemeWallpaper")) { var error = $root.proto.WallpaperSettings.verify(message.darkThemeWallpaper); if (error) return "darkThemeWallpaper." + error; } if (message.autoDownloadWiFi != null && message.hasOwnProperty("autoDownloadWiFi")) { var error = $root.proto.AutoDownloadSettings.verify(message.autoDownloadWiFi); if (error) return "autoDownloadWiFi." + error; } if (message.autoDownloadCellular != null && message.hasOwnProperty("autoDownloadCellular")) { var error = $root.proto.AutoDownloadSettings.verify(message.autoDownloadCellular); if (error) return "autoDownloadCellular." + error; } if (message.autoDownloadRoaming != null && message.hasOwnProperty("autoDownloadRoaming")) { var error = $root.proto.AutoDownloadSettings.verify(message.autoDownloadRoaming); if (error) return "autoDownloadRoaming." + error; } if (message.showIndividualNotificationsPreview != null && message.hasOwnProperty("showIndividualNotificationsPreview")) if (typeof message.showIndividualNotificationsPreview !== "boolean") return "showIndividualNotificationsPreview: boolean expected"; if (message.showGroupNotificationsPreview != null && message.hasOwnProperty("showGroupNotificationsPreview")) if (typeof message.showGroupNotificationsPreview !== "boolean") return "showGroupNotificationsPreview: boolean expected"; if (message.disappearingModeDuration != null && message.hasOwnProperty("disappearingModeDuration")) if (!$util.isInteger(message.disappearingModeDuration)) return "disappearingModeDuration: integer expected"; if (message.disappearingModeTimestamp != null && message.hasOwnProperty("disappearingModeTimestamp")) if (!$util.isInteger(message.disappearingModeTimestamp) && !(message.disappearingModeTimestamp && $util.isInteger(message.disappearingModeTimestamp.low) && $util.isInteger(message.disappearingModeTimestamp.high))) return "disappearingModeTimestamp: integer|Long expected"; if (message.avatarUserSettings != null && message.hasOwnProperty("avatarUserSettings")) { var error = $root.proto.AvatarUserSettings.verify(message.avatarUserSettings); if (error) return "avatarUserSettings." + error; } if (message.fontSize != null && message.hasOwnProperty("fontSize")) if (!$util.isInteger(message.fontSize)) return "fontSize: integer expected"; if (message.securityNotifications != null && message.hasOwnProperty("securityNotifications")) if (typeof message.securityNotifications !== "boolean") return "securityNotifications: boolean expected"; if (message.autoUnarchiveChats != null && message.hasOwnProperty("autoUnarchiveChats")) if (typeof message.autoUnarchiveChats !== "boolean") return "autoUnarchiveChats: boolean expected"; if (message.videoQualityMode != null && message.hasOwnProperty("videoQualityMode")) if (!$util.isInteger(message.videoQualityMode)) return "videoQualityMode: integer expected"; if (message.photoQualityMode != null && message.hasOwnProperty("photoQualityMode")) if (!$util.isInteger(message.photoQualityMode)) return "photoQualityMode: integer expected"; if (message.individualNotificationSettings != null && message.hasOwnProperty("individualNotificationSettings")) { var error = $root.proto.NotificationSettings.verify(message.individualNotificationSettings); if (error) return "individualNotificationSettings." + error; } if (message.groupNotificationSettings != null && message.hasOwnProperty("groupNotificationSettings")) { var error = $root.proto.NotificationSettings.verify(message.groupNotificationSettings); if (error) return "groupNotificationSettings." + error; } return null; }; /** * Creates a GlobalSettings message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.GlobalSettings * @static * @param {Object.<string,*>} object Plain object * @returns {proto.GlobalSettings} GlobalSettings */ GlobalSettings.fromObject = function fromObject(object) { if (object instanceof $root.proto.GlobalSettings) return object; var message = new $root.proto.GlobalSettings(); if (object.lightThemeWallpaper != null) { if (typeof object.lightThemeWallpaper !== "object") throw TypeError(".proto.GlobalSettings.lightThemeWallpaper: object expected"); message.lightThemeWallpaper = $root.proto.WallpaperSettings.fromObject(object.lightThemeWallpaper); } switch (object.mediaVisibility) { case "DEFAULT": case 0: message.mediaVisibility = 0; break; case "OFF": case 1: message.mediaVisibility = 1; break; case "ON": case 2: message.mediaVisibility = 2; break; } if (object.darkThemeWallpaper != null) { if (typeof object.darkThemeWallpaper !== "object") throw TypeError(".proto.GlobalSettings.darkThemeWallpaper: object expected"); message.darkThemeWallpaper = $root.proto.WallpaperSettings.fromObject(object.darkThemeWallpaper); } if (object.autoDownloadWiFi != null) { if (typeof object.autoDownloadWiFi !== "object") throw TypeError(".proto.GlobalSettings.autoDownloadWiFi: object expected"); message.autoDownloadWiFi = $root.proto.AutoDownloadSettings.fromObject(object.autoDownloadWiFi); } if (object.autoDownloadCellular != null) { if (typeof object.autoDownloadCellular !== "object") throw TypeError(".proto.GlobalSettings.autoDownloadCellular: object expected"); message.autoDownloadCellular = $root.proto.AutoDownloadSettings.fromObject(object.autoDownloadCellular); } if (object.autoDownloadRoaming != null) { if (typeof object.autoDownloadRoaming !== "object") throw TypeError(".proto.GlobalSettings.autoDownloadRoaming: object expected"); message.autoDownloadRoaming = $root.proto.AutoDownloadSettings.fromObject(object.autoDownloadRoaming); } if (object.showIndividualNotificationsPreview != null) message.showIndividualNotificationsPreview = Boolean(object.showIndividualNotificationsPreview); if (object.showGroupNotificationsPreview != null) message.showGroupNotificationsPreview = Boolean(object.showGroupNotificationsPreview); if (object.disappearingModeDuration != null) message.disappearingModeDuration = object.disappearingModeDuration | 0; if (object.disappearingModeTimestamp != null) if ($util.Long) (message.disappearingModeTimestamp = $util.Long.fromValue(object.disappearingModeTimestamp)).unsigned = false; else if (typeof object.disappearingModeTimestamp === "string") message.disappearingModeTimestamp = parseInt(object.disappearingModeTimestamp, 10); else if (typeof object.disappearingModeTimestamp === "number") message.disappearingModeTimestamp = object.disappearingModeTimestamp; else if (typeof object.disappearingModeTimestamp === "object") message.disappearingModeTimestamp = new $util.LongBits(object.disappearingModeTimestamp.low >>> 0, object.disappearingModeTimestamp.high >>> 0).toNumber(); if (object.avatarUserSettings != null) { if (typeof object.avatarUserSettings !== "object") throw TypeError(".proto.GlobalSettings.avatarUserSettings: object expected"); message.avatarUserSettings = $root.proto.AvatarUserSettings.fromObject(object.avatarUserSettings); } if (object.fontSize != null) message.fontSize = object.fontSize | 0; if (object.securityNotifications != null) message.securityNotifications = Boolean(object.securityNotifications); if (object.autoUnarchiveChats != null) message.autoUnarchiveChats = Boolean(object.autoUnarchiveChats); if (object.videoQualityMode != null) message.videoQualityMode = object.videoQualityMode | 0; if (object.photoQualityMode != null) message.photoQualityMode = object.photoQualityMode | 0; if (object.individualNotificationSettings != null) { if (typeof object.individualNotificationSettings !== "object") throw TypeError(".proto.GlobalSettings.individualNotificationSettings: object expected"); message.individualNotificationSettings = $root.proto.NotificationSettings.fromObject(object.individualNotificationSettings); } if (object.groupNotificationSettings != null) { if (typeof object.groupNotificationSettings !== "object") throw TypeError(".proto.GlobalSettings.groupNotificationSettings: object expected"); message.groupNotificationSettings = $root.proto.NotificationSettings.fromObject(object.groupNotificationSettings); } return message; }; /** * Creates a plain object from a GlobalSettings message. Also converts values to other types if specified. * @function toObject * @memberof proto.GlobalSettings * @static * @param {proto.GlobalSettings} message GlobalSettings * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ GlobalSettings.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.lightThemeWallpaper = null; object.mediaVisibility = options.enums === String ? "DEFAULT" : 0; object.darkThemeWallpaper = null; object.autoDownloadWiFi = null; object.autoDownloadCellular = null; object.autoDownloadRoaming = null; object.showIndividualNotificationsPreview = false; object.showGroupNotificationsPreview = false; object.disappearingModeDuration = 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.disappearingModeTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.disappearingModeTimestamp = options.longs === String ? "0" : 0; object.avatarUserSettings = null; object.fontSize = 0; object.securityNotifications = false; object.autoUnarchiveChats = false; object.videoQualityMode = 0; object.photoQualityMode = 0; object.individualNotificationSettings = null; object.groupNotificationSettings = null; } if (message.lightThemeWallpaper != null && message.hasOwnProperty("lightThemeWallpaper")) object.lightThemeWallpaper = $root.proto.WallpaperSettings.toObject(message.lightThemeWallpaper, options); if (message.mediaVisibility != null && message.hasOwnProperty("mediaVisibility")) object.mediaVisibility = options.enums === String ? $root.proto.MediaVisibility[message.mediaVisibility] : message.mediaVisibility; if (message.darkThemeWallpaper != null && message.hasOwnProperty("darkThemeWallpaper")) object.darkThemeWallpaper = $root.proto.WallpaperSettings.toObject(message.darkThemeWallpaper, options); if (message.autoDownloadWiFi != null && message.hasOwnProperty("autoDownloadWiFi")) object.autoDownloadWiFi = $root.proto.AutoDownloadSettings.toObject(message.autoDownloadWiFi, options); if (message.autoDownloadCellular != null && message.hasOwnProperty("autoDownloadCellular")) object.autoDownloadCellular = $root.proto.AutoDownloadSettings.toObject(message.autoDownloadCellular, options); if (message.autoDownloadRoaming != null && message.hasOwnProperty("autoDownloadRoaming")) object.autoDownloadRoaming = $root.proto.AutoDownloadSettings.toObject(message.autoDownloadRoaming, options); if (message.showIndividualNotificationsPreview != null && message.hasOwnProperty("showIndividualNotificationsPreview")) object.showIndividualNotificationsPreview = message.showIndividualNotificationsPreview; if (message.showGroupNotificationsPreview != null && message.hasOwnProperty("showGroupNotificationsPreview")) object.showGroupNotificationsPreview = message.showGroupNotificationsPreview; if (message.disappearingModeDuration != null && message.hasOwnProperty("disappearingModeDuration")) object.disappearingModeDuration = message.disappearingModeDuration; if (message.disappearingModeTimestamp != null && message.hasOwnProperty("disappearingModeTimestamp")) if (typeof message.disappearingModeTimestamp === "number") object.disappearingModeTimestamp = options.longs === String ? String(message.disappearingModeTimestamp) : message.disappearingModeTimestamp; else object.disappearingModeTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.disappearingModeTimestamp) : options.longs === Number ? new $util.LongBits(message.disappearingModeTimestamp.low >>> 0, message.disappearingModeTimestamp.high >>> 0).toNumber() : message.disappearingModeTimestamp; if (message.avatarUserSettings != null && message.hasOwnProperty("avatarUserSettings")) object.avatarUserSettings = $root.proto.AvatarUserSettings.toObject(message.avatarUserSettings, options); if (message.fontSize != null && message.hasOwnProperty("fontSize")) object.fontSize = message.fontSize; if (message.securityNotifications != null && message.hasOwnProperty("securityNotifications")) object.securityNotifications = message.securityNotifications; if (message.autoUnarchiveChats != null && message.hasOwnProperty("autoUnarchiveChats")) object.autoUnarchiveChats = message.autoUnarchiveChats; if (message.videoQualityMode != null && message.hasOwnProperty("videoQualityMode")) object.videoQualityMode = message.videoQualityMode; if (message.photoQualityMode != null && message.hasOwnProperty("photoQualityMode")) object.photoQualityMode = message.photoQualityMode; if (message.individualNotificationSettings != null && message.hasOwnProperty("individualNotificationSettings")) object.individualNotificationSettings = $root.proto.NotificationSettings.toObject(message.individualNotificationSettings, options); if (message.groupNotificationSettings != null && message.hasOwnProperty("groupNotificationSettings")) object.groupNotificationSettings = $root.proto.NotificationSettings.toObject(message.groupNotificationSettings, options); return object; }; /** * Converts this GlobalSettings to JSON. * @function toJSON * @memberof proto.GlobalSettings * @instance * @returns {Object.<string,*>} JSON object */ GlobalSettings.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return GlobalSettings; })(); proto.GroupMention = (function() { /** * Properties of a GroupMention. * @memberof proto * @interface IGroupMention * @property {string|null} [groupJid] GroupMention groupJid * @property {string|null} [groupSubject] GroupMention groupSubject */ /** * Constructs a new GroupMention. * @memberof proto * @classdesc Represents a GroupMention. * @implements IGroupMention * @constructor * @param {proto.IGroupMention=} [properties] Properties to set */ function GroupMention(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]]; } /** * GroupMention groupJid. * @member {string} groupJid * @memberof proto.GroupMention * @instance */ GroupMention.prototype.groupJid = ""; /** * GroupMention groupSubject. * @member {string} groupSubject * @memberof proto.GroupMention * @instance */ GroupMention.prototype.groupSubject = ""; /** * Creates a new GroupMention instance using the specified properties. * @function create * @memberof proto.GroupMention * @static * @param {proto.IGroupMention=} [properties] Properties to set * @returns {proto.GroupMention} GroupMention instance */ GroupMention.create = function create(properties) { return new GroupMention(properties); }; /** * Encodes the specified GroupMention message. Does not implicitly {@link proto.GroupMention.verify|verify} messages. * @function encode * @memberof proto.GroupMention * @static * @param {proto.IGroupMention} message GroupMention message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ GroupMention.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.groupSubject != null && Object.hasOwnProperty.call(message, "groupSubject")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.groupSubject); return writer; }; /** * Encodes the specified GroupMention message, length delimited. Does not implicitly {@link proto.GroupMention.verify|verify} messages. * @function encodeDelimited * @memberof proto.GroupMention * @static * @param {proto.IGroupMention} message GroupMention message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ GroupMention.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a GroupMention message from the specified reader or buffer. * @function decode * @memberof proto.GroupMention * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.GroupMention} GroupMention * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ GroupMention.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.GroupMention(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.groupJid = reader.string(); break; case 2: message.groupSubject = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a GroupMention message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.GroupMention * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.GroupMention} GroupMention * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ GroupMention.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a GroupMention message. * @function verify * @memberof proto.GroupMention * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ GroupMention.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.groupSubject != null && message.hasOwnProperty("groupSubject")) if (!$util.isString(message.groupSubject)) return "groupSubject: string expected"; return null; }; /** * Creates a GroupMention message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.GroupMention * @static * @param {Object.<string,*>} object Plain object * @returns {proto.GroupMention} GroupMention */ GroupMention.fromObject = function fromObject(object) { if (object instanceof $root.proto.GroupMention) return object; var message = new $root.proto.GroupMention(); if (object.groupJid != null) message.groupJid = String(object.groupJid); if (object.groupSubject != null) message.groupSubject = String(object.groupSubject); return message; }; /** * Creates a plain object from a GroupMention message. Also converts values to other types if specified. * @function toObject * @memberof proto.GroupMention * @static * @param {proto.GroupMention} message GroupMention * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ GroupMention.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.groupJid = ""; object.groupSubject = ""; } if (message.groupJid != null && message.hasOwnProperty("groupJid")) object.groupJid = message.groupJid; if (message.groupSubject != null && message.hasOwnProperty("groupSubject")) object.groupSubject = message.groupSubject; return object; }; /** * Converts this GroupMention to JSON. * @function toJSON * @memberof proto.GroupMention * @instance * @returns {Object.<string,*>} JSON object */ GroupMention.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return GroupMention; })(); proto.GroupParticipant = (function() { /** * Properties of a GroupParticipant. * @memberof proto * @interface IGroupParticipant * @property {string} userJid GroupParticipant userJid * @property {proto.GroupParticipant.Rank|null} [rank] GroupParticipant rank */ /** * Constructs a new GroupParticipant. * @memberof proto * @classdesc Represents a GroupParticipant. * @implements IGroupParticipant * @constructor * @param {proto.IGroupParticipant=} [properties] Properties to set */ function GroupParticipant(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]]; } /** * GroupParticipant userJid. * @member {string} userJid * @memberof proto.GroupParticipant * @instance */ GroupParticipant.prototype.userJid = ""; /** * GroupParticipant rank. * @member {proto.GroupParticipant.Rank} rank * @memberof proto.GroupParticipant * @instance */ GroupParticipant.prototype.rank = 0; /** * Creates a new GroupParticipant instance using the specified properties. * @function create * @memberof proto.GroupParticipant * @static * @param {proto.IGroupParticipant=} [properties] Properties to set * @returns {proto.GroupParticipant} GroupParticipant instance */ GroupParticipant.create = function create(properties) { return new GroupParticipant(properties); }; /** * Encodes the specified GroupParticipant message. Does not implicitly {@link proto.GroupParticipant.verify|verify} messages. * @function encode * @memberof proto.GroupParticipant * @static * @param {proto.IGroupParticipant} message GroupParticipant message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ GroupParticipant.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); writer.uint32(/* id 1, wireType 2 =*/10).string(message.userJid); if (message.rank != null && Object.hasOwnProperty.call(message, "rank")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.rank); return writer; }; /** * Encodes the specified GroupParticipant message, length delimited. Does not implicitly {@link proto.GroupParticipant.verify|verify} messages. * @function encodeDelimited * @memberof proto.GroupParticipant * @static * @param {proto.IGroupParticipant} message GroupParticipant message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ GroupParticipant.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a GroupParticipant message from the specified reader or buffer. * @function decode * @memberof proto.GroupParticipant * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.GroupParticipant} GroupParticipant * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ GroupParticipant.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.GroupParticipant(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.userJid = reader.string(); break; case 2: message.rank = reader.int32(); break; default: reader.skipType(tag & 7); break; } } if (!message.hasOwnProperty("userJid")) throw $util.ProtocolError("missing required 'userJid'", { instance: message }); return message; }; /** * Decodes a GroupParticipant message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.GroupParticipant * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.GroupParticipant} GroupParticipant * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ GroupParticipant.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a GroupParticipant message. * @function verify * @memberof proto.GroupParticipant * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ GroupParticipant.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (!$util.isString(message.userJid)) return "userJid: string expected"; if (message.rank != null && message.hasOwnProperty("rank")) switch (message.rank) { default: return "rank: enum value expected"; case 0: case 1: case 2: break; } return null; }; /** * Creates a GroupParticipant message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.GroupParticipant * @static * @param {Object.<string,*>} object Plain object * @returns {proto.GroupParticipant} GroupParticipant */ GroupParticipant.fromObject = function fromObject(object) { if (object instanceof $root.proto.GroupParticipant) return object; var message = new $root.proto.GroupParticipant(); if (object.userJid != null) message.userJid = String(object.userJid); switch (object.rank) { case "REGULAR": case 0: message.rank = 0; break; case "ADMIN": case 1: message.rank = 1; break; case "SUPERADMIN": case 2: message.rank = 2; break; } return message; }; /** * Creates a plain object from a GroupParticipant message. Also converts values to other types if specified. * @function toObject * @memberof proto.GroupParticipant * @static * @param {proto.GroupParticipant} message GroupParticipant * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ GroupParticipant.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.userJid = ""; object.rank = options.enums === String ? "REGULAR" : 0; } if (message.userJid != null && message.hasOwnProperty("userJid")) object.userJid = message.userJid; if (message.rank != null && message.hasOwnProperty("rank")) object.rank = options.enums === String ? $root.proto.GroupParticipant.Rank[message.rank] : message.rank; return object; }; /** * Converts this GroupParticipant to JSON. * @function toJSON * @memberof proto.GroupParticipant * @instance * @returns {Object.<string,*>} JSON object */ GroupParticipant.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Rank enum. * @name proto.GroupParticipant.Rank * @enum {number} * @property {number} REGULAR=0 REGULAR value * @property {number} ADMIN=1 ADMIN value * @property {number} SUPERADMIN=2 SUPERADMIN value */ GroupParticipant.Rank = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "REGULAR"] = 0; values[valuesById[1] = "ADMIN"] = 1; values[valuesById[2] = "SUPERADMIN"] = 2; return values; })(); return GroupParticipant; })(); proto.HandshakeMessage = (function() { /** * Properties of a HandshakeMessage. * @memberof proto * @interface IHandshakeMessage * @property {proto.HandshakeMessage.IClientHello|null} [clientHello] HandshakeMessage clientHello * @property {proto.HandshakeMessage.IServerHello|null} [serverHello] HandshakeMessage serverHello * @property {proto.HandshakeMessage.IClientFinish|null} [clientFinish] HandshakeMessage clientFinish */ /** * Constructs a new HandshakeMessage. * @memberof proto * @classdesc Represents a HandshakeMessage. * @implements IHandshakeMessage * @constructor * @param {proto.IHandshakeMessage=} [properties] Properties to set */ function HandshakeMessage(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]]; } /** * HandshakeMessage clientHello. * @member {proto.HandshakeMessage.IClientHello|null|undefined} clientHello * @memberof proto.HandshakeMessage * @instance */ HandshakeMessage.prototype.clientHello = null; /** * HandshakeMessage serverHello. * @member {proto.HandshakeMessage.IServerHello|null|undefined} serverHello * @memberof proto.HandshakeMessage * @instance */ HandshakeMessage.prototype.serverHello = null; /** * HandshakeMessage clientFinish. * @member {proto.HandshakeMessage.IClientFinish|null|undefined} clientFinish * @memberof proto.HandshakeMessage * @instance */ HandshakeMessage.prototype.clientFinish = null; /** * Creates a new HandshakeMessage instance using the specified properties. * @function create * @memberof proto.HandshakeMessage * @static * @param {proto.IHandshakeMessage=} [properties] Properties to set * @returns {proto.HandshakeMessage} HandshakeMessage instance */ HandshakeMessage.create = function create(properties) { return new HandshakeMessage(properties); }; /** * Encodes the specified HandshakeMessage message. Does not implicitly {@link proto.HandshakeMessage.verify|verify} messages. * @function encode * @memberof proto.HandshakeMessage * @static * @param {proto.IHandshakeMessage} message HandshakeMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HandshakeMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.clientHello != null && Object.hasOwnProperty.call(message, "clientHello")) $root.proto.HandshakeMessage.ClientHello.encode(message.clientHello, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.serverHello != null && Object.hasOwnProperty.call(message, "serverHello")) $root.proto.HandshakeMessage.ServerHello.encode(message.serverHello, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.clientFinish != null && Object.hasOwnProperty.call(message, "clientFinish")) $root.proto.HandshakeMessage.ClientFinish.encode(message.clientFinish, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** * Encodes the specified HandshakeMessage message, length delimited. Does not implicitly {@link proto.HandshakeMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.HandshakeMessage * @static * @param {proto.IHandshakeMessage} message HandshakeMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HandshakeMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HandshakeMessage message from the specified reader or buffer. * @function decode * @memberof proto.HandshakeMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HandshakeMessage} HandshakeMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HandshakeMessage.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.HandshakeMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 2: message.clientHello = $root.proto.HandshakeMessage.ClientHello.decode(reader, reader.uint32()); break; case 3: message.serverHello = $root.proto.HandshakeMessage.ServerHello.decode(reader, reader.uint32()); break; case 4: message.clientFinish = $root.proto.HandshakeMessage.ClientFinish.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HandshakeMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HandshakeMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HandshakeMessage} HandshakeMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HandshakeMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HandshakeMessage message. * @function verify * @memberof proto.HandshakeMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HandshakeMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.clientHello != null && message.hasOwnProperty("clientHello")) { var error = $root.proto.HandshakeMessage.ClientHello.verify(message.clientHello); if (error) return "clientHello." + error; } if (message.serverHello != null && message.hasOwnProperty("serverHello")) { var error = $root.proto.HandshakeMessage.ServerHello.verify(message.serverHello); if (error) return "serverHello." + error; } if (message.clientFinish != null && message.hasOwnProperty("clientFinish")) { var error = $root.proto.HandshakeMessage.ClientFinish.verify(message.clientFinish); if (error) return "clientFinish." + error; } return null; }; /** * Creates a HandshakeMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HandshakeMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.HandshakeMessage} HandshakeMessage */ HandshakeMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.HandshakeMessage) return object; var message = new $root.proto.HandshakeMessage(); if (object.clientHello != null) { if (typeof object.clientHello !== "object") throw TypeError(".proto.HandshakeMessage.clientHello: object expected"); message.clientHello = $root.proto.HandshakeMessage.ClientHello.fromObject(object.clientHello); } if (object.serverHello != null) { if (typeof object.serverHello !== "object") throw TypeError(".proto.HandshakeMessage.serverHello: object expected"); message.serverHello = $root.proto.HandshakeMessage.ServerHello.fromObject(object.serverHello); } if (object.clientFinish != null) { if (typeof object.clientFinish !== "object") throw TypeError(".proto.HandshakeMessage.clientFinish: object expected"); message.clientFinish = $root.proto.HandshakeMessage.ClientFinish.fromObject(object.clientFinish); } return message; }; /** * Creates a plain object from a HandshakeMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.HandshakeMessage * @static * @param {proto.HandshakeMessage} message HandshakeMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ HandshakeMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.clientHello = null; object.serverHello = null; object.clientFinish = null; } if (message.clientHello != null && message.hasOwnProperty("clientHello")) object.clientHello = $root.proto.HandshakeMessage.ClientHello.toObject(message.clientHello, options); if (message.serverHello != null && message.hasOwnProperty("serverHello")) object.serverHello = $root.proto.HandshakeMessage.ServerHello.toObject(message.serverHello, options); if (message.clientFinish != null && message.hasOwnProperty("clientFinish")) object.clientFinish = $root.proto.HandshakeMessage.ClientFinish.toObject(message.clientFinish, options); return object; }; /** * Converts this HandshakeMessage to JSON. * @function toJSON * @memberof proto.HandshakeMessage * @instance * @returns {Object.<string,*>} JSON object */ HandshakeMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; HandshakeMessage.ClientFinish = (function() { /** * Properties of a ClientFinish. * @memberof proto.HandshakeMessage * @interface IClientFinish * @property {Uint8Array|null} ["static"] ClientFinish static * @property {Uint8Array|null} [payload] ClientFinish payload */ /** * Constructs a new ClientFinish. * @memberof proto.HandshakeMessage * @classdesc Represents a ClientFinish. * @implements IClientFinish * @constructor * @param {proto.HandshakeMessage.IClientFinish=} [properties] Properties to set */ function ClientFinish(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]]; } /** * ClientFinish static. * @member {Uint8Array} static * @memberof proto.HandshakeMessage.ClientFinish * @instance */ ClientFinish.prototype["static"] = $util.newBuffer([]); /** * ClientFinish payload. * @member {Uint8Array} payload * @memberof proto.HandshakeMessage.ClientFinish * @instance */ ClientFinish.prototype.payload = $util.newBuffer([]); /** * Creates a new ClientFinish instance using the specified properties. * @function create * @memberof proto.HandshakeMessage.ClientFinish * @static * @param {proto.HandshakeMessage.IClientFinish=} [properties] Properties to set * @returns {proto.HandshakeMessage.ClientFinish} ClientFinish instance */ ClientFinish.create = function create(properties) { return new ClientFinish(properties); }; /** * Encodes the specified ClientFinish message. Does not implicitly {@link proto.HandshakeMessage.ClientFinish.verify|verify} messages. * @function encode * @memberof proto.HandshakeMessage.ClientFinish * @static * @param {proto.HandshakeMessage.IClientFinish} message ClientFinish message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ClientFinish.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message["static"] != null && Object.hasOwnProperty.call(message, "static")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message["static"]); if (message.payload != null && Object.hasOwnProperty.call(message, "payload")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.payload); return writer; }; /** * Encodes the specified ClientFinish message, length delimited. Does not implicitly {@link proto.HandshakeMessage.ClientFinish.verify|verify} messages. * @function encodeDelimited * @memberof proto.HandshakeMessage.ClientFinish * @static * @param {proto.HandshakeMessage.IClientFinish} message ClientFinish message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ClientFinish.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ClientFinish message from the specified reader or buffer. * @function decode * @memberof proto.HandshakeMessage.ClientFinish * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HandshakeMessage.ClientFinish} ClientFinish * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ClientFinish.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.HandshakeMessage.ClientFinish(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message["static"] = reader.bytes(); break; case 2: message.payload = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ClientFinish message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HandshakeMessage.ClientFinish * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HandshakeMessage.ClientFinish} ClientFinish * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ClientFinish.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ClientFinish message. * @function verify * @memberof proto.HandshakeMessage.ClientFinish * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ClientFinish.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message["static"] != null && message.hasOwnProperty("static")) if (!(message["static"] && typeof message["static"].length === "number" || $util.isString(message["static"]))) return "static: buffer expected"; if (message.payload != null && message.hasOwnProperty("payload")) if (!(message.payload && typeof message.payload.length === "number" || $util.isString(message.payload))) return "payload: buffer expected"; return null; }; /** * Creates a ClientFinish message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HandshakeMessage.ClientFinish * @static * @param {Object.<string,*>} object Plain object * @returns {proto.HandshakeMessage.ClientFinish} ClientFinish */ ClientFinish.fromObject = function fromObject(object) { if (object instanceof $root.proto.HandshakeMessage.ClientFinish) return object; var message = new $root.proto.HandshakeMessage.ClientFinish(); if (object["static"] != null) if (typeof object["static"] === "string") $util.base64.decode(object["static"], message["static"] = $util.newBuffer($util.base64.length(object["static"])), 0); else if (object["static"].length) message["static"] = object["static"]; if (object.payload != null) if (typeof object.payload === "string") $util.base64.decode(object.payload, message.payload = $util.newBuffer($util.base64.length(object.payload)), 0); else if (object.payload.length) message.payload = object.payload; return message; }; /** * Creates a plain object from a ClientFinish message. Also converts values to other types if specified. * @function toObject * @memberof proto.HandshakeMessage.ClientFinish * @static * @param {proto.HandshakeMessage.ClientFinish} message ClientFinish * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ClientFinish.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object["static"] = ""; else { object["static"] = []; if (options.bytes !== Array) object["static"] = $util.newBuffer(object["static"]); } if (options.bytes === String) object.payload = ""; else { object.payload = []; if (options.bytes !== Array) object.payload = $util.newBuffer(object.payload); } } if (message["static"] != null && message.hasOwnProperty("static")) object["static"] = options.bytes === String ? $util.base64.encode(message["static"], 0, message["static"].length) : options.bytes === Array ? Array.prototype.slice.call(message["static"]) : message["static"]; if (message.payload != null && message.hasOwnProperty("payload")) object.payload = options.bytes === String ? $util.base64.encode(message.payload, 0, message.payload.length) : options.bytes === Array ? Array.prototype.slice.call(message.payload) : message.payload; return object; }; /** * Converts this ClientFinish to JSON. * @function toJSON * @memberof proto.HandshakeMessage.ClientFinish * @instance * @returns {Object.<string,*>} JSON object */ ClientFinish.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ClientFinish; })(); HandshakeMessage.ClientHello = (function() { /** * Properties of a ClientHello. * @memberof proto.HandshakeMessage * @interface IClientHello * @property {Uint8Array|null} [ephemeral] ClientHello ephemeral * @property {Uint8Array|null} ["static"] ClientHello static * @property {Uint8Array|null} [payload] ClientHello payload */ /** * Constructs a new ClientHello. * @memberof proto.HandshakeMessage * @classdesc Represents a ClientHello. * @implements IClientHello * @constructor * @param {proto.HandshakeMessage.IClientHello=} [properties] Properties to set */ function ClientHello(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]]; } /** * ClientHello ephemeral. * @member {Uint8Array} ephemeral * @memberof proto.HandshakeMessage.ClientHello * @instance */ ClientHello.prototype.ephemeral = $util.newBuffer([]); /** * ClientHello static. * @member {Uint8Array} static * @memberof proto.HandshakeMessage.ClientHello * @instance */ ClientHello.prototype["static"] = $util.newBuffer([]); /** * ClientHello payload. * @member {Uint8Array} payload * @memberof proto.HandshakeMessage.ClientHello * @instance */ ClientHello.prototype.payload = $util.newBuffer([]); /** * Creates a new ClientHello instance using the specified properties. * @function create * @memberof proto.HandshakeMessage.ClientHello * @static * @param {proto.HandshakeMessage.IClientHello=} [properties] Properties to set * @returns {proto.HandshakeMessage.ClientHello} ClientHello instance */ ClientHello.create = function create(properties) { return new ClientHello(properties); }; /** * Encodes the specified ClientHello message. Does not implicitly {@link proto.HandshakeMessage.ClientHello.verify|verify} messages. * @function encode * @memberof proto.HandshakeMessage.ClientHello * @static * @param {proto.HandshakeMessage.IClientHello} message ClientHello message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ClientHello.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.ephemeral != null && Object.hasOwnProperty.call(message, "ephemeral")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ephemeral); if (message["static"] != null && Object.hasOwnProperty.call(message, "static")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message["static"]); if (message.payload != null && Object.hasOwnProperty.call(message, "payload")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.payload); return writer; }; /** * Encodes the specified ClientHello message, length delimited. Does not implicitly {@link proto.HandshakeMessage.ClientHello.verify|verify} messages. * @function encodeDelimited * @memberof proto.HandshakeMessage.ClientHello * @static * @param {proto.HandshakeMessage.IClientHello} message ClientHello message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ClientHello.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ClientHello message from the specified reader or buffer. * @function decode * @memberof proto.HandshakeMessage.ClientHello * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HandshakeMessage.ClientHello} ClientHello * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ClientHello.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.HandshakeMessage.ClientHello(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.ephemeral = reader.bytes(); break; case 2: message["static"] = reader.bytes(); break; case 3: message.payload = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ClientHello message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HandshakeMessage.ClientHello * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HandshakeMessage.ClientHello} ClientHello * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ClientHello.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ClientHello message. * @function verify * @memberof proto.HandshakeMessage.ClientHello * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ClientHello.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.ephemeral != null && message.hasOwnProperty("ephemeral")) if (!(message.ephemeral && typeof message.ephemeral.length === "number" || $util.isString(message.ephemeral))) return "ephemeral: buffer expected"; if (message["static"] != null && message.hasOwnProperty("static")) if (!(message["static"] && typeof message["static"].length === "number" || $util.isString(message["static"]))) return "static: buffer expected"; if (message.payload != null && message.hasOwnProperty("payload")) if (!(message.payload && typeof message.payload.length === "number" || $util.isString(message.payload))) return "payload: buffer expected"; return null; }; /** * Creates a ClientHello message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HandshakeMessage.ClientHello * @static * @param {Object.<string,*>} object Plain object * @returns {proto.HandshakeMessage.ClientHello} ClientHello */ ClientHello.fromObject = function fromObject(object) { if (object instanceof $root.proto.HandshakeMessage.ClientHello) return object; var message = new $root.proto.HandshakeMessage.ClientHello(); if (object.ephemeral != null) if (typeof object.ephemeral === "string") $util.base64.decode(object.ephemeral, message.ephemeral = $util.newBuffer($util.base64.length(object.ephemeral)), 0); else if (object.ephemeral.length) message.ephemeral = object.ephemeral; if (object["static"] != null) if (typeof object["static"] === "string") $util.base64.decode(object["static"], message["static"] = $util.newBuffer($util.base64.length(object["static"])), 0); else if (object["static"].length) message["static"] = object["static"]; if (object.payload != null) if (typeof object.payload === "string") $util.base64.decode(object.payload, message.payload = $util.newBuffer($util.base64.length(object.payload)), 0); else if (object.payload.length) message.payload = object.payload; return message; }; /** * Creates a plain object from a ClientHello message. Also converts values to other types if specified. * @function toObject * @memberof proto.HandshakeMessage.ClientHello * @static * @param {proto.HandshakeMessage.ClientHello} message ClientHello * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ClientHello.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.ephemeral = ""; else { object.ephemeral = []; if (options.bytes !== Array) object.ephemeral = $util.newBuffer(object.ephemeral); } if (options.bytes === String) object["static"] = ""; else { object["static"] = []; if (options.bytes !== Array) object["static"] = $util.newBuffer(object["static"]); } if (options.bytes === String) object.payload = ""; else { object.payload = []; if (options.bytes !== Array) object.payload = $util.newBuffer(object.payload); } } if (message.ephemeral != null && message.hasOwnProperty("ephemeral")) object.ephemeral = options.bytes === String ? $util.base64.encode(message.ephemeral, 0, message.ephemeral.length) : options.bytes === Array ? Array.prototype.slice.call(message.ephemeral) : message.ephemeral; if (message["static"] != null && message.hasOwnProperty("static")) object["static"] = options.bytes === String ? $util.base64.encode(message["static"], 0, message["static"].length) : options.bytes === Array ? Array.prototype.slice.call(message["static"]) : message["static"]; if (message.payload != null && message.hasOwnProperty("payload")) object.payload = options.bytes === String ? $util.base64.encode(message.payload, 0, message.payload.length) : options.bytes === Array ? Array.prototype.slice.call(message.payload) : message.payload; return object; }; /** * Converts this ClientHello to JSON. * @function toJSON * @memberof proto.HandshakeMessage.ClientHello * @instance * @returns {Object.<string,*>} JSON object */ ClientHello.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ClientHello; })(); HandshakeMessage.ServerHello = (function() { /** * Properties of a ServerHello. * @memberof proto.HandshakeMessage * @interface IServerHello * @property {Uint8Array|null} [ephemeral] ServerHello ephemeral * @property {Uint8Array|null} ["static"] ServerHello static * @property {Uint8Array|null} [payload] ServerHello payload */ /** * Constructs a new ServerHello. * @memberof proto.HandshakeMessage * @classdesc Represents a ServerHello. * @implements IServerHello * @constructor * @param {proto.HandshakeMessage.IServerHello=} [properties] Properties to set */ function ServerHello(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]]; } /** * ServerHello ephemeral. * @member {Uint8Array} ephemeral * @memberof proto.HandshakeMessage.ServerHello * @instance */ ServerHello.prototype.ephemeral = $util.newBuffer([]); /** * ServerHello static. * @member {Uint8Array} static * @memberof proto.HandshakeMessage.ServerHello * @instance */ ServerHello.prototype["static"] = $util.newBuffer([]); /** * ServerHello payload. * @member {Uint8Array} payload * @memberof proto.HandshakeMessage.ServerHello * @instance */ ServerHello.prototype.payload = $util.newBuffer([]); /** * Creates a new ServerHello instance using the specified properties. * @function create * @memberof proto.HandshakeMessage.ServerHello * @static * @param {proto.HandshakeMessage.IServerHello=} [properties] Properties to set * @returns {proto.HandshakeMessage.ServerHello} ServerHello instance */ ServerHello.create = function create(properties) { return new ServerHello(properties); }; /** * Encodes the specified ServerHello message. Does not implicitly {@link proto.HandshakeMessage.ServerHello.verify|verify} messages. * @function encode * @memberof proto.HandshakeMessage.ServerHello * @static * @param {proto.HandshakeMessage.IServerHello} message ServerHello message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ServerHello.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.ephemeral != null && Object.hasOwnProperty.call(message, "ephemeral")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ephemeral); if (message["static"] != null && Object.hasOwnProperty.call(message, "static")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message["static"]); if (message.payload != null && Object.hasOwnProperty.call(message, "payload")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.payload); return writer; }; /** * Encodes the specified ServerHello message, length delimited. Does not implicitly {@link proto.HandshakeMessage.ServerHello.verify|verify} messages. * @function encodeDelimited * @memberof proto.HandshakeMessage.ServerHello * @static * @param {proto.HandshakeMessage.IServerHello} message ServerHello message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ServerHello.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ServerHello message from the specified reader or buffer. * @function decode * @memberof proto.HandshakeMessage.ServerHello * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HandshakeMessage.ServerHello} ServerHello * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ServerHello.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.HandshakeMessage.ServerHello(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.ephemeral = reader.bytes(); break; case 2: message["static"] = reader.bytes(); break; case 3: message.payload = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ServerHello message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HandshakeMessage.ServerHello * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HandshakeMessage.ServerHello} ServerHello * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ServerHello.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ServerHello message. * @function verify * @memberof proto.HandshakeMessage.ServerHello * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ServerHello.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.ephemeral != null && message.hasOwnProperty("ephemeral")) if (!(message.ephemeral && typeof message.ephemeral.length === "number" || $util.isString(message.ephemeral))) return "ephemeral: buffer expected"; if (message["static"] != null && message.hasOwnProperty("static")) if (!(message["static"] && typeof message["static"].length === "number" || $util.isString(message["static"]))) return "static: buffer expected"; if (message.payload != null && message.hasOwnProperty("payload")) if (!(message.payload && typeof message.payload.length === "number" || $util.isString(message.payload))) return "payload: buffer expected"; return null; }; /** * Creates a ServerHello message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HandshakeMessage.ServerHello * @static * @param {Object.<string,*>} object Plain object * @returns {proto.HandshakeMessage.ServerHello} ServerHello */ ServerHello.fromObject = function fromObject(object) { if (object instanceof $root.proto.HandshakeMessage.ServerHello) return object; var message = new $root.proto.HandshakeMessage.ServerHello(); if (object.ephemeral != null) if (typeof object.ephemeral === "string") $util.base64.decode(object.ephemeral, message.ephemeral = $util.newBuffer($util.base64.length(object.ephemeral)), 0); else if (object.ephemeral.length) message.ephemeral = object.ephemeral; if (object["static"] != null) if (typeof object["static"] === "string") $util.base64.decode(object["static"], message["static"] = $util.newBuffer($util.base64.length(object["static"])), 0); else if (object["static"].length) message["static"] = object["static"]; if (object.payload != null) if (typeof object.payload === "string") $util.base64.decode(object.payload, message.payload = $util.newBuffer($util.base64.length(object.payload)), 0); else if (object.payload.length) message.payload = object.payload; return message; }; /** * Creates a plain object from a ServerHello message. Also converts values to other types if specified. * @function toObject * @memberof proto.HandshakeMessage.ServerHello * @static * @param {proto.HandshakeMessage.ServerHello} message ServerHello * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ServerHello.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.ephemeral = ""; else { object.ephemeral = []; if (options.bytes !== Array) object.ephemeral = $util.newBuffer(object.ephemeral); } if (options.bytes === String) object["static"] = ""; else { object["static"] = []; if (options.bytes !== Array) object["static"] = $util.newBuffer(object["static"]); } if (options.bytes === String) object.payload = ""; else { object.payload = []; if (options.bytes !== Array) object.payload = $util.newBuffer(object.payload); } } if (message.ephemeral != null && message.hasOwnProperty("ephemeral")) object.ephemeral = options.bytes === String ? $util.base64.encode(message.ephemeral, 0, message.ephemeral.length) : options.bytes === Array ? Array.prototype.slice.call(message.ephemeral) : message.ephemeral; if (message["static"] != null && message.hasOwnProperty("static")) object["static"] = options.bytes === String ? $util.base64.encode(message["static"], 0, message["static"].length) : options.bytes === Array ? Array.prototype.slice.call(message["static"]) : message["static"]; if (message.payload != null && message.hasOwnProperty("payload")) object.payload = options.bytes === String ? $util.base64.encode(message.payload, 0, message.payload.length) : options.bytes === Array ? Array.prototype.slice.call(message.payload) : message.payload; return object; }; /** * Converts this ServerHello to JSON. * @function toJSON * @memberof proto.HandshakeMessage.ServerHello * @instance * @returns {Object.<string,*>} JSON object */ ServerHello.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ServerHello; })(); return HandshakeMessage; })(); proto.HistorySync = (function() { /** * Properties of a HistorySync. * @memberof proto * @interface IHistorySync * @property {proto.HistorySync.HistorySyncType} syncType HistorySync syncType * @property {Array.<proto.IConversation>|null} [conversations] HistorySync conversations * @property {Array.<proto.IWebMessageInfo>|null} [statusV3Messages] HistorySync statusV3Messages * @property {number|null} [chunkOrder] HistorySync chunkOrder * @property {number|null} [progress] HistorySync progress * @property {Array.<proto.IPushname>|null} [pushnames] HistorySync pushnames * @property {proto.IGlobalSettings|null} [globalSettings] HistorySync globalSettings * @property {Uint8Array|null} [threadIdUserSecret] HistorySync threadIdUserSecret * @property {number|null} [threadDsTimeframeOffset] HistorySync threadDsTimeframeOffset * @property {Array.<proto.IStickerMetadata>|null} [recentStickers] HistorySync recentStickers * @property {Array.<proto.IPastParticipants>|null} [pastParticipants] HistorySync pastParticipants */ /** * Constructs a new HistorySync. * @memberof proto * @classdesc Represents a HistorySync. * @implements IHistorySync * @constructor * @param {proto.IHistorySync=} [properties] Properties to set */ function HistorySync(properties) { this.conversations = []; this.statusV3Messages = []; this.pushnames = []; this.recentStickers = []; this.pastParticipants = []; 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]]; } /** * HistorySync syncType. * @member {proto.HistorySync.HistorySyncType} syncType * @memberof proto.HistorySync * @instance */ HistorySync.prototype.syncType = 0; /** * HistorySync conversations. * @member {Array.<proto.IConversation>} conversations * @memberof proto.HistorySync * @instance */ HistorySync.prototype.conversations = $util.emptyArray; /** * HistorySync statusV3Messages. * @member {Array.<proto.IWebMessageInfo>} statusV3Messages * @memberof proto.HistorySync * @instance */ HistorySync.prototype.statusV3Messages = $util.emptyArray; /** * HistorySync chunkOrder. * @member {number} chunkOrder * @memberof proto.HistorySync * @instance */ HistorySync.prototype.chunkOrder = 0; /** * HistorySync progress. * @member {number} progress * @memberof proto.HistorySync * @instance */ HistorySync.prototype.progress = 0; /** * HistorySync pushnames. * @member {Array.<proto.IPushname>} pushnames * @memberof proto.HistorySync * @instance */ HistorySync.prototype.pushnames = $util.emptyArray; /** * HistorySync globalSettings. * @member {proto.IGlobalSettings|null|undefined} globalSettings * @memberof proto.HistorySync * @instance */ HistorySync.prototype.globalSettings = null; /** * HistorySync threadIdUserSecret. * @member {Uint8Array} threadIdUserSecret * @memberof proto.HistorySync * @instance */ HistorySync.prototype.threadIdUserSecret = $util.newBuffer([]); /** * HistorySync threadDsTimeframeOffset. * @member {number} threadDsTimeframeOffset * @memberof proto.HistorySync * @instance */ HistorySync.prototype.threadDsTimeframeOffset = 0; /** * HistorySync recentStickers. * @member {Array.<proto.IStickerMetadata>} recentStickers * @memberof proto.HistorySync * @instance */ HistorySync.prototype.recentStickers = $util.emptyArray; /** * HistorySync pastParticipants. * @member {Array.<proto.IPastParticipants>} pastParticipants * @memberof proto.HistorySync * @instance */ HistorySync.prototype.pastParticipants = $util.emptyArray; /** * Creates a new HistorySync instance using the specified properties. * @function create * @memberof proto.HistorySync * @static * @param {proto.IHistorySync=} [properties] Properties to set * @returns {proto.HistorySync} HistorySync instance */ HistorySync.create = function create(properties) { return new HistorySync(properties); }; /** * Encodes the specified HistorySync message. Does not implicitly {@link proto.HistorySync.verify|verify} messages. * @function encode * @memberof proto.HistorySync * @static * @param {proto.IHistorySync} message HistorySync message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HistorySync.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); writer.uint32(/* id 1, wireType 0 =*/8).int32(message.syncType); if (message.conversations != null && message.conversations.length) for (var i = 0; i < message.conversations.length; ++i) $root.proto.Conversation.encode(message.conversations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.statusV3Messages != null && message.statusV3Messages.length) for (var i = 0; i < message.statusV3Messages.length; ++i) $root.proto.WebMessageInfo.encode(message.statusV3Messages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.chunkOrder != null && Object.hasOwnProperty.call(message, "chunkOrder")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.chunkOrder); if (message.progress != null && Object.hasOwnProperty.call(message, "progress")) writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.progress); if (message.pushnames != null && message.pushnames.length) for (var i = 0; i < message.pushnames.length; ++i) $root.proto.Pushname.encode(message.pushnames[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.globalSettings != null && Object.hasOwnProperty.call(message, "globalSettings")) $root.proto.GlobalSettings.encode(message.globalSettings, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.threadIdUserSecret != null && Object.hasOwnProperty.call(message, "threadIdUserSecret")) writer.uint32(/* id 9, wireType 2 =*/74).bytes(message.threadIdUserSecret); if (message.threadDsTimeframeOffset != null && Object.hasOwnProperty.call(message, "threadDsTimeframeOffset")) writer.uint32(/* id 10, wireType 0 =*/80).uint32(message.threadDsTimeframeOffset); if (message.recentStickers != null && message.recentStickers.length) for (var i = 0; i < message.recentStickers.length; ++i) $root.proto.StickerMetadata.encode(message.recentStickers[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); if (message.pastParticipants != null && message.pastParticipants.length) for (var i = 0; i < message.pastParticipants.length; ++i) $root.proto.PastParticipants.encode(message.pastParticipants[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); return writer; }; /** * Encodes the specified HistorySync message, length delimited. Does not implicitly {@link proto.HistorySync.verify|verify} messages. * @function encodeDelimited * @memberof proto.HistorySync * @static * @param {proto.IHistorySync} message HistorySync message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HistorySync.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HistorySync message from the specified reader or buffer. * @function decode * @memberof proto.HistorySync * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HistorySync} HistorySync * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HistorySync.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.HistorySync(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.syncType = reader.int32(); break; case 2: if (!(message.conversations && message.conversations.length)) message.conversations = []; message.conversations.push($root.proto.Conversation.decode(reader, reader.uint32())); break; case 3: if (!(message.statusV3Messages && message.statusV3Messages.length)) message.statusV3Messages = []; message.statusV3Messages.push($root.proto.WebMessageInfo.decode(reader, reader.uint32())); break; case 5: message.chunkOrder = reader.uint32(); break; case 6: message.progress = reader.uint32(); break; case 7: if (!(message.pushnames && message.pushnames.length)) message.pushnames = []; message.pushnames.push($root.proto.Pushname.decode(reader, reader.uint32())); break; case 8: message.globalSettings = $root.proto.GlobalSettings.decode(reader, reader.uint32()); break; case 9: message.threadIdUserSecret = reader.bytes(); break; case 10: message.threadDsTimeframeOffset = reader.uint32(); break; case 11: if (!(message.recentStickers && message.recentStickers.length)) message.recentStickers = []; message.recentStickers.push($root.proto.StickerMetadata.decode(reader, reader.uint32())); break; case 12: if (!(message.pastParticipants && message.pastParticipants.length)) message.pastParticipants = []; message.pastParticipants.push($root.proto.PastParticipants.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } if (!message.hasOwnProperty("syncType")) throw $util.ProtocolError("missing required 'syncType'", { instance: message }); return message; }; /** * Decodes a HistorySync message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HistorySync * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HistorySync} HistorySync * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HistorySync.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HistorySync message. * @function verify * @memberof proto.HistorySync * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HistorySync.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; switch (message.syncType) { default: return "syncType: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: case 6: break; } if (message.conversations != null && message.hasOwnProperty("conversations")) { if (!Array.isArray(message.conversations)) return "conversations: array expected"; for (var i = 0; i < message.conversations.length; ++i) { var error = $root.proto.Conversation.verify(message.conversations[i]); if (error) return "conversations." + error; } } if (message.statusV3Messages != null && message.hasOwnProperty("statusV3Messages")) { if (!Array.isArray(message.statusV3Messages)) return "statusV3Messages: array expected"; for (var i = 0; i < message.statusV3Messages.length; ++i) { var error = $root.proto.WebMessageInfo.verify(message.statusV3Messages[i]); if (error) return "statusV3Messages." + error; } } if (message.chunkOrder != null && message.hasOwnProperty("chunkOrder")) if (!$util.isInteger(message.chunkOrder)) return "chunkOrder: integer expected"; if (message.progress != null && message.hasOwnProperty("progress")) if (!$util.isInteger(message.progress)) return "progress: integer expected"; if (message.pushnames != null && message.hasOwnProperty("pushnames")) { if (!Array.isArray(message.pushnames)) return "pushnames: array expected"; for (var i = 0; i < message.pushnames.length; ++i) { var error = $root.proto.Pushname.verify(message.pushnames[i]); if (error) return "pushnames." + error; } } if (message.globalSettings != null && message.hasOwnProperty("globalSettings")) { var error = $root.proto.GlobalSettings.verify(message.globalSettings); if (error) return "globalSettings." + error; } if (message.threadIdUserSecret != null && message.hasOwnProperty("threadIdUserSecret")) if (!(message.threadIdUserSecret && typeof message.threadIdUserSecret.length === "number" || $util.isString(message.threadIdUserSecret))) return "threadIdUserSecret: buffer expected"; if (message.threadDsTimeframeOffset != null && message.hasOwnProperty("threadDsTimeframeOffset")) if (!$util.isInteger(message.threadDsTimeframeOffset)) return "threadDsTimeframeOffset: integer expected"; if (message.recentStickers != null && message.hasOwnProperty("recentStickers")) { if (!Array.isArray(message.recentStickers)) return "recentStickers: array expected"; for (var i = 0; i < message.recentStickers.length; ++i) { var error = $root.proto.StickerMetadata.verify(message.recentStickers[i]); if (error) return "recentStickers." + error; } } if (message.pastParticipants != null && message.hasOwnProperty("pastParticipants")) { if (!Array.isArray(message.pastParticipants)) return "pastParticipants: array expected"; for (var i = 0; i < message.pastParticipants.length; ++i) { var error = $root.proto.PastParticipants.verify(message.pastParticipants[i]); if (error) return "pastParticipants." + error; } } return null; }; /** * Creates a HistorySync message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HistorySync * @static * @param {Object.<string,*>} object Plain object * @returns {proto.HistorySync} HistorySync */ HistorySync.fromObject = function fromObject(object) { if (object instanceof $root.proto.HistorySync) return object; var message = new $root.proto.HistorySync(); 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; case "PUSH_NAME": case 4: message.syncType = 4; break; case "NON_BLOCKING_DATA": case 5: message.syncType = 5; break; case "ON_DEMAND": case 6: message.syncType = 6; break; } if (object.conversations) { if (!Array.isArray(object.conversations)) throw TypeError(".proto.HistorySync.conversations: array expected"); message.conversations = []; for (var i = 0; i < object.conversations.length; ++i) { if (typeof object.conversations[i] !== "object") throw TypeError(".proto.HistorySync.conversations: object expected"); message.conversations[i] = $root.proto.Conversation.fromObject(object.conversations[i]); } } if (object.statusV3Messages) { if (!Array.isArray(object.statusV3Messages)) throw TypeError(".proto.HistorySync.statusV3Messages: array expected"); message.statusV3Messages = []; for (var i = 0; i < object.statusV3Messages.length; ++i) { if (typeof object.statusV3Messages[i] !== "object") throw TypeError(".proto.HistorySync.statusV3Messages: object expected"); message.statusV3Messages[i] = $root.proto.WebMessageInfo.fromObject(object.statusV3Messages[i]); } } if (object.chunkOrder != null) message.chunkOrder = object.chunkOrder >>> 0; if (object.progress != null) message.progress = object.progress >>> 0; if (object.pushnames) { if (!Array.isArray(object.pushnames)) throw TypeError(".proto.HistorySync.pushnames: array expected"); message.pushnames = []; for (var i = 0; i < object.pushnames.length; ++i) { if (typeof object.pushnames[i] !== "object") throw TypeError(".proto.HistorySync.pushnames: object expected"); message.pushnames[i] = $root.proto.Pushname.fromObject(object.pushnames[i]); } } if (object.globalSettings != null) { if (typeof object.globalSettings !== "object") throw TypeError(".proto.HistorySync.globalSettings: object expected"); message.globalSettings = $root.proto.GlobalSettings.fromObject(object.globalSettings); } if (object.threadIdUserSecret != null) if (typeof object.threadIdUserSecret === "string") $util.base64.decode(object.threadIdUserSecret, message.threadIdUserSecret = $util.newBuffer($util.base64.length(object.threadIdUserSecret)), 0); else if (object.threadIdUserSecret.length) message.threadIdUserSecret = object.threadIdUserSecret; if (object.threadDsTimeframeOffset != null) message.threadDsTimeframeOffset = object.threadDsTimeframeOffset >>> 0; if (object.recentStickers) { if (!Array.isArray(object.recentStickers)) throw TypeError(".proto.HistorySync.recentStickers: array expected"); message.recentStickers = []; for (var i = 0; i < object.recentStickers.length; ++i) { if (typeof object.recentStickers[i] !== "object") throw TypeError(".proto.HistorySync.recentStickers: object expected"); message.recentStickers[i] = $root.proto.StickerMetadata.fromObject(object.recentStickers[i]); } } if (object.pastParticipants) { if (!Array.isArray(object.pastParticipants)) throw TypeError(".proto.HistorySync.pastParticipants: array expected"); message.pastParticipants = []; for (var i = 0; i < object.pastParticipants.length; ++i) { if (typeof object.pastParticipants[i] !== "object") throw TypeError(".proto.HistorySync.pastParticipants: object expected"); message.pastParticipants[i] = $root.proto.PastParticipants.fromObject(object.pastParticipants[i]); } } return message; }; /** * Creates a plain object from a HistorySync message. Also converts values to other types if specified. * @function toObject * @memberof proto.HistorySync * @static * @param {proto.HistorySync} message HistorySync * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ HistorySync.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.conversations = []; object.statusV3Messages = []; object.pushnames = []; object.recentStickers = []; object.pastParticipants = []; } if (options.defaults) { object.syncType = options.enums === String ? "INITIAL_BOOTSTRAP" : 0; object.chunkOrder = 0; object.progress = 0; object.globalSettings = null; if (options.bytes === String) object.threadIdUserSecret = ""; else { object.threadIdUserSecret = []; if (options.bytes !== Array) object.threadIdUserSecret = $util.newBuffer(object.threadIdUserSecret); } object.threadDsTimeframeOffset = 0; } if (message.syncType != null && message.hasOwnProperty("syncType")) object.syncType = options.enums === String ? $root.proto.HistorySync.HistorySyncType[message.syncType] : message.syncType; if (message.conversations && message.conversations.length) { object.conversations = []; for (var j = 0; j < message.conversations.length; ++j) object.conversations[j] = $root.proto.Conversation.toObject(message.conversations[j], options); } if (message.statusV3Messages && message.statusV3Messages.length) { object.statusV3Messages = []; for (var j = 0; j < message.statusV3Messages.length; ++j) object.statusV3Messages[j] = $root.proto.WebMessageInfo.toObject(message.statusV3Messages[j], options); } if (message.chunkOrder != null && message.hasOwnProperty("chunkOrder")) object.chunkOrder = message.chunkOrder; if (message.progress != null && message.hasOwnProperty("progress")) object.progress = message.progress; if (message.pushnames && message.pushnames.length) { object.pushnames = []; for (var j = 0; j < message.pushnames.length; ++j) object.pushnames[j] = $root.proto.Pushname.toObject(message.pushnames[j], options); } if (message.globalSettings != null && message.hasOwnProperty("globalSettings")) object.globalSettings = $root.proto.GlobalSettings.toObject(message.globalSettings, options); if (message.threadIdUserSecret != null && message.hasOwnProperty("threadIdUserSecret")) object.threadIdUserSecret = options.bytes === String ? $util.base64.encode(message.threadIdUserSecret, 0, message.threadIdUserSecret.length) : options.bytes === Array ? Array.prototype.slice.call(message.threadIdUserSecret) : message.threadIdUserSecret; if (message.threadDsTimeframeOffset != null && message.hasOwnProperty("threadDsTimeframeOffset")) object.threadDsTimeframeOffset = message.threadDsTimeframeOffset; if (message.recentStickers && message.recentStickers.length) { object.recentStickers = []; for (var j = 0; j < message.recentStickers.length; ++j) object.recentStickers[j] = $root.proto.StickerMetadata.toObject(message.recentStickers[j], options); } if (message.pastParticipants && message.pastParticipants.length) { object.pastParticipants = []; for (var j = 0; j < message.pastParticipants.length; ++j) object.pastParticipants[j] = $root.proto.PastParticipants.toObject(message.pastParticipants[j], options); } return object; }; /** * Converts this HistorySync to JSON. * @function toJSON * @memberof proto.HistorySync * @instance * @returns {Object.<string,*>} JSON object */ HistorySync.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * HistorySyncType enum. * @name proto.HistorySync.HistorySyncType * @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 * @property {number} PUSH_NAME=4 PUSH_NAME value * @property {number} NON_BLOCKING_DATA=5 NON_BLOCKING_DATA value * @property {number} ON_DEMAND=6 ON_DEMAND value */ HistorySync.HistorySyncType = (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; values[valuesById[4] = "PUSH_NAME"] = 4; values[valuesById[5] = "NON_BLOCKING_DATA"] = 5; values[valuesById[6] = "ON_DEMAND"] = 6; return values; })(); return HistorySync; })(); proto.HistorySyncMsg = (function() { /** * Properties of a HistorySyncMsg. * @memberof proto * @interface IHistorySyncMsg * @property {proto.IWebMessageInfo|null} [message] HistorySyncMsg message * @property {number|Long|null} [msgOrderId] HistorySyncMsg msgOrderId */ /** * Constructs a new HistorySyncMsg. * @memberof proto * @classdesc Represents a HistorySyncMsg. * @implements IHistorySyncMsg * @constructor * @param {proto.IHistorySyncMsg=} [properties] Properties to set */ function HistorySyncMsg(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]]; } /** * HistorySyncMsg message. * @member {proto.IWebMessageInfo|null|undefined} message * @memberof proto.HistorySyncMsg * @instance */ HistorySyncMsg.prototype.message = null; /** * HistorySyncMsg msgOrderId. * @member {number|Long} msgOrderId * @memberof proto.HistorySyncMsg * @instance */ HistorySyncMsg.prototype.msgOrderId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Creates a new HistorySyncMsg instance using the specified properties. * @function create * @memberof proto.HistorySyncMsg * @static * @param {proto.IHistorySyncMsg=} [properties] Properties to set * @returns {proto.HistorySyncMsg} HistorySyncMsg instance */ HistorySyncMsg.create = function create(properties) { return new HistorySyncMsg(properties); }; /** * Encodes the specified HistorySyncMsg message. Does not implicitly {@link proto.HistorySyncMsg.verify|verify} messages. * @function encode * @memberof proto.HistorySyncMsg * @static * @param {proto.IHistorySyncMsg} message HistorySyncMsg message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HistorySyncMsg.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.message != null && Object.hasOwnProperty.call(message, "message")) $root.proto.WebMessageInfo.encode(message.message, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.msgOrderId != null && Object.hasOwnProperty.call(message, "msgOrderId")) writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.msgOrderId); return writer; }; /** * Encodes the specified HistorySyncMsg message, length delimited. Does not implicitly {@link proto.HistorySyncMsg.verify|verify} messages. * @function encodeDelimited * @memberof proto.HistorySyncMsg * @static * @param {proto.IHistorySyncMsg} message HistorySyncMsg message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HistorySyncMsg.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HistorySyncMsg message from the specified reader or buffer. * @function decode * @memberof proto.HistorySyncMsg * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HistorySyncMsg} HistorySyncMsg * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HistorySyncMsg.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.HistorySyncMsg(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.message = $root.proto.WebMessageInfo.decode(reader, reader.uint32()); break; case 2: message.msgOrderId = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HistorySyncMsg message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.HistorySyncMsg * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HistorySyncMsg} HistorySyncMsg * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HistorySyncMsg.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HistorySyncMsg message. * @function verify * @memberof proto.HistorySyncMsg * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HistorySyncMsg.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.message != null && message.hasOwnProperty("message")) { var error = $root.proto.WebMessageInfo.verify(message.message); if (error) return "message." + error; } if (message.msgOrderId != null && message.hasOwnProperty("msgOrderId")) if (!$util.isInteger(message.msgOrderId) && !(message.msgOrderId && $util.isInteger(message.msgOrderId.low) && $util.isInteger(message.msgOrderId.high))) return "msgOrderId: integer|Long expected"; return null; }; /** * Creates a HistorySyncMsg message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.HistorySyncMsg * @static * @param {Object.<string,*>} object Plain object * @returns {proto.HistorySyncMsg} HistorySyncMsg */ HistorySyncMsg.fromObject = function fromObject(object) { if (object instanceof $root.proto.HistorySyncMsg) return object; var message = new $root.proto.HistorySyncMsg(); if (object.message != null) { if (typeof object.message !== "object") throw TypeError(".proto.HistorySyncMsg.message: object expected"); message.message = $root.proto.WebMessageInfo.fromObject(object.message); } if (object.msgOrderId != null) if ($util.Long) (message.msgOrderId = $util.Long.fromValue(object.msgOrderId)).unsigned = true; else if (typeof object.msgOrderId === "string") message.msgOrderId = parseInt(object.msgOrderId, 10); else if (typeof object.msgOrderId === "number") message.msgOrderId = object.msgOrderId; else if (typeof object.msgOrderId === "object") message.msgOrderId = new $util.LongBits(object.msgOrderId.low >>> 0, object.msgOrderId.high >>> 0).toNumber(true); return message; }; /** * Creates a plain object from a HistorySyncMsg message. Also converts values to other types if specified. * @function toObject * @memberof proto.HistorySyncMsg * @static * @param {proto.HistorySyncMsg} message HistorySyncMsg * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ HistorySyncMsg.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.message = null; if ($util.Long) { var long = new $util.Long(0, 0, true); object.msgOrderId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.msgOrderId = options.longs === String ? "0" : 0; } if (message.message != null && message.hasOwnProperty("message")) object.message = $root.proto.WebMessageInfo.toObject(message.message, options); if (message.msgOrderId != null && message.hasOwnProperty("msgOrderId")) if (typeof message.msgOrderId === "number") object.msgOrderId = options.longs === String ? String(message.msgOrderId) : message.msgOrderId; else object.msgOrderId = options.longs === String ? $util.Long.prototype.toString.call(message.msgOrderId) : options.longs === Number ? new $util.LongBits(message.msgOrderId.low >>> 0, message.msgOrderId.high >>> 0).toNumber(true) : message.msgOrderId; return object; }; /** * Converts this HistorySyncMsg to JSON. * @function toJSON * @memberof proto.HistorySyncMsg * @instance * @returns {Object.<string,*>} JSON object */ HistorySyncMsg.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HistorySyncMsg; })(); proto.HydratedTemplateButton = (function() { /** * Properties of a HydratedTemplateButton. * @memberof proto * @interface IHydratedTemplateButton * @property {number|null} [index] HydratedTemplateButton index * @property {proto.HydratedTemplateButton.IHydratedQuickReplyButton|null} [quickReplyButton] HydratedTemplateButton quickReplyButton * @property {proto.HydratedTemplateButton.IHydratedURLButton|null} [urlButton] HydratedTemplateButton urlButton * @property {proto.HydratedTemplateButton.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.HydratedTemplateButton.IHydratedQuickReplyButton|null|undefined} quickReplyButton * @memberof proto.HydratedTemplateButton * @instance */ HydratedTemplateButton.prototype.quickReplyButton = null; /** * HydratedTemplateButton urlButton. * @member {proto.HydratedTemplateButton.IHydratedURLButton|null|undefined} urlButton * @memberof proto.HydratedTemplateButton * @instance */ HydratedTemplateButton.prototype.urlButton = null; /** * HydratedTemplateButton callButton. * @member {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedQuickReplyButton.encode(message.quickReplyButton, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.urlButton != null && Object.hasOwnProperty.call(message, "urlButton")) $root.proto.HydratedTemplateButton.HydratedURLButton.encode(message.urlButton, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.callButton != null && Object.hasOwnProperty.call(message, "callButton")) $root.proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedQuickReplyButton.decode(reader, reader.uint32()); break; case 2: message.urlButton = $root.proto.HydratedTemplateButton.HydratedURLButton.decode(reader, reader.uint32()); break; case 3: message.callButton = $root.proto.HydratedTemplateButton.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.<string,*>} 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.HydratedTemplateButton.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.HydratedTemplateButton.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.HydratedTemplateButton.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.<string,*>} 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.HydratedTemplateButton.HydratedQuickReplyButton.fromObject(object.quickReplyButton); } if (object.urlButton != null) { if (typeof object.urlButton !== "object") throw TypeError(".proto.HydratedTemplateButton.urlButton: object expected"); message.urlButton = $root.proto.HydratedTemplateButton.HydratedURLButton.fromObject(object.urlButton); } if (object.callButton != null) { if (typeof object.callButton !== "object") throw TypeError(".proto.HydratedTemplateButton.callButton: object expected"); message.callButton = $root.proto.HydratedTemplateButton.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.<string,*>} 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.HydratedTemplateButton.HydratedQuickReplyButton.toObject(message.quickReplyButton, options); if (options.oneofs) object.hydratedButton = "quickReplyButton"; } if (message.urlButton != null && message.hasOwnProperty("urlButton")) { object.urlButton = $root.proto.HydratedTemplateButton.HydratedURLButton.toObject(message.urlButton, options); if (options.oneofs) object.hydratedButton = "urlButton"; } if (message.callButton != null && message.hasOwnProperty("callButton")) { object.callButton = $root.proto.HydratedTemplateButton.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.<string,*>} JSON object */ HydratedTemplateButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; HydratedTemplateButton.HydratedCallButton = (function() { /** * Properties of a HydratedCallButton. * @memberof proto.HydratedTemplateButton * @interface IHydratedCallButton * @property {string|null} [displayText] HydratedCallButton displayText * @property {string|null} [phoneNumber] HydratedCallButton phoneNumber */ /** * Constructs a new HydratedCallButton. * @memberof proto.HydratedTemplateButton * @classdesc Represents a HydratedCallButton. * @implements IHydratedCallButton * @constructor * @param {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedCallButton * @instance */ HydratedCallButton.prototype.displayText = ""; /** * HydratedCallButton phoneNumber. * @member {string} phoneNumber * @memberof proto.HydratedTemplateButton.HydratedCallButton * @instance */ HydratedCallButton.prototype.phoneNumber = ""; /** * Creates a new HydratedCallButton instance using the specified properties. * @function create * @memberof proto.HydratedTemplateButton.HydratedCallButton * @static * @param {proto.HydratedTemplateButton.IHydratedCallButton=} [properties] Properties to set * @returns {proto.HydratedTemplateButton.HydratedCallButton} HydratedCallButton instance */ HydratedCallButton.create = function create(properties) { return new HydratedCallButton(properties); }; /** * Encodes the specified HydratedCallButton message. Does not implicitly {@link proto.HydratedTemplateButton.HydratedCallButton.verify|verify} messages. * @function encode * @memberof proto.HydratedTemplateButton.HydratedCallButton * @static * @param {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedCallButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.HydratedTemplateButton.HydratedCallButton * @static * @param {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedCallButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HydratedTemplateButton.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.HydratedTemplateButton.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.HydratedTemplateButton.HydratedCallButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedCallButton * @static * @param {Object.<string,*>} 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.HydratedTemplateButton.HydratedCallButton * @static * @param {Object.<string,*>} object Plain object * @returns {proto.HydratedTemplateButton.HydratedCallButton} HydratedCallButton */ HydratedCallButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.HydratedTemplateButton.HydratedCallButton) return object; var message = new $root.proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedCallButton * @static * @param {proto.HydratedTemplateButton.HydratedCallButton} message HydratedCallButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.HydratedTemplateButton.HydratedCallButton * @instance * @returns {Object.<string,*>} JSON object */ HydratedCallButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HydratedCallButton; })(); HydratedTemplateButton.HydratedQuickReplyButton = (function() { /** * Properties of a HydratedQuickReplyButton. * @memberof proto.HydratedTemplateButton * @interface IHydratedQuickReplyButton * @property {string|null} [displayText] HydratedQuickReplyButton displayText * @property {string|null} [id] HydratedQuickReplyButton id */ /** * Constructs a new HydratedQuickReplyButton. * @memberof proto.HydratedTemplateButton * @classdesc Represents a HydratedQuickReplyButton. * @implements IHydratedQuickReplyButton * @constructor * @param {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedQuickReplyButton * @instance */ HydratedQuickReplyButton.prototype.displayText = ""; /** * HydratedQuickReplyButton id. * @member {string} id * @memberof proto.HydratedTemplateButton.HydratedQuickReplyButton * @instance */ HydratedQuickReplyButton.prototype.id = ""; /** * Creates a new HydratedQuickReplyButton instance using the specified properties. * @function create * @memberof proto.HydratedTemplateButton.HydratedQuickReplyButton * @static * @param {proto.HydratedTemplateButton.IHydratedQuickReplyButton=} [properties] Properties to set * @returns {proto.HydratedTemplateButton.HydratedQuickReplyButton} HydratedQuickReplyButton instance */ HydratedQuickReplyButton.create = function create(properties) { return new HydratedQuickReplyButton(properties); }; /** * Encodes the specified HydratedQuickReplyButton message. Does not implicitly {@link proto.HydratedTemplateButton.HydratedQuickReplyButton.verify|verify} messages. * @function encode * @memberof proto.HydratedTemplateButton.HydratedQuickReplyButton * @static * @param {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedQuickReplyButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.HydratedTemplateButton.HydratedQuickReplyButton * @static * @param {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedQuickReplyButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HydratedTemplateButton.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.HydratedTemplateButton.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.HydratedTemplateButton.HydratedQuickReplyButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedQuickReplyButton * @static * @param {Object.<string,*>} 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.HydratedTemplateButton.HydratedQuickReplyButton * @static * @param {Object.<string,*>} object Plain object * @returns {proto.HydratedTemplateButton.HydratedQuickReplyButton} HydratedQuickReplyButton */ HydratedQuickReplyButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.HydratedTemplateButton.HydratedQuickReplyButton) return object; var message = new $root.proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedQuickReplyButton * @static * @param {proto.HydratedTemplateButton.HydratedQuickReplyButton} message HydratedQuickReplyButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.HydratedTemplateButton.HydratedQuickReplyButton * @instance * @returns {Object.<string,*>} JSON object */ HydratedQuickReplyButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HydratedQuickReplyButton; })(); HydratedTemplateButton.HydratedURLButton = (function() { /** * Properties of a HydratedURLButton. * @memberof proto.HydratedTemplateButton * @interface IHydratedURLButton * @property {string|null} [displayText] HydratedURLButton displayText * @property {string|null} [url] HydratedURLButton url */ /** * Constructs a new HydratedURLButton. * @memberof proto.HydratedTemplateButton * @classdesc Represents a HydratedURLButton. * @implements IHydratedURLButton * @constructor * @param {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedURLButton * @instance */ HydratedURLButton.prototype.displayText = ""; /** * HydratedURLButton url. * @member {string} url * @memberof proto.HydratedTemplateButton.HydratedURLButton * @instance */ HydratedURLButton.prototype.url = ""; /** * Creates a new HydratedURLButton instance using the specified properties. * @function create * @memberof proto.HydratedTemplateButton.HydratedURLButton * @static * @param {proto.HydratedTemplateButton.IHydratedURLButton=} [properties] Properties to set * @returns {proto.HydratedTemplateButton.HydratedURLButton} HydratedURLButton instance */ HydratedURLButton.create = function create(properties) { return new HydratedURLButton(properties); }; /** * Encodes the specified HydratedURLButton message. Does not implicitly {@link proto.HydratedTemplateButton.HydratedURLButton.verify|verify} messages. * @function encode * @memberof proto.HydratedTemplateButton.HydratedURLButton * @static * @param {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedURLButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.HydratedTemplateButton.HydratedURLButton * @static * @param {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedURLButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.HydratedTemplateButton.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.HydratedTemplateButton.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.HydratedTemplateButton.HydratedURLButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedURLButton * @static * @param {Object.<string,*>} 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.HydratedTemplateButton.HydratedURLButton * @static * @param {Object.<string,*>} object Plain object * @returns {proto.HydratedTemplateButton.HydratedURLButton} HydratedURLButton */ HydratedURLButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.HydratedTemplateButton.HydratedURLButton) return object; var message = new $root.proto.HydratedTemplateButton.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.HydratedTemplateButton.HydratedURLButton * @static * @param {proto.HydratedTemplateButton.HydratedURLButton} message HydratedURLButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.HydratedTemplateButton.HydratedURLButton * @instance * @returns {Object.<string,*>} JSON object */ HydratedURLButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HydratedURLButton; })(); return HydratedTemplateButton; })(); proto.IdentityKeyPairStructure = (function() { /** * Properties of an IdentityKeyPairStructure. * @memberof proto * @interface IIdentityKeyPairStructure * @property {Uint8Array|null} [publicKey] IdentityKeyPairStructure publicKey * @property {Uint8Array|null} [privateKey] IdentityKeyPairStructure privateKey */ /** * Constructs a new IdentityKeyPairStructure. * @memberof proto * @classdesc Represents an IdentityKeyPairStructure. * @implements IIdentityKeyPairStructure * @constructor * @param {proto.IIdentityKeyPairStructure=} [properties] Properties to set */ function IdentityKeyPairStructure(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]]; } /** * IdentityKeyPairStructure publicKey. * @member {Uint8Array} publicKey * @memberof proto.IdentityKeyPairStructure * @instance */ IdentityKeyPairStructure.prototype.publicKey = $util.newBuffer([]); /** * IdentityKeyPairStructure privateKey. * @member {Uint8Array} privateKey * @memberof proto.IdentityKeyPairStructure * @instance */ IdentityKeyPairStructure.prototype.privateKey = $util.newBuffer([]); /** * Creates a new IdentityKeyPairStructure instance using the specified properties. * @function create * @memberof proto.IdentityKeyPairStructure * @static * @param {proto.IIdentityKeyPairStructure=} [properties] Properties to set * @returns {proto.IdentityKeyPairStructure} IdentityKeyPairStructure instance */ IdentityKeyPairStructure.create = function create(properties) { return new IdentityKeyPairStructure(properties); }; /** * Encodes the specified IdentityKeyPairStructure message. Does not implicitly {@link proto.IdentityKeyPairStructure.verify|verify} messages. * @function encode * @memberof proto.IdentityKeyPairStructure * @static * @param {proto.IIdentityKeyPairStructure} message IdentityKeyPairStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ IdentityKeyPairStructure.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.publicKey != null && Object.hasOwnProperty.call(message, "publicKey")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.publicKey); if (message.privateKey != null && Object.hasOwnProperty.call(message, "privateKey")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.privateKey); return writer; }; /** * Encodes the specified IdentityKeyPairStructure message, length delimited. Does not implicitly {@link proto.IdentityKeyPairStructure.verify|verify} messages. * @function encodeDelimited * @memberof proto.IdentityKeyPairStructure * @static * @param {proto.IIdentityKeyPairStructure} message IdentityKeyPairStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ IdentityKeyPairStructure.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an IdentityKeyPairStructure message from the specified reader or buffer. * @function decode * @memberof proto.IdentityKeyPairStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.IdentityKeyPairStructure} IdentityKeyPairStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ IdentityKeyPairStructure.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.IdentityKeyPairStructure(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.publicKey = reader.bytes(); break; case 2: message.privateKey = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an IdentityKeyPairStructure message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.IdentityKeyPairStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.IdentityKeyPairStructure} IdentityKeyPairStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ IdentityKeyPairStructure.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an IdentityKeyPairStructure message. * @function verify * @memberof proto.IdentityKeyPairStructure * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ IdentityKeyPairStructure.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.publicKey != null && message.hasOwnProperty("publicKey")) if (!(message.publicKey && typeof message.publicKey.length === "number" || $util.isString(message.publicKey))) return "publicKey: buffer expected"; if (message.privateKey != null && message.hasOwnProperty("privateKey")) if (!(message.privateKey && typeof message.privateKey.length === "number" || $util.isString(message.privateKey))) return "privateKey: buffer expected"; return null; }; /** * Creates an IdentityKeyPairStructure message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.IdentityKeyPairStructure * @static * @param {Object.<string,*>} object Plain object * @returns {proto.IdentityKeyPairStructure} IdentityKeyPairStructure */ IdentityKeyPairStructure.fromObject = function fromObject(object) { if (object instanceof $root.proto.IdentityKeyPairStructure) return object; var message = new $root.proto.IdentityKeyPairStructure(); if (object.publicKey != null) if (typeof object.publicKey === "string") $util.base64.decode(object.publicKey, message.publicKey = $util.newBuffer($util.base64.length(object.publicKey)), 0); else if (object.publicKey.length) message.publicKey = object.publicKey; if (object.privateKey != null) if (typeof object.privateKey === "string") $util.base64.decode(object.privateKey, message.privateKey = $util.newBuffer($util.base64.length(object.privateKey)), 0); else if (object.privateKey.length) message.privateKey = object.privateKey; return message; }; /** * Creates a plain object from an IdentityKeyPairStructure message. Also converts values to other types if specified. * @function toObject * @memberof proto.IdentityKeyPairStructure * @static * @param {proto.IdentityKeyPairStructure} message IdentityKeyPairStructure * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ IdentityKeyPairStructure.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.publicKey = ""; else { object.publicKey = []; if (options.bytes !== Array) object.publicKey = $util.newBuffer(object.publicKey); } if (options.bytes === String) object.privateKey = ""; else { object.privateKey = []; if (options.bytes !== Array) object.privateKey = $util.newBuffer(object.privateKey); } } if (message.publicKey != null && message.hasOwnProperty("publicKey")) object.publicKey = options.bytes === String ? $util.base64.encode(message.publicKey, 0, message.publicKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKey) : message.publicKey; if (message.privateKey != null && message.hasOwnProperty("privateKey")) object.privateKey = options.bytes === String ? $util.base64.encode(message.privateKey, 0, message.privateKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.privateKey) : message.privateKey; return object; }; /** * Converts this IdentityKeyPairStructure to JSON. * @function toJSON * @memberof proto.IdentityKeyPairStructure * @instance * @returns {Object.<string,*>} JSON object */ IdentityKeyPairStructure.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return IdentityKeyPairStructure; })(); proto.InteractiveAnnotation = (function() { /** * Properties of an InteractiveAnnotation. * @memberof proto * @interface IInteractiveAnnotation * @property {Array.<proto.IPoint>|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.<proto.IPoint>} 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.<string,*>} 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.<string,*>} 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.<string,*>} 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.<string,*>} JSON object */ InteractiveAnnotation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return InteractiveAnnotation; })(); proto.KeepInChat = (function() { /** * Properties of a KeepInChat. * @memberof proto * @interface IKeepInChat * @property {proto.KeepType|null} [keepType] KeepInChat keepType * @property {number|Long|null} [serverTimestamp] KeepInChat serverTimestamp * @property {proto.IMessageKey|null} [key] KeepInChat key * @property {string|null} [deviceJid] KeepInChat deviceJid * @property {number|Long|null} [clientTimestampMs] KeepInChat clientTimestampMs * @property {number|Long|null} [serverTimestampMs] KeepInChat serverTimestampMs */ /** * Constructs a new KeepInChat. * @memberof proto * @classdesc Represents a KeepInChat. * @implements IKeepInChat * @constructor * @param {proto.IKeepInChat=} [properties] Properties to set */ function KeepInChat(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]]; } /** * KeepInChat keepType. * @member {proto.KeepType} keepType * @memberof proto.KeepInChat * @instance */ KeepInChat.prototype.keepType = 0; /** * KeepInChat serverTimestamp. * @member {number|Long} serverTimestamp * @memberof proto.KeepInChat * @instance */ KeepInChat.prototype.serverTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * KeepInChat key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.KeepInChat * @instance */ KeepInChat.prototype.key = null; /** * KeepInChat deviceJid. * @member {string} deviceJid * @memberof proto.KeepInChat * @instance */ KeepInChat.prototype.deviceJid = ""; /** * KeepInChat clientTimestampMs. * @member {number|Long} clientTimestampMs * @memberof proto.KeepInChat * @instance */ KeepInChat.prototype.clientTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * KeepInChat serverTimestampMs. * @member {number|Long} serverTimestampMs * @memberof proto.KeepInChat * @instance */ KeepInChat.prototype.serverTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new KeepInChat instance using the specified properties. * @function create * @memberof proto.KeepInChat * @static * @param {proto.IKeepInChat=} [properties] Properties to set * @returns {proto.KeepInChat} KeepInChat instance */ KeepInChat.create = function create(properties) { return new KeepInChat(properties); }; /** * Encodes the specified KeepInChat message. Does not implicitly {@link proto.KeepInChat.verify|verify} messages. * @function encode * @memberof proto.KeepInChat * @static * @param {proto.IKeepInChat} message KeepInChat message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ KeepInChat.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.keepType != null && Object.hasOwnProperty.call(message, "keepType")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.keepType); if (message.serverTimestamp != null && Object.hasOwnProperty.call(message, "serverTimestamp")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.serverTimestamp); if (message.key != null && Object.hasOwnProperty.call(message, "key")) $root.proto.MessageKey.encode(message.key, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.deviceJid != null && Object.hasOwnProperty.call(message, "deviceJid")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.deviceJid); if (message.clientTimestampMs != null && Object.hasOwnProperty.call(message, "clientTimestampMs")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.clientTimestampMs); if (message.serverTimestampMs != null && Object.hasOwnProperty.call(message, "serverTimestampMs")) writer.uint32(/* id 6, wireType 0 =*/48).int64(message.serverTimestampMs); return writer; }; /** * Encodes the specified KeepInChat message, length delimited. Does not implicitly {@link proto.KeepInChat.verify|verify} messages. * @function encodeDelimited * @memberof proto.KeepInChat * @static * @param {proto.IKeepInChat} message KeepInChat message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ KeepInChat.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a KeepInChat message from the specified reader or buffer. * @function decode * @memberof proto.KeepInChat * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.KeepInChat} KeepInChat * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ KeepInChat.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.KeepInChat(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.keepType = reader.int32(); break; case 2: message.serverTimestamp = reader.int64(); break; case 3: message.key = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 4: message.deviceJid = reader.string(); break; case 5: message.clientTimestampMs = reader.int64(); break; case 6: message.serverTimestampMs = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a KeepInChat message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.KeepInChat * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.KeepInChat} KeepInChat * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ KeepInChat.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a KeepInChat message. * @function verify * @memberof proto.KeepInChat * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ KeepInChat.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.keepType != null && message.hasOwnProperty("keepType")) switch (message.keepType) { default: return "keepType: enum value expected"; case 0: case 1: case 2: break; } if (message.serverTimestamp != null && message.hasOwnProperty("serverTimestamp")) if (!$util.isInteger(message.serverTimestamp) && !(message.serverTimestamp && $util.isInteger(message.serverTimestamp.low) && $util.isInteger(message.serverTimestamp.high))) return "serverTimestamp: integer|Long expected"; if (message.key != null && message.hasOwnProperty("key")) { var error = $root.proto.MessageKey.verify(message.key); if (error) return "key." + error; } if (message.deviceJid != null && message.hasOwnProperty("deviceJid")) if (!$util.isString(message.deviceJid)) return "deviceJid: string expected"; if (message.clientTimestampMs != null && message.hasOwnProperty("clientTimestampMs")) if (!$util.isInteger(message.clientTimestampMs) && !(message.clientTimestampMs && $util.isInteger(message.clientTimestampMs.low) && $util.isInteger(message.clientTimestampMs.high))) return "clientTimestampMs: integer|Long expected"; if (message.serverTimestampMs != null && message.hasOwnProperty("serverTimestampMs")) if (!$util.isInteger(message.serverTimestampMs) && !(message.serverTimestampMs && $util.isInteger(message.serverTimestampMs.low) && $util.isInteger(message.serverTimestampMs.high))) return "serverTimestampMs: integer|Long expected"; return null; }; /** * Creates a KeepInChat message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.KeepInChat * @static * @param {Object.<string,*>} object Plain object * @returns {proto.KeepInChat} KeepInChat */ KeepInChat.fromObject = function fromObject(object) { if (object instanceof $root.proto.KeepInChat) return object; var message = new $root.proto.KeepInChat(); switch (object.keepType) { case "UNKNOWN": case 0: message.keepType = 0; break; case "KEEP_FOR_ALL": case 1: message.keepType = 1; break; case "UNDO_KEEP_FOR_ALL": case 2: message.keepType = 2; break; } if (object.serverTimestamp != null) if ($util.Long) (message.serverTimestamp = $util.Long.fromValue(object.serverTimestamp)).unsigned = false; else if (typeof object.serverTimestamp === "string") message.serverTimestamp = parseInt(object.serverTimestamp, 10); else if (typeof object.serverTimestamp === "number") message.serverTimestamp = object.serverTimestamp; else if (typeof object.serverTimestamp === "object") message.serverTimestamp = new $util.LongBits(object.serverTimestamp.low >>> 0, object.serverTimestamp.high >>> 0).toNumber(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.KeepInChat.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } if (object.deviceJid != null) message.deviceJid = String(object.deviceJid); if (object.clientTimestampMs != null) if ($util.Long) (message.clientTimestampMs = $util.Long.fromValue(object.clientTimestampMs)).unsigned = false; else if (typeof object.clientTimestampMs === "string") message.clientTimestampMs = parseInt(object.clientTimestampMs, 10); else if (typeof object.clientTimestampMs === "number") message.clientTimestampMs = object.clientTimestampMs; else if (typeof object.clientTimestampMs === "object") message.clientTimestampMs = new $util.LongBits(object.clientTimestampMs.low >>> 0, object.clientTimestampMs.high >>> 0).toNumber(); if (object.serverTimestampMs != null) if ($util.Long) (message.serverTimestampMs = $util.Long.fromValue(object.serverTimestampMs)).unsigned = false; else if (typeof object.serverTimestampMs === "string") message.serverTimestampMs = parseInt(object.serverTimestampMs, 10); else if (typeof object.serverTimestampMs === "number") message.serverTimestampMs = object.serverTimestampMs; else if (typeof object.serverTimestampMs === "object") message.serverTimestampMs = new $util.LongBits(object.serverTimestampMs.low >>> 0, object.serverTimestampMs.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a KeepInChat message. Also converts values to other types if specified. * @function toObject * @memberof proto.KeepInChat * @static * @param {proto.KeepInChat} message KeepInChat * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ KeepInChat.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.keepType = options.enums === String ? "UNKNOWN" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.serverTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.serverTimestamp = options.longs === String ? "0" : 0; object.key = null; object.deviceJid = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.clientTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.clientTimestampMs = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.serverTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.serverTimestampMs = options.longs === String ? "0" : 0; } if (message.keepType != null && message.hasOwnProperty("keepType")) object.keepType = options.enums === String ? $root.proto.KeepType[message.keepType] : message.keepType; if (message.serverTimestamp != null && message.hasOwnProperty("serverTimestamp")) if (typeof message.serverTimestamp === "number") object.serverTimestamp = options.longs === String ? String(message.serverTimestamp) : message.serverTimestamp; else object.serverTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.serverTimestamp) : options.longs === Number ? new $util.LongBits(message.serverTimestamp.low >>> 0, message.serverTimestamp.high >>> 0).toNumber() : message.serverTimestamp; if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); if (message.deviceJid != null && message.hasOwnProperty("deviceJid")) object.deviceJid = message.deviceJid; if (message.clientTimestampMs != null && message.hasOwnProperty("clientTimestampMs")) if (typeof message.clientTimestampMs === "number") object.clientTimestampMs = options.longs === String ? String(message.clientTimestampMs) : message.clientTimestampMs; else object.clientTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.clientTimestampMs) : options.longs === Number ? new $util.LongBits(message.clientTimestampMs.low >>> 0, message.clientTimestampMs.high >>> 0).toNumber() : message.clientTimestampMs; if (message.serverTimestampMs != null && message.hasOwnProperty("serverTimestampMs")) if (typeof message.serverTimestampMs === "number") object.serverTimestampMs = options.longs === String ? String(message.serverTimestampMs) : message.serverTimestampMs; else object.serverTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.serverTimestampMs) : options.longs === Number ? new $util.LongBits(message.serverTimestampMs.low >>> 0, message.serverTimestampMs.high >>> 0).toNumber() : message.serverTimestampMs; return object; }; /** * Converts this KeepInChat to JSON. * @function toJSON * @memberof proto.KeepInChat * @instance * @returns {Object.<string,*>} JSON object */ KeepInChat.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return KeepInChat; })(); /** * KeepType enum. * @name proto.KeepType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} KEEP_FOR_ALL=1 KEEP_FOR_ALL value * @property {number} UNDO_KEEP_FOR_ALL=2 UNDO_KEEP_FOR_ALL value */ proto.KeepType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "KEEP_FOR_ALL"] = 1; values[valuesById[2] = "UNDO_KEEP_FOR_ALL"] = 2; return values; })(); proto.KeyExchangeMessage = (function() { /** * Properties of a KeyExchangeMessage. * @memberof proto * @interface IKeyExchangeMessage * @property {number|null} [id] KeyExchangeMessage id * @property {Uint8Array|null} [baseKey] KeyExchangeMessage baseKey * @property {Uint8Array|null} [ratchetKey] KeyExchangeMessage ratchetKey * @property {Uint8Array|null} [identityKey] KeyExchangeMessage identityKey * @property {Uint8Array|null} [baseKeySignature] KeyExchangeMessage baseKeySignature */ /** * Constructs a new KeyExchangeMessage. * @memberof proto * @classdesc Represents a KeyExchangeMessage. * @implements IKeyExchangeMessage * @constructor * @param {proto.IKeyExchangeMessage=} [properties] Properties to set */ function KeyExchangeMessage(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]]; } /** * KeyExchangeMessage id. * @member {number} id * @memberof proto.KeyExchangeMessage * @instance */ KeyExchangeMessage.prototype.id = 0; /** * KeyExchangeMessage baseKey. * @member {Uint8Array} baseKey * @memberof proto.KeyExchangeMessage * @instance */ KeyExchangeMessage.prototype.baseKey = $util.newBuffer([]); /** * KeyExchangeMessage ratchetKey. * @member {Uint8Array} ratchetKey * @memberof proto.KeyExchangeMessage * @instance */ KeyExchangeMessage.prototype.ratchetKey = $util.newBuffer([]); /** * KeyExchangeMessage identityKey. * @member {Uint8Array} identityKey * @memberof proto.KeyExchangeMessage * @instance */ KeyExchangeMessage.prototype.identityKey = $util.newBuffer([]); /** * KeyExchangeMessage baseKeySignature. * @member {Uint8Array} baseKeySignature * @memberof proto.KeyExchangeMessage * @instance */ KeyExchangeMessage.prototype.baseKeySignature = $util.newBuffer([]); /** * Creates a new KeyExchangeMessage instance using the specified properties. * @function create * @memberof proto.KeyExchangeMessage * @static * @param {proto.IKeyExchangeMessage=} [properties] Properties to set * @returns {proto.KeyExchangeMessage} KeyExchangeMessage instance */ KeyExchangeMessage.create = function create(properties) { return new KeyExchangeMessage(properties); }; /** * Encodes the specified KeyExchangeMessage message. Does not implicitly {@link proto.KeyExchangeMessage.verify|verify} messages. * @function encode * @memberof proto.KeyExchangeMessage * @static * @param {proto.IKeyExchangeMessage} message KeyExchangeMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ KeyExchangeMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.id); if (message.baseKey != null && Object.hasOwnProperty.call(message, "baseKey")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.baseKey); if (message.ratchetKey != null && Object.hasOwnProperty.call(message, "ratchetKey")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.ratchetKey); if (message.identityKey != null && Object.hasOwnProperty.call(message, "identityKey")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.identityKey); if (message.baseKeySignature != null && Object.hasOwnProperty.call(message, "baseKeySignature")) writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.baseKeySignature); return writer; }; /** * Encodes the specified KeyExchangeMessage message, length delimited. Does not implicitly {@link proto.KeyExchangeMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.KeyExchangeMessage * @static * @param {proto.IKeyExchangeMessage} message KeyExchangeMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ KeyExchangeMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a KeyExchangeMessage message from the specified reader or buffer. * @function decode * @memberof proto.KeyExchangeMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.KeyExchangeMessage} KeyExchangeMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ KeyExchangeMessage.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.KeyExchangeMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.uint32(); break; case 2: message.baseKey = reader.bytes(); break; case 3: message.ratchetKey = reader.bytes(); break; case 4: message.identityKey = reader.bytes(); break; case 5: message.baseKeySignature = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a KeyExchangeMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.KeyExchangeMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.KeyExchangeMessage} KeyExchangeMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ KeyExchangeMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a KeyExchangeMessage message. * @function verify * @memberof proto.KeyExchangeMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ KeyExchangeMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isInteger(message.id)) return "id: integer expected"; if (message.baseKey != null && message.hasOwnProperty("baseKey")) if (!(message.baseKey && typeof message.baseKey.length === "number" || $util.isString(message.baseKey))) return "baseKey: buffer expected"; if (message.ratchetKey != null && message.hasOwnProperty("ratchetKey")) if (!(message.ratchetKey && typeof message.ratchetKey.length === "number" || $util.isString(message.ratchetKey))) return "ratchetKey: buffer expected"; if (message.identityKey != null && message.hasOwnProperty("identityKey")) if (!(message.identityKey && typeof message.identityKey.length === "number" || $util.isString(message.identityKey))) return "identityKey: buffer expected"; if (message.baseKeySignature != null && message.hasOwnProperty("baseKeySignature")) if (!(message.baseKeySignature && typeof message.baseKeySignature.length === "number" || $util.isString(message.baseKeySignature))) return "baseKeySignature: buffer expected"; return null; }; /** * Creates a KeyExchangeMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.KeyExchangeMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.KeyExchangeMessage} KeyExchangeMessage */ KeyExchangeMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.KeyExchangeMessage) return object; var message = new $root.proto.KeyExchangeMessage(); if (object.id != null) message.id = object.id >>> 0; if (object.baseKey != null) if (typeof object.baseKey === "string") $util.base64.decode(object.baseKey, message.baseKey = $util.newBuffer($util.base64.length(object.baseKey)), 0); else if (object.baseKey.length) message.baseKey = object.baseKey; if (object.ratchetKey != null) if (typeof object.ratchetKey === "string") $util.base64.decode(object.ratchetKey, message.ratchetKey = $util.newBuffer($util.base64.length(object.ratchetKey)), 0); else if (object.ratchetKey.length) message.ratchetKey = object.ratchetKey; if (object.identityKey != null) if (typeof object.identityKey === "string") $util.base64.decode(object.identityKey, message.identityKey = $util.newBuffer($util.base64.length(object.identityKey)), 0); else if (object.identityKey.length) message.identityKey = object.identityKey; if (object.baseKeySignature != null) if (typeof object.baseKeySignature === "string") $util.base64.decode(object.baseKeySignature, message.baseKeySignature = $util.newBuffer($util.base64.length(object.baseKeySignature)), 0); else if (object.baseKeySignature.length) message.baseKeySignature = object.baseKeySignature; return message; }; /** * Creates a plain object from a KeyExchangeMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.KeyExchangeMessage * @static * @param {proto.KeyExchangeMessage} message KeyExchangeMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ KeyExchangeMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.id = 0; if (options.bytes === String) object.baseKey = ""; else { object.baseKey = []; if (options.bytes !== Array) object.baseKey = $util.newBuffer(object.baseKey); } if (options.bytes === String) object.ratchetKey = ""; else { object.ratchetKey = []; if (options.bytes !== Array) object.ratchetKey = $util.newBuffer(object.ratchetKey); } if (options.bytes === String) object.identityKey = ""; else { object.identityKey = []; if (options.bytes !== Array) object.identityKey = $util.newBuffer(object.identityKey); } if (options.bytes === String) object.baseKeySignature = ""; else { object.baseKeySignature = []; if (options.bytes !== Array) object.baseKeySignature = $util.newBuffer(object.baseKeySignature); } } if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; if (message.baseKey != null && message.hasOwnProperty("baseKey")) object.baseKey = options.bytes === String ? $util.base64.encode(message.baseKey, 0, message.baseKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.baseKey) : message.baseKey; if (message.ratchetKey != null && message.hasOwnProperty("ratchetKey")) object.ratchetKey = options.bytes === String ? $util.base64.encode(message.ratchetKey, 0, message.ratchetKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.ratchetKey) : message.ratchetKey; if (message.identityKey != null && message.hasOwnProperty("identityKey")) object.identityKey = options.bytes === String ? $util.base64.encode(message.identityKey, 0, message.identityKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.identityKey) : message.identityKey; if (message.baseKeySignature != null && message.hasOwnProperty("baseKeySignature")) object.baseKeySignature = options.bytes === String ? $util.base64.encode(message.baseKeySignature, 0, message.baseKeySignature.length) : options.bytes === Array ? Array.prototype.slice.call(message.baseKeySignature) : message.baseKeySignature; return object; }; /** * Converts this KeyExchangeMessage to JSON. * @function toJSON * @memberof proto.KeyExchangeMessage * @instance * @returns {Object.<string,*>} JSON object */ KeyExchangeMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return KeyExchangeMessage; })(); proto.KeyId = (function() { /** * Properties of a KeyId. * @memberof proto * @interface IKeyId * @property {Uint8Array|null} [id] KeyId id */ /** * Constructs a new KeyId. * @memberof proto * @classdesc Represents a KeyId. * @implements IKeyId * @constructor * @param {proto.IKeyId=} [properties] Properties to set */ function KeyId(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]]; } /** * KeyId id. * @member {Uint8Array} id * @memberof proto.KeyId * @instance */ KeyId.prototype.id = $util.newBuffer([]); /** * Creates a new KeyId instance using the specified properties. * @function create * @memberof proto.KeyId * @static * @param {proto.IKeyId=} [properties] Properties to set * @returns {proto.KeyId} KeyId instance */ KeyId.create = function create(properties) { return new KeyId(properties); }; /** * Encodes the specified KeyId message. Does not implicitly {@link proto.KeyId.verify|verify} messages. * @function encode * @memberof proto.KeyId * @static * @param {proto.IKeyId} message KeyId message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ KeyId.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.id); return writer; }; /** * Encodes the specified KeyId message, length delimited. Does not implicitly {@link proto.KeyId.verify|verify} messages. * @function encodeDelimited * @memberof proto.KeyId * @static * @param {proto.IKeyId} message KeyId message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ KeyId.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a KeyId message from the specified reader or buffer. * @function decode * @memberof proto.KeyId * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.KeyId} KeyId * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ KeyId.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.KeyId(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a KeyId message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.KeyId * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.KeyId} KeyId * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ KeyId.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a KeyId message. * @function verify * @memberof proto.KeyId * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ KeyId.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.id != null && message.hasOwnProperty("id")) if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) return "id: buffer expected"; return null; }; /** * Creates a KeyId message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.KeyId * @static * @param {Object.<string,*>} object Plain object * @returns {proto.KeyId} KeyId */ KeyId.fromObject = function fromObject(object) { if (object instanceof $root.proto.KeyId) return object; var message = new $root.proto.KeyId(); if (object.id != null) if (typeof object.id === "string") $util.base64.decode(object.id, message.id = $util.newBuffer($util.base64.length(object.id)), 0); else if (object.id.length) message.id = object.id; return message; }; /** * Creates a plain object from a KeyId message. Also converts values to other types if specified. * @function toObject * @memberof proto.KeyId * @static * @param {proto.KeyId} message KeyId * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ KeyId.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) if (options.bytes === String) object.id = ""; else { object.id = []; if (options.bytes !== Array) object.id = $util.newBuffer(object.id); } if (message.id != null && message.hasOwnProperty("id")) object.id = options.bytes === String ? $util.base64.encode(message.id, 0, message.id.length) : options.bytes === Array ? Array.prototype.slice.call(message.id) : message.id; return object; }; /** * Converts this KeyId to JSON. * @function toJSON * @memberof proto.KeyId * @instance * @returns {Object.<string,*>} JSON object */ KeyId.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return KeyId; })(); proto.LocalizedName = (function() { /** * Properties of a LocalizedName. * @memberof proto * @interface ILocalizedName * @property {string|null} [lg] LocalizedName lg * @property {string|null} [lc] LocalizedName lc * @property {string|null} [verifiedName] LocalizedName verifiedName */ /** * Constructs a new LocalizedName. * @memberof proto * @classdesc Represents a LocalizedName. * @implements ILocalizedName * @constructor * @param {proto.ILocalizedName=} [properties] Properties to set */ function LocalizedName(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]]; } /** * LocalizedName lg. * @member {string} lg * @memberof proto.LocalizedName * @instance */ LocalizedName.prototype.lg = ""; /** * LocalizedName lc. * @member {string} lc * @memberof proto.LocalizedName * @instance */ LocalizedName.prototype.lc = ""; /** * LocalizedName verifiedName. * @member {string} verifiedName * @memberof proto.LocalizedName * @instance */ LocalizedName.prototype.verifiedName = ""; /** * Creates a new LocalizedName instance using the specified properties. * @function create * @memberof proto.LocalizedName * @static * @param {proto.ILocalizedName=} [properties] Properties to set * @returns {proto.LocalizedName} LocalizedName instance */ LocalizedName.create = function create(properties) { return new LocalizedName(properties); }; /** * Encodes the specified LocalizedName message. Does not implicitly {@link proto.LocalizedName.verify|verify} messages. * @function encode * @memberof proto.LocalizedName * @static * @param {proto.ILocalizedName} message LocalizedName message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LocalizedName.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.lg != null && Object.hasOwnProperty.call(message, "lg")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.lg); if (message.lc != null && Object.hasOwnProperty.call(message, "lc")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.lc); if (message.verifiedName != null && Object.hasOwnProperty.call(message, "verifiedName")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.verifiedName); return writer; }; /** * Encodes the specified LocalizedName message, length delimited. Does not implicitly {@link proto.LocalizedName.verify|verify} messages. * @function encodeDelimited * @memberof proto.LocalizedName * @static * @param {proto.ILocalizedName} message LocalizedName message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LocalizedName.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a LocalizedName message from the specified reader or buffer. * @function decode * @memberof proto.LocalizedName * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.LocalizedName} LocalizedName * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LocalizedName.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.LocalizedName(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.lg = reader.string(); break; case 2: message.lc = reader.string(); break; case 3: message.verifiedName = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a LocalizedName message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.LocalizedName * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.LocalizedName} LocalizedName * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LocalizedName.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a LocalizedName message. * @function verify * @memberof proto.LocalizedName * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ LocalizedName.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.lg != null && message.hasOwnProperty("lg")) if (!$util.isString(message.lg)) return "lg: string expected"; if (message.lc != null && message.hasOwnProperty("lc")) if (!$util.isString(message.lc)) return "lc: string expected"; if (message.verifiedName != null && message.hasOwnProperty("verifiedName")) if (!$util.isString(message.verifiedName)) return "verifiedName: string expected"; return null; }; /** * Creates a LocalizedName message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.LocalizedName * @static * @param {Object.<string,*>} object Plain object * @returns {proto.LocalizedName} LocalizedName */ LocalizedName.fromObject = function fromObject(object) { if (object instanceof $root.proto.LocalizedName) return object; var message = new $root.proto.LocalizedName(); if (object.lg != null) message.lg = String(object.lg); if (object.lc != null) message.lc = String(object.lc); if (object.verifiedName != null) message.verifiedName = String(object.verifiedName); return message; }; /** * Creates a plain object from a LocalizedName message. Also converts values to other types if specified. * @function toObject * @memberof proto.LocalizedName * @static * @param {proto.LocalizedName} message LocalizedName * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ LocalizedName.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.lg = ""; object.lc = ""; object.verifiedName = ""; } if (message.lg != null && message.hasOwnProperty("lg")) object.lg = message.lg; if (message.lc != null && message.hasOwnProperty("lc")) object.lc = message.lc; if (message.verifiedName != null && message.hasOwnProperty("verifiedName")) object.verifiedName = message.verifiedName; return object; }; /** * Converts this LocalizedName to JSON. * @function toJSON * @memberof proto.LocalizedName * @instance * @returns {Object.<string,*>} JSON object */ LocalizedName.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return LocalizedName; })(); 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.<string,*>} 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.<string,*>} 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.<string,*>} 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.<string,*>} JSON object */ Location.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Location; })(); proto.MediaData = (function() { /** * Properties of a MediaData. * @memberof proto * @interface IMediaData * @property {string|null} [localPath] MediaData localPath */ /** * Constructs a new MediaData. * @memberof proto * @classdesc Represents a MediaData. * @implements IMediaData * @constructor * @param {proto.IMediaData=} [properties] Properties to set */ function MediaData(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]]; } /** * MediaData localPath. * @member {string} localPath * @memberof proto.MediaData * @instance */ MediaData.prototype.localPath = ""; /** * Creates a new MediaData instance using the specified properties. * @function create * @memberof proto.MediaData * @static * @param {proto.IMediaData=} [properties] Properties to set * @returns {proto.MediaData} MediaData instance */ MediaData.create = function create(properties) { return new MediaData(properties); }; /** * Encodes the specified MediaData message. Does not implicitly {@link proto.MediaData.verify|verify} messages. * @function encode * @memberof proto.MediaData * @static * @param {proto.IMediaData} message MediaData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MediaData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.localPath != null && Object.hasOwnProperty.call(message, "localPath")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.localPath); return writer; }; /** * Encodes the specified MediaData message, length delimited. Does not implicitly {@link proto.MediaData.verify|verify} messages. * @function encodeDelimited * @memberof proto.MediaData * @static * @param {proto.IMediaData} message MediaData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MediaData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MediaData message from the specified reader or buffer. * @function decode * @memberof proto.MediaData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.MediaData} MediaData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MediaData.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.MediaData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.localPath = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MediaData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.MediaData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.MediaData} MediaData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MediaData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MediaData message. * @function verify * @memberof proto.MediaData * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MediaData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.localPath != null && message.hasOwnProperty("localPath")) if (!$util.isString(message.localPath)) return "localPath: string expected"; return null; }; /** * Creates a MediaData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.MediaData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.MediaData} MediaData */ MediaData.fromObject = function fromObject(object) { if (object instanceof $root.proto.MediaData) return object; var message = new $root.proto.MediaData(); if (object.localPath != null) message.localPath = String(object.localPath); return message; }; /** * Creates a plain object from a MediaData message. Also converts values to other types if specified. * @function toObject * @memberof proto.MediaData * @static * @param {proto.MediaData} message MediaData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MediaData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.localPath = ""; if (message.localPath != null && message.hasOwnProperty("localPath")) object.localPath = message.localPath; return object; }; /** * Converts this MediaData to JSON. * @function toJSON * @memberof proto.MediaData * @instance * @returns {Object.<string,*>} JSON object */ MediaData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MediaData; })(); proto.MediaRetryNotification = (function() { /** * Properties of a MediaRetryNotification. * @memberof proto * @interface IMediaRetryNotification * @property {string|null} [stanzaId] MediaRetryNotification stanzaId * @property {string|null} [directPath] MediaRetryNotification directPath * @property {proto.MediaRetryNotification.ResultType|null} [result] MediaRetryNotification result */ /** * Constructs a new MediaRetryNotification. * @memberof proto * @classdesc Represents a MediaRetryNotification. * @implements IMediaRetryNotification * @constructor * @param {proto.IMediaRetryNotification=} [properties] Properties to set */ function MediaRetryNotification(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]]; } /** * MediaRetryNotification stanzaId. * @member {string} stanzaId * @memberof proto.MediaRetryNotification * @instance */ MediaRetryNotification.prototype.stanzaId = ""; /** * MediaRetryNotification directPath. * @member {string} directPath * @memberof proto.MediaRetryNotification * @instance */ MediaRetryNotification.prototype.directPath = ""; /** * MediaRetryNotification result. * @member {proto.MediaRetryNotification.ResultType} result * @memberof proto.MediaRetryNotification * @instance */ MediaRetryNotification.prototype.result = 0; /** * Creates a new MediaRetryNotification instance using the specified properties. * @function create * @memberof proto.MediaRetryNotification * @static * @param {proto.IMediaRetryNotification=} [properties] Properties to set * @returns {proto.MediaRetryNotification} MediaRetryNotification instance */ MediaRetryNotification.create = function create(properties) { return new MediaRetryNotification(properties); }; /** * Encodes the specified MediaRetryNotification message. Does not implicitly {@link proto.MediaRetryNotification.verify|verify} messages. * @function encode * @memberof proto.MediaRetryNotification * @static * @param {proto.IMediaRetryNotification} message MediaRetryNotification message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MediaRetryNotification.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.directPath != null && Object.hasOwnProperty.call(message, "directPath")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.directPath); if (message.result != null && Object.hasOwnProperty.call(message, "result")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.result); return writer; }; /** * Encodes the specified MediaRetryNotification message, length delimited. Does not implicitly {@link proto.MediaRetryNotification.verify|verify} messages. * @function encodeDelimited * @memberof proto.MediaRetryNotification * @static * @param {proto.IMediaRetryNotification} message MediaRetryNotification message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MediaRetryNotification.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MediaRetryNotification message from the specified reader or buffer. * @function decode * @memberof proto.MediaRetryNotification * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.MediaRetryNotification} MediaRetryNotification * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MediaRetryNotification.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.MediaRetryNotification(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.stanzaId = reader.string(); break; case 2: message.directPath = reader.string(); break; case 3: message.result = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MediaRetryNotification message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.MediaRetryNotification * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.MediaRetryNotification} MediaRetryNotification * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MediaRetryNotification.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MediaRetryNotification message. * @function verify * @memberof proto.MediaRetryNotification * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MediaRetryNotification.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.directPath != null && message.hasOwnProperty("directPath")) if (!$util.isString(message.directPath)) return "directPath: string expected"; if (message.result != null && message.hasOwnProperty("result")) switch (message.result) { default: return "result: enum value expected"; case 0: case 1: case 2: case 3: break; } return null; }; /** * Creates a MediaRetryNotification message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.MediaRetryNotification * @static * @param {Object.<string,*>} object Plain object * @returns {proto.MediaRetryNotification} MediaRetryNotification */ MediaRetryNotification.fromObject = function fromObject(object) { if (object instanceof $root.proto.MediaRetryNotification) return object; var message = new $root.proto.MediaRetryNotification(); if (object.stanzaId != null) message.stanzaId = String(object.stanzaId); if (object.directPath != null) message.directPath = String(object.directPath); switch (object.result) { case "GENERAL_ERROR": case 0: message.result = 0; break; case "SUCCESS": case 1: message.result = 1; break; case "NOT_FOUND": case 2: message.result = 2; break; case "DECRYPTION_ERROR": case 3: message.result = 3; break; } return message; }; /** * Creates a plain object from a MediaRetryNotification message. Also converts values to other types if specified. * @function toObject * @memberof proto.MediaRetryNotification * @static * @param {proto.MediaRetryNotification} message MediaRetryNotification * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MediaRetryNotification.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.stanzaId = ""; object.directPath = ""; object.result = options.enums === String ? "GENERAL_ERROR" : 0; } if (message.stanzaId != null && message.hasOwnProperty("stanzaId")) object.stanzaId = message.stanzaId; if (message.directPath != null && message.hasOwnProperty("directPath")) object.directPath = message.directPath; if (message.result != null && message.hasOwnProperty("result")) object.result = options.enums === String ? $root.proto.MediaRetryNotification.ResultType[message.result] : message.result; return object; }; /** * Converts this MediaRetryNotification to JSON. * @function toJSON * @memberof proto.MediaRetryNotification * @instance * @returns {Object.<string,*>} JSON object */ MediaRetryNotification.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ResultType enum. * @name proto.MediaRetryNotification.ResultType * @enum {number} * @property {number} GENERAL_ERROR=0 GENERAL_ERROR value * @property {number} SUCCESS=1 SUCCESS value * @property {number} NOT_FOUND=2 NOT_FOUND value * @property {number} DECRYPTION_ERROR=3 DECRYPTION_ERROR value */ MediaRetryNotification.ResultType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "GENERAL_ERROR"] = 0; values[valuesById[1] = "SUCCESS"] = 1; values[valuesById[2] = "NOT_FOUND"] = 2; values[valuesById[3] = "DECRYPTION_ERROR"] = 3; return values; })(); return MediaRetryNotification; })(); /** * MediaVisibility enum. * @name proto.MediaVisibility * @enum {number} * @property {number} DEFAULT=0 DEFAULT value * @property {number} OFF=1 OFF value * @property {number} ON=2 ON value */ proto.MediaVisibility = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "DEFAULT"] = 0; values[valuesById[1] = "OFF"] = 1; values[valuesById[2] = "ON"] = 2; return values; })(); proto.Message = (function() { /** * Properties of a Message. * @memberof proto * @interface IMessage * @property {string|null} [conversation] Message conversation * @property {proto.Message.ISenderKeyDistributionMessage|null} [senderKeyDistributionMessage] Message senderKeyDistributionMessage * @property {proto.Message.IImageMessage|null} [imageMessage] Message imageMessage * @property {proto.Message.IContactMessage|null} [contactMessage] Message contactMessage * @property {proto.Message.ILocationMessage|null} [locationMessage] Message locationMessage * @property {proto.Message.IExtendedTextMessage|null} [extendedTextMessage] Message extendedTextMessage * @property {proto.Message.IDocumentMessage|null} [documentMessage] Message documentMessage * @property {proto.Message.IAudioMessage|null} [audioMessage] Message audioMessage * @property {proto.Message.IVideoMessage|null} [videoMessage] Message videoMessage * @property {proto.Message.ICall|null} [call] Message call * @property {proto.Message.IChat|null} [chat] Message chat * @property {proto.Message.IProtocolMessage|null} [protocolMessage] Message protocolMessage * @property {proto.Message.IContactsArrayMessage|null} [contactsArrayMessage] Message contactsArrayMessage * @property {proto.Message.IHighlyStructuredMessage|null} [highlyStructuredMessage] Message highlyStructuredMessage * @property {proto.Message.ISenderKeyDistributionMessage|null} [fastRatchetKeySenderKeyDistributionMessage] Message fastRatchetKeySenderKeyDistributionMessage * @property {proto.Message.ISendPaymentMessage|null} [sendPaymentMessage] Message sendPaymentMessage * @property {proto.Message.ILiveLocationMessage|null} [liveLocationMessage] Message liveLocationMessage * @property {proto.Message.IRequestPaymentMessage|null} [requestPaymentMessage] Message requestPaymentMessage * @property {proto.Message.IDeclinePaymentRequestMessage|null} [declinePaymentRequestMessage] Message declinePaymentRequestMessage * @property {proto.Message.ICancelPaymentRequestMessage|null} [cancelPaymentRequestMessage] Message cancelPaymentRequestMessage * @property {proto.Message.ITemplateMessage|null} [templateMessage] Message templateMessage * @property {proto.Message.IStickerMessage|null} [stickerMessage] Message stickerMessage * @property {proto.Message.IGroupInviteMessage|null} [groupInviteMessage] Message groupInviteMessage * @property {proto.Message.ITemplateButtonReplyMessage|null} [templateButtonReplyMessage] Message templateButtonReplyMessage * @property {proto.Message.IProductMessage|null} [productMessage] Message productMessage * @property {proto.Message.IDeviceSentMessage|null} [deviceSentMessage] Message deviceSentMessage * @property {proto.IMessageContextInfo|null} [messageContextInfo] Message messageContextInfo * @property {proto.Message.IListMessage|null} [listMessage] Message listMessage * @property {proto.Message.IFutureProofMessage|null} [viewOnceMessage] Message viewOnceMessage * @property {proto.Message.IOrderMessage|null} [orderMessage] Message orderMessage * @property {proto.Message.IListResponseMessage|null} [listResponseMessage] Message listResponseMessage * @property {proto.Message.IFutureProofMessage|null} [ephemeralMessage] Message ephemeralMessage * @property {proto.Message.IInvoiceMessage|null} [invoiceMessage] Message invoiceMessage * @property {proto.Message.IButtonsMessage|null} [buttonsMessage] Message buttonsMessage * @property {proto.Message.IButtonsResponseMessage|null} [buttonsResponseMessage] Message buttonsResponseMessage * @property {proto.Message.IPaymentInviteMessage|null} [paymentInviteMessage] Message paymentInviteMessage * @property {proto.Message.IInteractiveMessage|null} [interactiveMessage] Message interactiveMessage * @property {proto.Message.IReactionMessage|null} [reactionMessage] Message reactionMessage * @property {proto.Message.IStickerSyncRMRMessage|null} [stickerSyncRmrMessage] Message stickerSyncRmrMessage * @property {proto.Message.IInteractiveResponseMessage|null} [interactiveResponseMessage] Message interactiveResponseMessage * @property {proto.Message.IPollCreationMessage|null} [pollCreationMessage] Message pollCreationMessage * @property {proto.Message.IPollUpdateMessage|null} [pollUpdateMessage] Message pollUpdateMessage * @property {proto.Message.IKeepInChatMessage|null} [keepInChatMessage] Message keepInChatMessage * @property {proto.Message.IFutureProofMessage|null} [documentWithCaptionMessage] Message documentWithCaptionMessage * @property {proto.Message.IRequestPhoneNumberMessage|null} [requestPhoneNumberMessage] Message requestPhoneNumberMessage * @property {proto.Message.IFutureProofMessage|null} [viewOnceMessageV2] Message viewOnceMessageV2 * @property {proto.Message.IEncReactionMessage|null} [encReactionMessage] Message encReactionMessage * @property {proto.Message.IFutureProofMessage|null} [editedMessage] Message editedMessage * @property {proto.Message.IFutureProofMessage|null} [viewOnceMessageV2Extension] Message viewOnceMessageV2Extension * @property {proto.Message.IPollCreationMessage|null} [pollCreationMessageV2] Message pollCreationMessageV2 * @property {proto.Message.IScheduledCallCreationMessage|null} [scheduledCallCreationMessage] Message scheduledCallCreationMessage * @property {proto.Message.IFutureProofMessage|null} [groupMentionedMessage] Message groupMentionedMessage * @property {proto.Message.IPinInChatMessage|null} [pinInChatMessage] Message pinInChatMessage * @property {proto.Message.IPollCreationMessage|null} [pollCreationMessageV3] Message pollCreationMessageV3 * @property {proto.Message.IScheduledCallEditMessage|null} [scheduledCallEditMessage] Message scheduledCallEditMessage * @property {proto.Message.IVideoMessage|null} [ptvMessage] Message ptvMessage * @property {proto.Message.IFutureProofMessage|null} [botInvokeMessage] Message botInvokeMessage */ /** * 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.Message.ISenderKeyDistributionMessage|null|undefined} senderKeyDistributionMessage * @memberof proto.Message * @instance */ Message.prototype.senderKeyDistributionMessage = null; /** * Message imageMessage. * @member {proto.Message.IImageMessage|null|undefined} imageMessage * @memberof proto.Message * @instance */ Message.prototype.imageMessage = null; /** * Message contactMessage. * @member {proto.Message.IContactMessage|null|undefined} contactMessage * @memberof proto.Message * @instance */ Message.prototype.contactMessage = null; /** * Message locationMessage. * @member {proto.Message.ILocationMessage|null|undefined} locationMessage * @memberof proto.Message * @instance */ Message.prototype.locationMessage = null; /** * Message extendedTextMessage. * @member {proto.Message.IExtendedTextMessage|null|undefined} extendedTextMessage * @memberof proto.Message * @instance */ Message.prototype.extendedTextMessage = null; /** * Message documentMessage. * @member {proto.Message.IDocumentMessage|null|undefined} documentMessage * @memberof proto.Message * @instance */ Message.prototype.documentMessage = null; /** * Message audioMessage. * @member {proto.Message.IAudioMessage|null|undefined} audioMessage * @memberof proto.Message * @instance */ Message.prototype.audioMessage = null; /** * Message videoMessage. * @member {proto.Message.IVideoMessage|null|undefined} videoMessage * @memberof proto.Message * @instance */ Message.prototype.videoMessage = null; /** * Message call. * @member {proto.Message.ICall|null|undefined} call * @memberof proto.Message * @instance */ Message.prototype.call = null; /** * Message chat. * @member {proto.Message.IChat|null|undefined} chat * @memberof proto.Message * @instance */ Message.prototype.chat = null; /** * Message protocolMessage. * @member {proto.Message.IProtocolMessage|null|undefined} protocolMessage * @memberof proto.Message * @instance */ Message.prototype.protocolMessage = null; /** * Message contactsArrayMessage. * @member {proto.Message.IContactsArrayMessage|null|undefined} contactsArrayMessage * @memberof proto.Message * @instance */ Message.prototype.contactsArrayMessage = null; /** * Message highlyStructuredMessage. * @member {proto.Message.IHighlyStructuredMessage|null|undefined} highlyStructuredMessage * @memberof proto.Message * @instance */ Message.prototype.highlyStructuredMessage = null; /** * Message fastRatchetKeySenderKeyDistributionMessage. * @member {proto.Message.ISenderKeyDistributionMessage|null|undefined} fastRatchetKeySenderKeyDistributionMessage * @memberof proto.Message * @instance */ Message.prototype.fastRatchetKeySenderKeyDistributionMessage = null; /** * Message sendPaymentMessage. * @member {proto.Message.ISendPaymentMessage|null|undefined} sendPaymentMessage * @memberof proto.Message * @instance */ Message.prototype.sendPaymentMessage = null; /** * Message liveLocationMessage. * @member {proto.Message.ILiveLocationMessage|null|undefined} liveLocationMessage * @memberof proto.Message * @instance */ Message.prototype.liveLocationMessage = null; /** * Message requestPaymentMessage. * @member {proto.Message.IRequestPaymentMessage|null|undefined} requestPaymentMessage * @memberof proto.Message * @instance */ Message.prototype.requestPaymentMessage = null; /** * Message declinePaymentRequestMessage. * @member {proto.Message.IDeclinePaymentRequestMessage|null|undefined} declinePaymentRequestMessage * @memberof proto.Message * @instance */ Message.prototype.declinePaymentRequestMessage = null; /** * Message cancelPaymentRequestMessage. * @member {proto.Message.ICancelPaymentRequestMessage|null|undefined} cancelPaymentRequestMessage * @memberof proto.Message * @instance */ Message.prototype.cancelPaymentRequestMessage = null; /** * Message templateMessage. * @member {proto.Message.ITemplateMessage|null|undefined} templateMessage * @memberof proto.Message * @instance */ Message.prototype.templateMessage = null; /** * Message stickerMessage. * @member {proto.Message.IStickerMessage|null|undefined} stickerMessage * @memberof proto.Message * @instance */ Message.prototype.stickerMessage = null; /** * Message groupInviteMessage. * @member {proto.Message.IGroupInviteMessage|null|undefined} groupInviteMessage * @memberof proto.Message * @instance */ Message.prototype.groupInviteMessage = null; /** * Message templateButtonReplyMessage. * @member {proto.Message.ITemplateButtonReplyMessage|null|undefined} templateButtonReplyMessage * @memberof proto.Message * @instance */ Message.prototype.templateButtonReplyMessage = null; /** * Message productMessage. * @member {proto.Message.IProductMessage|null|undefined} productMessage * @memberof proto.Message * @instance */ Message.prototype.productMessage = null; /** * Message deviceSentMessage. * @member {proto.Message.IDeviceSentMessage|null|undefined} deviceSentMessage * @memberof proto.Message * @instance */ Message.prototype.deviceSentMessage = null; /** * Message messageContextInfo. * @member {proto.IMessageContextInfo|null|undefined} messageContextInfo * @memberof proto.Message * @instance */ Message.prototype.messageContextInfo = null; /** * Message listMessage. * @member {proto.Message.IListMessage|null|undefined} listMessage * @memberof proto.Message * @instance */ Message.prototype.listMessage = null; /** * Message viewOnceMessage. * @member {proto.Message.IFutureProofMessage|null|undefined} viewOnceMessage * @memberof proto.Message * @instance */ Message.prototype.viewOnceMessage = null; /** * Message orderMessage. * @member {proto.Message.IOrderMessage|null|undefined} orderMessage * @memberof proto.Message * @instance */ Message.prototype.orderMessage = null; /** * Message listResponseMessage. * @member {proto.Message.IListResponseMessage|null|undefined} listResponseMessage * @memberof proto.Message * @instance */ Message.prototype.listResponseMessage = null; /** * Message ephemeralMessage. * @member {proto.Message.IFutureProofMessage|null|undefined} ephemeralMessage * @memberof proto.Message * @instance */ Message.prototype.ephemeralMessage = null; /** * Message invoiceMessage. * @member {proto.Message.IInvoiceMessage|null|undefined} invoiceMessage * @memberof proto.Message * @instance */ Message.prototype.invoiceMessage = null; /** * Message buttonsMessage. * @member {proto.Message.IButtonsMessage|null|undefined} buttonsMessage * @memberof proto.Message * @instance */ Message.prototype.buttonsMessage = null; /** * Message buttonsResponseMessage. * @member {proto.Message.IButtonsResponseMessage|null|undefined} buttonsResponseMessage * @memberof proto.Message * @instance */ Message.prototype.buttonsResponseMessage = null; /** * Message paymentInviteMessage. * @member {proto.Message.IPaymentInviteMessage|null|undefined} paymentInviteMessage * @memberof proto.Message * @instance */ Message.prototype.paymentInviteMessage = null; /** * Message interactiveMessage. * @member {proto.Message.IInteractiveMessage|null|undefined} interactiveMessage * @memberof proto.Message * @instance */ Message.prototype.interactiveMessage = null; /** * Message reactionMessage. * @member {proto.Message.IReactionMessage|null|undefined} reactionMessage * @memberof proto.Message * @instance */ Message.prototype.reactionMessage = null; /** * Message stickerSyncRmrMessage. * @member {proto.Message.IStickerSyncRMRMessage|null|undefined} stickerSyncRmrMessage * @memberof proto.Message * @instance */ Message.prototype.stickerSyncRmrMessage = null; /** * Message interactiveResponseMessage. * @member {proto.Message.IInteractiveResponseMessage|null|undefined} interactiveResponseMessage * @memberof proto.Message * @instance */ Message.prototype.interactiveResponseMessage = null; /** * Message pollCreationMessage. * @member {proto.Message.IPollCreationMessage|null|undefined} pollCreationMessage * @memberof proto.Message * @instance */ Message.prototype.pollCreationMessage = null; /** * Message pollUpdateMessage. * @member {proto.Message.IPollUpdateMessage|null|undefined} pollUpdateMessage * @memberof proto.Message * @instance */ Message.prototype.pollUpdateMessage = null; /** * Message keepInChatMessage. * @member {proto.Message.IKeepInChatMessage|null|undefined} keepInChatMessage * @memberof proto.Message * @instance */ Message.prototype.keepInChatMessage = null; /** * Message documentWithCaptionMessage. * @member {proto.Message.IFutureProofMessage|null|undefined} documentWithCaptionMessage * @memberof proto.Message * @instance */ Message.prototype.documentWithCaptionMessage = null; /** * Message requestPhoneNumberMessage. * @member {proto.Message.IRequestPhoneNumberMessage|null|undefined} requestPhoneNumberMessage * @memberof proto.Message * @instance */ Message.prototype.requestPhoneNumberMessage = null; /** * Message viewOnceMessageV2. * @member {proto.Message.IFutureProofMessage|null|undefined} viewOnceMessageV2 * @memberof proto.Message * @instance */ Message.prototype.viewOnceMessageV2 = null; /** * Message encReactionMessage. * @member {proto.Message.IEncReactionMessage|null|undefined} encReactionMessage * @memberof proto.Message * @instance */ Message.prototype.encReactionMessage = null; /** * Message editedMessage. * @member {proto.Message.IFutureProofMessage|null|undefined} editedMessage * @memberof proto.Message * @instance */ Message.prototype.editedMessage = null; /** * Message viewOnceMessageV2Extension. * @member {proto.Message.IFutureProofMessage|null|undefined} viewOnceMessageV2Extension * @memberof proto.Message * @instance */ Message.prototype.viewOnceMessageV2Extension = null; /** * Message pollCreationMessageV2. * @member {proto.Message.IPollCreationMessage|null|undefined} pollCreationMessageV2 * @memberof proto.Message * @instance */ Message.prototype.pollCreationMessageV2 = null; /** * Message scheduledCallCreationMessage. * @member {proto.Message.IScheduledCallCreationMessage|null|undefined} scheduledCallCreationMessage * @memberof proto.Message * @instance */ Message.prototype.scheduledCallCreationMessage = null; /** * Message groupMentionedMessage. * @member {proto.Message.IFutureProofMessage|null|undefined} groupMentionedMessage * @memberof proto.Message * @instance */ Message.prototype.groupMentionedMessage = null; /** * Message pinInChatMessage. * @member {proto.Message.IPinInChatMessage|null|undefined} pinInChatMessage * @memberof proto.Message * @instance */ Message.prototype.pinInChatMessage = null; /** * Message pollCreationMessageV3. * @member {proto.Message.IPollCreationMessage|null|undefined} pollCreationMessageV3 * @memberof proto.Message * @instance */ Message.prototype.pollCreationMessageV3 = null; /** * Message scheduledCallEditMessage. * @member {proto.Message.IScheduledCallEditMessage|null|undefined} scheduledCallEditMessage * @memberof proto.Message * @instance */ Message.prototype.scheduledCallEditMessage = null; /** * Message ptvMessage. * @member {proto.Message.IVideoMessage|null|undefined} ptvMessage * @memberof proto.Message * @instance */ Message.prototype.ptvMessage = null; /** * Message botInvokeMessage. * @member {proto.Message.IFutureProofMessage|null|undefined} botInvokeMessage * @memberof proto.Message * @instance */ Message.prototype.botInvokeMessage = 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.Message.SenderKeyDistributionMessage.encode(message.senderKeyDistributionMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.imageMessage != null && Object.hasOwnProperty.call(message, "imageMessage")) $root.proto.Message.ImageMessage.encode(message.imageMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.contactMessage != null && Object.hasOwnProperty.call(message, "contactMessage")) $root.proto.Message.ContactMessage.encode(message.contactMessage, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.locationMessage != null && Object.hasOwnProperty.call(message, "locationMessage")) $root.proto.Message.LocationMessage.encode(message.locationMessage, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.extendedTextMessage != null && Object.hasOwnProperty.call(message, "extendedTextMessage")) $root.proto.Message.ExtendedTextMessage.encode(message.extendedTextMessage, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.documentMessage != null && Object.hasOwnProperty.call(message, "documentMessage")) $root.proto.Message.DocumentMessage.encode(message.documentMessage, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.audioMessage != null && Object.hasOwnProperty.call(message, "audioMessage")) $root.proto.Message.AudioMessage.encode(message.audioMessage, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.videoMessage != null && Object.hasOwnProperty.call(message, "videoMessage")) $root.proto.Message.VideoMessage.encode(message.videoMessage, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); if (message.call != null && Object.hasOwnProperty.call(message, "call")) $root.proto.Message.Call.encode(message.call, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); if (message.chat != null && Object.hasOwnProperty.call(message, "chat")) $root.proto.Message.Chat.encode(message.chat, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); if (message.protocolMessage != null && Object.hasOwnProperty.call(message, "protocolMessage")) $root.proto.Message.ProtocolMessage.encode(message.protocolMessage, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); if (message.contactsArrayMessage != null && Object.hasOwnProperty.call(message, "contactsArrayMessage")) $root.proto.Message.ContactsArrayMessage.encode(message.contactsArrayMessage, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); if (message.highlyStructuredMessage != null && Object.hasOwnProperty.call(message, "highlyStructuredMessage")) $root.proto.Message.HighlyStructuredMessage.encode(message.highlyStructuredMessage, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); if (message.fastRatchetKeySenderKeyDistributionMessage != null && Object.hasOwnProperty.call(message, "fastRatchetKeySenderKeyDistributionMessage")) $root.proto.Message.SenderKeyDistributionMessage.encode(message.fastRatchetKeySenderKeyDistributionMessage, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); if (message.sendPaymentMessage != null && Object.hasOwnProperty.call(message, "sendPaymentMessage")) $root.proto.Message.SendPaymentMessage.encode(message.sendPaymentMessage, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); if (message.liveLocationMessage != null && Object.hasOwnProperty.call(message, "liveLocationMessage")) $root.proto.Message.LiveLocationMessage.encode(message.liveLocationMessage, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); if (message.requestPaymentMessage != null && Object.hasOwnProperty.call(message, "requestPaymentMessage")) $root.proto.Message.RequestPaymentMessage.encode(message.requestPaymentMessage, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); if (message.declinePaymentRequestMessage != null && Object.hasOwnProperty.call(message, "declinePaymentRequestMessage")) $root.proto.Message.DeclinePaymentRequestMessage.encode(message.declinePaymentRequestMessage, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); if (message.cancelPaymentRequestMessage != null && Object.hasOwnProperty.call(message, "cancelPaymentRequestMessage")) $root.proto.Message.CancelPaymentRequestMessage.encode(message.cancelPaymentRequestMessage, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); if (message.templateMessage != null && Object.hasOwnProperty.call(message, "templateMessage")) $root.proto.Message.TemplateMessage.encode(message.templateMessage, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim(); if (message.stickerMessage != null && Object.hasOwnProperty.call(message, "stickerMessage")) $root.proto.Message.StickerMessage.encode(message.stickerMessage, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim(); if (message.groupInviteMessage != null && Object.hasOwnProperty.call(message, "groupInviteMessage")) $root.proto.Message.GroupInviteMessage.encode(message.groupInviteMessage, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); if (message.templateButtonReplyMessage != null && Object.hasOwnProperty.call(message, "templateButtonReplyMessage")) $root.proto.Message.TemplateButtonReplyMessage.encode(message.templateButtonReplyMessage, writer.uint32(/* id 29, wireType 2 =*/234).fork()).ldelim(); if (message.productMessage != null && Object.hasOwnProperty.call(message, "productMessage")) $root.proto.Message.ProductMessage.encode(message.productMessage, writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim(); if (message.deviceSentMessage != null && Object.hasOwnProperty.call(message, "deviceSentMessage")) $root.proto.Message.DeviceSentMessage.encode(message.deviceSentMessage, writer.uint32(/* id 31, wireType 2 =*/250).fork()).ldelim(); if (message.messageContextInfo != null && Object.hasOwnProperty.call(message, "messageContextInfo")) $root.proto.MessageContextInfo.encode(message.messageContextInfo, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim(); if (message.listMessage != null && Object.hasOwnProperty.call(message, "listMessage")) $root.proto.Message.ListMessage.encode(message.listMessage, writer.uint32(/* id 36, wireType 2 =*/290).fork()).ldelim(); if (message.viewOnceMessage != null && Object.hasOwnProperty.call(message, "viewOnceMessage")) $root.proto.Message.FutureProofMessage.encode(message.viewOnceMessage, writer.uint32(/* id 37, wireType 2 =*/298).fork()).ldelim(); if (message.orderMessage != null && Object.hasOwnProperty.call(message, "orderMessage")) $root.proto.Message.OrderMessage.encode(message.orderMessage, writer.uint32(/* id 38, wireType 2 =*/306).fork()).ldelim(); if (message.listResponseMessage != null && Object.hasOwnProperty.call(message, "listResponseMessage")) $root.proto.Message.ListResponseMessage.encode(message.listResponseMessage, writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim(); if (message.ephemeralMessage != null && Object.hasOwnProperty.call(message, "ephemeralMessage")) $root.proto.Message.FutureProofMessage.encode(message.ephemeralMessage, writer.uint32(/* id 40, wireType 2 =*/322).fork()).ldelim(); if (message.invoiceMessage != null && Object.hasOwnProperty.call(message, "invoiceMessage")) $root.proto.Message.InvoiceMessage.encode(message.invoiceMessage, writer.uint32(/* id 41, wireType 2 =*/330).fork()).ldelim(); if (message.buttonsMessage != null && Object.hasOwnProperty.call(message, "buttonsMessage")) $root.proto.Message.ButtonsMessage.encode(message.buttonsMessage, writer.uint32(/* id 42, wireType 2 =*/338).fork()).ldelim(); if (message.buttonsResponseMessage != null && Object.hasOwnProperty.call(message, "buttonsResponseMessage")) $root.proto.Message.ButtonsResponseMessage.encode(message.buttonsResponseMessage, writer.uint32(/* id 43, wireType 2 =*/346).fork()).ldelim(); if (message.paymentInviteMessage != null && Object.hasOwnProperty.call(message, "paymentInviteMessage")) $root.proto.Message.PaymentInviteMessage.encode(message.paymentInviteMessage, writer.uint32(/* id 44, wireType 2 =*/354).fork()).ldelim(); if (message.interactiveMessage != null && Object.hasOwnProperty.call(message, "interactiveMessage")) $root.proto.Message.InteractiveMessage.encode(message.interactiveMessage, writer.uint32(/* id 45, wireType 2 =*/362).fork()).ldelim(); if (message.reactionMessage != null && Object.hasOwnProperty.call(message, "reactionMessage")) $root.proto.Message.ReactionMessage.encode(message.reactionMessage, writer.uint32(/* id 46, wireType 2 =*/370).fork()).ldelim(); if (message.stickerSyncRmrMessage != null && Object.hasOwnProperty.call(message, "stickerSyncRmrMessage")) $root.proto.Message.StickerSyncRMRMessage.encode(message.stickerSyncRmrMessage, writer.uint32(/* id 47, wireType 2 =*/378).fork()).ldelim(); if (message.interactiveResponseMessage != null && Object.hasOwnProperty.call(message, "interactiveResponseMessage")) $root.proto.Message.InteractiveResponseMessage.encode(message.interactiveResponseMessage, writer.uint32(/* id 48, wireType 2 =*/386).fork()).ldelim(); if (message.pollCreationMessage != null && Object.hasOwnProperty.call(message, "pollCreationMessage")) $root.proto.Message.PollCreationMessage.encode(message.pollCreationMessage, writer.uint32(/* id 49, wireType 2 =*/394).fork()).ldelim(); if (message.pollUpdateMessage != null && Object.hasOwnProperty.call(message, "pollUpdateMessage")) $root.proto.Message.PollUpdateMessage.encode(message.pollUpdateMessage, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim(); if (message.keepInChatMessage != null && Object.hasOwnProperty.call(message, "keepInChatMessage")) $root.proto.Message.KeepInChatMessage.encode(message.keepInChatMessage, writer.uint32(/* id 51, wireType 2 =*/410).fork()).ldelim(); if (message.documentWithCaptionMessage != null && Object.hasOwnProperty.call(message, "documentWithCaptionMessage")) $root.proto.Message.FutureProofMessage.encode(message.documentWithCaptionMessage, writer.uint32(/* id 53, wireType 2 =*/426).fork()).ldelim(); if (message.requestPhoneNumberMessage != null && Object.hasOwnProperty.call(message, "requestPhoneNumberMessage")) $root.proto.Message.RequestPhoneNumberMessage.encode(message.requestPhoneNumberMessage, writer.uint32(/* id 54, wireType 2 =*/434).fork()).ldelim(); if (message.viewOnceMessageV2 != null && Object.hasOwnProperty.call(message, "viewOnceMessageV2")) $root.proto.Message.FutureProofMessage.encode(message.viewOnceMessageV2, writer.uint32(/* id 55, wireType 2 =*/442).fork()).ldelim(); if (message.encReactionMessage != null && Object.hasOwnProperty.call(message, "encReactionMessage")) $root.proto.Message.EncReactionMessage.encode(message.encReactionMessage, writer.uint32(/* id 56, wireType 2 =*/450).fork()).ldelim(); if (message.editedMessage != null && Object.hasOwnProperty.call(message, "editedMessage")) $root.proto.Message.FutureProofMessage.encode(message.editedMessage, writer.uint32(/* id 58, wireType 2 =*/466).fork()).ldelim(); if (message.viewOnceMessageV2Extension != null && Object.hasOwnProperty.call(message, "viewOnceMessageV2Extension")) $root.proto.Message.FutureProofMessage.encode(message.viewOnceMessageV2Extension, writer.uint32(/* id 59, wireType 2 =*/474).fork()).ldelim(); if (message.pollCreationMessageV2 != null && Object.hasOwnProperty.call(message, "pollCreationMessageV2")) $root.proto.Message.PollCreationMessage.encode(message.pollCreationMessageV2, writer.uint32(/* id 60, wireType 2 =*/482).fork()).ldelim(); if (message.scheduledCallCreationMessage != null && Object.hasOwnProperty.call(message, "scheduledCallCreationMessage")) $root.proto.Message.ScheduledCallCreationMessage.encode(message.scheduledCallCreationMessage, writer.uint32(/* id 61, wireType 2 =*/490).fork()).ldelim(); if (message.groupMentionedMessage != null && Object.hasOwnProperty.call(message, "groupMentionedMessage")) $root.proto.Message.FutureProofMessage.encode(message.groupMentionedMessage, writer.uint32(/* id 62, wireType 2 =*/498).fork()).ldelim(); if (message.pinInChatMessage != null && Object.hasOwnProperty.call(message, "pinInChatMessage")) $root.proto.Message.PinInChatMessage.encode(message.pinInChatMessage, writer.uint32(/* id 63, wireType 2 =*/506).fork()).ldelim(); if (message.pollCreationMessageV3 != null && Object.hasOwnProperty.call(message, "pollCreationMessageV3")) $root.proto.Message.PollCreationMessage.encode(message.pollCreationMessageV3, writer.uint32(/* id 64, wireType 2 =*/514).fork()).ldelim(); if (message.scheduledCallEditMessage != null && Object.hasOwnProperty.call(message, "scheduledCallEditMessage")) $root.proto.Message.ScheduledCallEditMessage.encode(message.scheduledCallEditMessage, writer.uint32(/* id 65, wireType 2 =*/522).fork()).ldelim(); if (message.ptvMessage != null && Object.hasOwnProperty.call(message, "ptvMessage")) $root.proto.Message.VideoMessage.encode(message.ptvMessage, writer.uint32(/* id 66, wireType 2 =*/530).fork()).ldelim(); if (message.botInvokeMessage != null && Object.hasOwnProperty.call(message, "botInvokeMessage")) $root.proto.Message.FutureProofMessage.encode(message.botInvokeMessage, writer.uint32(/* id 67, wireType 2 =*/538).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.Message.SenderKeyDistributionMessage.decode(reader, reader.uint32()); break; case 3: message.imageMessage = $root.proto.Message.ImageMessage.decode(reader, reader.uint32()); break; case 4: message.contactMessage = $root.proto.Message.ContactMessage.decode(reader, reader.uint32()); break; case 5: message.locationMessage = $root.proto.Message.LocationMessage.decode(reader, reader.uint32()); break; case 6: message.extendedTextMessage = $root.proto.Message.ExtendedTextMessage.decode(reader, reader.uint32()); break; case 7: message.documentMessage = $root.proto.Message.DocumentMessage.decode(reader, reader.uint32()); break; case 8: message.audioMessage = $root.proto.Message.AudioMessage.decode(reader, reader.uint32()); break; case 9: message.videoMessage = $root.proto.Message.VideoMessage.decode(reader, reader.uint32()); break; case 10: message.call = $root.proto.Message.Call.decode(reader, reader.uint32()); break; case 11: message.chat = $root.proto.Message.Chat.decode(reader, reader.uint32()); break; case 12: message.protocolMessage = $root.proto.Message.ProtocolMessage.decode(reader, reader.uint32()); break; case 13: message.contactsArrayMessage = $root.proto.Message.ContactsArrayMessage.decode(reader, reader.uint32()); break; case 14: message.highlyStructuredMessage = $root.proto.Message.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 15: message.fastRatchetKeySenderKeyDistributionMessage = $root.proto.Message.SenderKeyDistributionMessage.decode(reader, reader.uint32()); break; case 16: message.sendPaymentMessage = $root.proto.Message.SendPaymentMessage.decode(reader, reader.uint32()); break; case 18: message.liveLocationMessage = $root.proto.Message.LiveLocationMessage.decode(reader, reader.uint32()); break; case 22: message.requestPaymentMessage = $root.proto.Message.RequestPaymentMessage.decode(reader, reader.uint32()); break; case 23: message.declinePaymentRequestMessage = $root.proto.Message.DeclinePaymentRequestMessage.decode(reader, reader.uint32()); break; case 24: message.cancelPaymentRequestMessage = $root.proto.Message.CancelPaymentRequestMessage.decode(reader, reader.uint32()); break; case 25: message.templateMessage = $root.proto.Message.TemplateMessage.decode(reader, reader.uint32()); break; case 26: message.stickerMessage = $root.proto.Message.StickerMessage.decode(reader, reader.uint32()); break; case 28: message.groupInviteMessage = $root.proto.Message.GroupInviteMessage.decode(reader, reader.uint32()); break; case 29: message.templateButtonReplyMessage = $root.proto.Message.TemplateButtonReplyMessage.decode(reader, reader.uint32()); break; case 30: message.productMessage = $root.proto.Message.ProductMessage.decode(reader, reader.uint32()); break; case 31: message.deviceSentMessage = $root.proto.Message.DeviceSentMessage.decode(reader, reader.uint32()); break; case 35: message.messageContextInfo = $root.proto.MessageContextInfo.decode(reader, reader.uint32()); break; case 36: message.listMessage = $root.proto.Message.ListMessage.decode(reader, reader.uint32()); break; case 37: message.viewOnceMessage = $root.proto.Message.FutureProofMessage.decode(reader, reader.uint32()); break; case 38: message.orderMessage = $root.proto.Message.OrderMessage.decode(reader, reader.uint32()); break; case 39: message.listResponseMessage = $root.proto.Message.ListResponseMessage.decode(reader, reader.uint32()); break; case 40: message.ephemeralMessage = $root.proto.Message.FutureProofMessage.decode(reader, reader.uint32()); break; case 41: message.invoiceMessage = $root.proto.Message.InvoiceMessage.decode(reader, reader.uint32()); break; case 42: message.buttonsMessage = $root.proto.Message.ButtonsMessage.decode(reader, reader.uint32()); break; case 43: message.buttonsResponseMessage = $root.proto.Message.ButtonsResponseMessage.decode(reader, reader.uint32()); break; case 44: message.paymentInviteMessage = $root.proto.Message.PaymentInviteMessage.decode(reader, reader.uint32()); break; case 45: message.interactiveMessage = $root.proto.Message.InteractiveMessage.decode(reader, reader.uint32()); break; case 46: message.reactionMessage = $root.proto.Message.ReactionMessage.decode(reader, reader.uint32()); break; case 47: message.stickerSyncRmrMessage = $root.proto.Message.StickerSyncRMRMessage.decode(reader, reader.uint32()); break; case 48: message.interactiveResponseMessage = $root.proto.Message.InteractiveResponseMessage.decode(reader, reader.uint32()); break; case 49: message.pollCreationMessage = $root.proto.Message.PollCreationMessage.decode(reader, reader.uint32()); break; case 50: message.pollUpdateMessage = $root.proto.Message.PollUpdateMessage.decode(reader, reader.uint32()); break; case 51: message.keepInChatMessage = $root.proto.Message.KeepInChatMessage.decode(reader, reader.uint32()); break; case 53: message.documentWithCaptionMessage = $root.proto.Message.FutureProofMessage.decode(reader, reader.uint32()); break; case 54: message.requestPhoneNumberMessage = $root.proto.Message.RequestPhoneNumberMessage.decode(reader, reader.uint32()); break; case 55: message.viewOnceMessageV2 = $root.proto.Message.FutureProofMessage.decode(reader, reader.uint32()); break; case 56: message.encReactionMessage = $root.proto.Message.EncReactionMessage.decode(reader, reader.uint32()); break; case 58: message.editedMessage = $root.proto.Message.FutureProofMessage.decode(reader, reader.uint32()); break; case 59: message.viewOnceMessageV2Extension = $root.proto.Message.FutureProofMessage.decode(reader, reader.uint32()); break; case 60: message.pollCreationMessageV2 = $root.proto.Message.PollCreationMessage.decode(reader, reader.uint32()); break; case 61: message.scheduledCallCreationMessage = $root.proto.Message.ScheduledCallCreationMessage.decode(reader, reader.uint32()); break; case 62: message.groupMentionedMessage = $root.proto.Message.FutureProofMessage.decode(reader, reader.uint32()); break; case 63: message.pinInChatMessage = $root.proto.Message.PinInChatMessage.decode(reader, reader.uint32()); break; case 64: message.pollCreationMessageV3 = $root.proto.Message.PollCreationMessage.decode(reader, reader.uint32()); break; case 65: message.scheduledCallEditMessage = $root.proto.Message.ScheduledCallEditMessage.decode(reader, reader.uint32()); break; case 66: message.ptvMessage = $root.proto.Message.VideoMessage.decode(reader, reader.uint32()); break; case 67: message.botInvokeMessage = $root.proto.Message.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.<string,*>} 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.Message.SenderKeyDistributionMessage.verify(message.senderKeyDistributionMessage); if (error) return "senderKeyDistributionMessage." + error; } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { var error = $root.proto.Message.ImageMessage.verify(message.imageMessage); if (error) return "imageMessage." + error; } if (message.contactMessage != null && message.hasOwnProperty("contactMessage")) { var error = $root.proto.Message.ContactMessage.verify(message.contactMessage); if (error) return "contactMessage." + error; } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { var error = $root.proto.Message.LocationMessage.verify(message.locationMessage); if (error) return "locationMessage." + error; } if (message.extendedTextMessage != null && message.hasOwnProperty("extendedTextMessage")) { var error = $root.proto.Message.ExtendedTextMessage.verify(message.extendedTextMessage); if (error) return "extendedTextMessage." + error; } if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) { var error = $root.proto.Message.DocumentMessage.verify(message.documentMessage); if (error) return "documentMessage." + error; } if (message.audioMessage != null && message.hasOwnProperty("audioMessage")) { var error = $root.proto.Message.AudioMessage.verify(message.audioMessage); if (error) return "audioMessage." + error; } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { var error = $root.proto.Message.VideoMessage.verify(message.videoMessage); if (error) return "videoMessage." + error; } if (message.call != null && message.hasOwnProperty("call")) { var error = $root.proto.Message.Call.verify(message.call); if (error) return "call." + error; } if (message.chat != null && message.hasOwnProperty("chat")) { var error = $root.proto.Message.Chat.verify(message.chat); if (error) return "chat." + error; } if (message.protocolMessage != null && message.hasOwnProperty("protocolMessage")) { var error = $root.proto.Message.ProtocolMessage.verify(message.protocolMessage); if (error) return "protocolMessage." + error; } if (message.contactsArrayMessage != null && message.hasOwnProperty("contactsArrayMessage")) { var error = $root.proto.Message.ContactsArrayMessage.verify(message.contactsArrayMessage); if (error) return "contactsArrayMessage." + error; } if (message.highlyStructuredMessage != null && message.hasOwnProperty("highlyStructuredMessage")) { var error = $root.proto.Message.HighlyStructuredMessage.verify(message.highlyStructuredMessage); if (error) return "highlyStructuredMessage." + error; } if (message.fastRatchetKeySenderKeyDistributionMessage != null && message.hasOwnProperty("fastRatchetKeySenderKeyDistributionMessage")) { var error = $root.proto.Message.SenderKeyDistributionMessage.verify(message.fastRatchetKeySenderKeyDistributionMessage); if (error) return "fastRatchetKeySenderKeyDistributionMessage." + error; } if (message.sendPaymentMessage != null && message.hasOwnProperty("sendPaymentMessage")) { var error = $root.proto.Message.SendPaymentMessage.verify(message.sendPaymentMessage); if (error) return "sendPaymentMessage." + error; } if (message.liveLocationMessage != null && message.hasOwnProperty("liveLocationMessage")) { var error = $root.proto.Message.LiveLocationMessage.verify(message.liveLocationMessage); if (error) return "liveLocationMessage." + error; } if (message.requestPaymentMessage != null && message.hasOwnProperty("requestPaymentMessage")) { var error = $root.proto.Message.RequestPaymentMessage.verify(message.requestPaymentMessage); if (error) return "requestPaymentMessage." + error; } if (message.declinePaymentRequestMessage != null && message.hasOwnProperty("declinePaymentRequestMessage")) { var error = $root.proto.Message.DeclinePaymentRequestMessage.verify(message.declinePaymentRequestMessage); if (error) return "declinePaymentRequestMessage." + error; } if (message.cancelPaymentRequestMessage != null && message.hasOwnProperty("cancelPaymentRequestMessage")) { var error = $root.proto.Message.CancelPaymentRequestMessage.verify(message.cancelPaymentRequestMessage); if (error) return "cancelPaymentRequestMessage." + error; } if (message.templateMessage != null && message.hasOwnProperty("templateMessage")) { var error = $root.proto.Message.TemplateMessage.verify(message.templateMessage); if (error) return "templateMessage." + error; } if (message.stickerMessage != null && message.hasOwnProperty("stickerMessage")) { var error = $root.proto.Message.StickerMessage.verify(message.stickerMessage); if (error) return "stickerMessage." + error; } if (message.groupInviteMessage != null && message.hasOwnProperty("groupInviteMessage")) { var error = $root.proto.Message.GroupInviteMessage.verify(message.groupInviteMessage); if (error) return "groupInviteMessage." + error; } if (message.templateButtonReplyMessage != null && message.hasOwnProperty("templateButtonReplyMessage")) { var error = $root.proto.Message.TemplateButtonReplyMessage.verify(message.templateButtonReplyMessage); if (error) return "templateButtonReplyMessage." + error; } if (message.productMessage != null && message.hasOwnProperty("productMessage")) { var error = $root.proto.Message.ProductMessage.verify(message.productMessage); if (error) return "productMessage." + error; } if (message.deviceSentMessage != null && message.hasOwnProperty("deviceSentMessage")) { var error = $root.proto.Message.DeviceSentMessage.verify(message.deviceSentMessage); if (error) return "deviceSentMessage." + error; } if (message.messageContextInfo != null && message.hasOwnProperty("messageContextInfo")) { var error = $root.proto.MessageContextInfo.verify(message.messageContextInfo); if (error) return "messageContextInfo." + error; } if (message.listMessage != null && message.hasOwnProperty("listMessage")) { var error = $root.proto.Message.ListMessage.verify(message.listMessage); if (error) return "listMessage." + error; } if (message.viewOnceMessage != null && message.hasOwnProperty("viewOnceMessage")) { var error = $root.proto.Message.FutureProofMessage.verify(message.viewOnceMessage); if (error) return "viewOnceMessage." + error; } if (message.orderMessage != null && message.hasOwnProperty("orderMessage")) { var error = $root.proto.Message.OrderMessage.verify(message.orderMessage); if (error) return "orderMessage." + error; } if (message.listResponseMessage != null && message.hasOwnProperty("listResponseMessage")) { var error = $root.proto.Message.ListResponseMessage.verify(message.listResponseMessage); if (error) return "listResponseMessage." + error; } if (message.ephemeralMessage != null && message.hasOwnProperty("ephemeralMessage")) { var error = $root.proto.Message.FutureProofMessage.verify(message.ephemeralMessage); if (error) return "ephemeralMessage." + error; } if (message.invoiceMessage != null && message.hasOwnProperty("invoiceMessage")) { var error = $root.proto.Message.InvoiceMessage.verify(message.invoiceMessage); if (error) return "invoiceMessage." + error; } if (message.buttonsMessage != null && message.hasOwnProperty("buttonsMessage")) { var error = $root.proto.Message.ButtonsMessage.verify(message.buttonsMessage); if (error) return "buttonsMessage." + error; } if (message.buttonsResponseMessage != null && message.hasOwnProperty("buttonsResponseMessage")) { var error = $root.proto.Message.ButtonsResponseMessage.verify(message.buttonsResponseMessage); if (error) return "buttonsResponseMessage." + error; } if (message.paymentInviteMessage != null && message.hasOwnProperty("paymentInviteMessage")) { var error = $root.proto.Message.PaymentInviteMessage.verify(message.paymentInviteMessage); if (error) return "paymentInviteMessage." + error; } if (message.interactiveMessage != null && message.hasOwnProperty("interactiveMessage")) { var error = $root.proto.Message.InteractiveMessage.verify(message.interactiveMessage); if (error) return "interactiveMessage." + error; } if (message.reactionMessage != null && message.hasOwnProperty("reactionMessage")) { var error = $root.proto.Message.ReactionMessage.verify(message.reactionMessage); if (error) return "reactionMessage." + error; } if (message.stickerSyncRmrMessage != null && message.hasOwnProperty("stickerSyncRmrMessage")) { var error = $root.proto.Message.StickerSyncRMRMessage.verify(message.stickerSyncRmrMessage); if (error) return "stickerSyncRmrMessage." + error; } if (message.interactiveResponseMessage != null && message.hasOwnProperty("interactiveResponseMessage")) { var error = $root.proto.Message.InteractiveResponseMessage.verify(message.interactiveResponseMessage); if (error) return "interactiveResponseMessage." + error; } if (message.pollCreationMessage != null && message.hasOwnProperty("pollCreationMessage")) { var error = $root.proto.Message.PollCreationMessage.verify(message.pollCreationMessage); if (error) return "pollCreationMessage." + error; } if (message.pollUpdateMessage != null && message.hasOwnProperty("pollUpdateMessage")) { var error = $root.proto.Message.PollUpdateMessage.verify(message.pollUpdateMessage); if (error) return "pollUpdateMessage." + error; } if (message.keepInChatMessage != null && message.hasOwnProperty("keepInChatMessage")) { var error = $root.proto.Message.KeepInChatMessage.verify(message.keepInChatMessage); if (error) return "keepInChatMessage." + error; } if (message.documentWithCaptionMessage != null && message.hasOwnProperty("documentWithCaptionMessage")) { var error = $root.proto.Message.FutureProofMessage.verify(message.documentWithCaptionMessage); if (error) return "documentWithCaptionMessage." + error; } if (message.requestPhoneNumberMessage != null && message.hasOwnProperty("requestPhoneNumberMessage")) { var error = $root.proto.Message.RequestPhoneNumberMessage.verify(message.requestPhoneNumberMessage); if (error) return "requestPhoneNumberMessage." + error; } if (message.viewOnceMessageV2 != null && message.hasOwnProperty("viewOnceMessageV2")) { var error = $root.proto.Message.FutureProofMessage.verify(message.viewOnceMessageV2); if (error) return "viewOnceMessageV2." + error; } if (message.encReactionMessage != null && message.hasOwnProperty("encReactionMessage")) { var error = $root.proto.Message.EncReactionMessage.verify(message.encReactionMessage); if (error) return "encReactionMessage." + error; } if (message.editedMessage != null && message.hasOwnProperty("editedMessage")) { var error = $root.proto.Message.FutureProofMessage.verify(message.editedMessage); if (error) return "editedMessage." + error; } if (message.viewOnceMessageV2Extension != null && message.hasOwnProperty("viewOnceMessageV2Extension")) { var error = $root.proto.Message.FutureProofMessage.verify(message.viewOnceMessageV2Extension); if (error) return "viewOnceMessageV2Extension." + error; } if (message.pollCreationMessageV2 != null && message.hasOwnProperty("pollCreationMessageV2")) { var error = $root.proto.Message.PollCreationMessage.verify(message.pollCreationMessageV2); if (error) return "pollCreationMessageV2." + error; } if (message.scheduledCallCreationMessage != null && message.hasOwnProperty("scheduledCallCreationMessage")) { var error = $root.proto.Message.ScheduledCallCreationMessage.verify(message.scheduledCallCreationMessage); if (error) return "scheduledCallCreationMessage." + error; } if (message.groupMentionedMessage != null && message.hasOwnProperty("groupMentionedMessage")) { var error = $root.proto.Message.FutureProofMessage.verify(message.groupMentionedMessage); if (error) return "groupMentionedMessage." + error; } if (message.pinInChatMessage != null && message.hasOwnProperty("pinInChatMessage")) { var error = $root.proto.Message.PinInChatMessage.verify(message.pinInChatMessage); if (error) return "pinInChatMessage." + error; } if (message.pollCreationMessageV3 != null && message.hasOwnProperty("pollCreationMessageV3")) { var error = $root.proto.Message.PollCreationMessage.verify(message.pollCreationMessageV3); if (error) return "pollCreationMessageV3." + error; } if (message.scheduledCallEditMessage != null && message.hasOwnProperty("scheduledCallEditMessage")) { var error = $root.proto.Message.ScheduledCallEditMessage.verify(message.scheduledCallEditMessage); if (error) return "scheduledCallEditMessage." + error; } if (message.ptvMessage != null && message.hasOwnProperty("ptvMessage")) { var error = $root.proto.Message.VideoMessage.verify(message.ptvMessage); if (error) return "ptvMessage." + error; } if (message.botInvokeMessage != null && message.hasOwnProperty("botInvokeMessage")) { var error = $root.proto.Message.FutureProofMessage.verify(message.botInvokeMessage); if (error) return "botInvokeMessage." + 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.<string,*>} 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.Message.SenderKeyDistributionMessage.fromObject(object.senderKeyDistributionMessage); } if (object.imageMessage != null) { if (typeof object.imageMessage !== "object") throw TypeError(".proto.Message.imageMessage: object expected"); message.imageMessage = $root.proto.Message.ImageMessage.fromObject(object.imageMessage); } if (object.contactMessage != null) { if (typeof object.contactMessage !== "object") throw TypeError(".proto.Message.contactMessage: object expected"); message.contactMessage = $root.proto.Message.ContactMessage.fromObject(object.contactMessage); } if (object.locationMessage != null) { if (typeof object.locationMessage !== "object") throw TypeError(".proto.Message.locationMessage: object expected"); message.locationMessage = $root.proto.Message.LocationMessage.fromObject(object.locationMessage); } if (object.extendedTextMessage != null) { if (typeof object.extendedTextMessage !== "object") throw TypeError(".proto.Message.extendedTextMessage: object expected"); message.extendedTextMessage = $root.proto.Message.ExtendedTextMessage.fromObject(object.extendedTextMessage); } if (object.documentMessage != null) { if (typeof object.documentMessage !== "object") throw TypeError(".proto.Message.documentMessage: object expected"); message.documentMessage = $root.proto.Message.DocumentMessage.fromObject(object.documentMessage); } if (object.audioMessage != null) { if (typeof object.audioMessage !== "object") throw TypeError(".proto.Message.audioMessage: object expected"); message.audioMessage = $root.proto.Message.AudioMessage.fromObject(object.audioMessage); } if (object.videoMessage != null) { if (typeof object.videoMessage !== "object") throw TypeError(".proto.Message.videoMessage: object expected"); message.videoMessage = $root.proto.Message.VideoMessage.fromObject(object.videoMessage); } if (object.call != null) { if (typeof object.call !== "object") throw TypeError(".proto.Message.call: object expected"); message.call = $root.proto.Message.Call.fromObject(object.call); } if (object.chat != null) { if (typeof object.chat !== "object") throw TypeError(".proto.Message.chat: object expected"); message.chat = $root.proto.Message.Chat.fromObject(object.chat); } if (object.protocolMessage != null) { if (typeof object.protocolMessage !== "object") throw TypeError(".proto.Message.protocolMessage: object expected"); message.protocolMessage = $root.proto.Message.ProtocolMessage.fromObject(object.protocolMessage); } if (object.contactsArrayMessage != null) { if (typeof object.contactsArrayMessage !== "object") throw TypeError(".proto.Message.contactsArrayMessage: object expected"); message.contactsArrayMessage = $root.proto.Message.ContactsArrayMessage.fromObject(object.contactsArrayMessage); } if (object.highlyStructuredMessage != null) { if (typeof object.highlyStructuredMessage !== "object") throw TypeError(".proto.Message.highlyStructuredMessage: object expected"); message.highlyStructuredMessage = $root.proto.Message.HighlyStructuredMessage.fromObject(object.highlyStructuredMessage); } if (object.fastRatchetKeySenderKeyDistributionMessage != null) { if (typeof object.fastRatchetKeySenderKeyDistributionMessage !== "object") throw TypeError(".proto.Message.fastRatchetKeySenderKeyDistributionMessage: object expected"); message.fastRatchetKeySenderKeyDistributionMessage = $root.proto.Message.SenderKeyDistributionMessage.fromObject(object.fastRatchetKeySenderKeyDistributionMessage); } if (object.sendPaymentMessage != null) { if (typeof object.sendPaymentMessage !== "object") throw TypeError(".proto.Message.sendPaymentMessage: object expected"); message.sendPaymentMessage = $root.proto.Message.SendPaymentMessage.fromObject(object.sendPaymentMessage); } if (object.liveLocationMessage != null) { if (typeof object.liveLocationMessage !== "object") throw TypeError(".proto.Message.liveLocationMessage: object expected"); message.liveLocationMessage = $root.proto.Message.LiveLocationMessage.fromObject(object.liveLocationMessage); } if (object.requestPaymentMessage != null) { if (typeof object.requestPaymentMessage !== "object") throw TypeError(".proto.Message.requestPaymentMessage: object expected"); message.requestPaymentMessage = $root.proto.Message.RequestPaymentMessage.fromObject(object.requestPaymentMessage); } if (object.declinePaymentRequestMessage != null) { if (typeof object.declinePaymentRequestMessage !== "object") throw TypeError(".proto.Message.declinePaymentRequestMessage: object expected"); message.declinePaymentRequestMessage = $root.proto.Message.DeclinePaymentRequestMessage.fromObject(object.declinePaymentRequestMessage); } if (object.cancelPaymentRequestMessage != null) { if (typeof object.cancelPaymentRequestMessage !== "object") throw TypeError(".proto.Message.cancelPaymentRequestMessage: object expected"); message.cancelPaymentRequestMessage = $root.proto.Message.CancelPaymentRequestMessage.fromObject(object.cancelPaymentRequestMessage); } if (object.templateMessage != null) { if (typeof object.templateMessage !== "object") throw TypeError(".proto.Message.templateMessage: object expected"); message.templateMessage = $root.proto.Message.TemplateMessage.fromObject(object.templateMessage); } if (object.stickerMessage != null) { if (typeof object.stickerMessage !== "object") throw TypeError(".proto.Message.stickerMessage: object expected"); message.stickerMessage = $root.proto.Message.StickerMessage.fromObject(object.stickerMessage); } if (object.groupInviteMessage != null) { if (typeof object.groupInviteMessage !== "object") throw TypeError(".proto.Message.groupInviteMessage: object expected"); message.groupInviteMessage = $root.proto.Message.GroupInviteMessage.fromObject(object.groupInviteMessage); } if (object.templateButtonReplyMessage != null) { if (typeof object.templateButtonReplyMessage !== "object") throw TypeError(".proto.Message.templateButtonReplyMessage: object expected"); message.templateButtonReplyMessage = $root.proto.Message.TemplateButtonReplyMessage.fromObject(object.templateButtonReplyMessage); } if (object.productMessage != null) { if (typeof object.productMessage !== "object") throw TypeError(".proto.Message.productMessage: object expected"); message.productMessage = $root.proto.Message.ProductMessage.fromObject(object.productMessage); } if (object.deviceSentMessage != null) { if (typeof object.deviceSentMessage !== "object") throw TypeError(".proto.Message.deviceSentMessage: object expected"); message.deviceSentMessage = $root.proto.Message.DeviceSentMessage.fromObject(object.deviceSentMessage); } if (object.messageContextInfo != null) { if (typeof object.messageContextInfo !== "object") throw TypeError(".proto.Message.messageContextInfo: object expected"); message.messageContextInfo = $root.proto.MessageContextInfo.fromObject(object.messageContextInfo); } if (object.listMessage != null) { if (typeof object.listMessage !== "object") throw TypeError(".proto.Message.listMessage: object expected"); message.listMessage = $root.proto.Message.ListMessage.fromObject(object.listMessage); } if (object.viewOnceMessage != null) { if (typeof object.viewOnceMessage !== "object") throw TypeError(".proto.Message.viewOnceMessage: object expected"); message.viewOnceMessage = $root.proto.Message.FutureProofMessage.fromObject(object.viewOnceMessage); } if (object.orderMessage != null) { if (typeof object.orderMessage !== "object") throw TypeError(".proto.Message.orderMessage: object expected"); message.orderMessage = $root.proto.Message.OrderMessage.fromObject(object.orderMessage); } if (object.listResponseMessage != null) { if (typeof object.listResponseMessage !== "object") throw TypeError(".proto.Message.listResponseMessage: object expected"); message.listResponseMessage = $root.proto.Message.ListResponseMessage.fromObject(object.listResponseMessage); } if (object.ephemeralMessage != null) { if (typeof object.ephemeralMessage !== "object") throw TypeError(".proto.Message.ephemeralMessage: object expected"); message.ephemeralMessage = $root.proto.Message.FutureProofMessage.fromObject(object.ephemeralMessage); } if (object.invoiceMessage != null) { if (typeof object.invoiceMessage !== "object") throw TypeError(".proto.Message.invoiceMessage: object expected"); message.invoiceMessage = $root.proto.Message.InvoiceMessage.fromObject(object.invoiceMessage); } if (object.buttonsMessage != null) { if (typeof object.buttonsMessage !== "object") throw TypeError(".proto.Message.buttonsMessage: object expected"); message.buttonsMessage = $root.proto.Message.ButtonsMessage.fromObject(object.buttonsMessage); } if (object.buttonsResponseMessage != null) { if (typeof object.buttonsResponseMessage !== "object") throw TypeError(".proto.Message.buttonsResponseMessage: object expected"); message.buttonsResponseMessage = $root.proto.Message.ButtonsResponseMessage.fromObject(object.buttonsResponseMessage); } if (object.paymentInviteMessage != null) { if (typeof object.paymentInviteMessage !== "object") throw TypeError(".proto.Message.paymentInviteMessage: object expected"); message.paymentInviteMessage = $root.proto.Message.PaymentInviteMessage.fromObject(object.paymentInviteMessage); } if (object.interactiveMessage != null) { if (typeof object.interactiveMessage !== "object") throw TypeError(".proto.Message.interactiveMessage: object expected"); message.interactiveMessage = $root.proto.Message.InteractiveMessage.fromObject(object.interactiveMessage); } if (object.reactionMessage != null) { if (typeof object.reactionMessage !== "object") throw TypeError(".proto.Message.reactionMessage: object expected"); message.reactionMessage = $root.proto.Message.ReactionMessage.fromObject(object.reactionMessage); } if (object.stickerSyncRmrMessage != null) { if (typeof object.stickerSyncRmrMessage !== "object") throw TypeError(".proto.Message.stickerSyncRmrMessage: object expected"); message.stickerSyncRmrMessage = $root.proto.Message.StickerSyncRMRMessage.fromObject(object.stickerSyncRmrMessage); } if (object.interactiveResponseMessage != null) { if (typeof object.interactiveResponseMessage !== "object") throw TypeError(".proto.Message.interactiveResponseMessage: object expected"); message.interactiveResponseMessage = $root.proto.Message.InteractiveResponseMessage.fromObject(object.interactiveResponseMessage); } if (object.pollCreationMessage != null) { if (typeof object.pollCreationMessage !== "object") throw TypeError(".proto.Message.pollCreationMessage: object expected"); message.pollCreationMessage = $root.proto.Message.PollCreationMessage.fromObject(object.pollCreationMessage); } if (object.pollUpdateMessage != null) { if (typeof object.pollUpdateMessage !== "object") throw TypeError(".proto.Message.pollUpdateMessage: object expected"); message.pollUpdateMessage = $root.proto.Message.PollUpdateMessage.fromObject(object.pollUpdateMessage); } if (object.keepInChatMessage != null) { if (typeof object.keepInChatMessage !== "object") throw TypeError(".proto.Message.keepInChatMessage: object expected"); message.keepInChatMessage = $root.proto.Message.KeepInChatMessage.fromObject(object.keepInChatMessage); } if (object.documentWithCaptionMessage != null) { if (typeof object.documentWithCaptionMessage !== "object") throw TypeError(".proto.Message.documentWithCaptionMessage: object expected"); message.documentWithCaptionMessage = $root.proto.Message.FutureProofMessage.fromObject(object.documentWithCaptionMessage); } if (object.requestPhoneNumberMessage != null) { if (typeof object.requestPhoneNumberMessage !== "object") throw TypeError(".proto.Message.requestPhoneNumberMessage: object expected"); message.requestPhoneNumberMessage = $root.proto.Message.RequestPhoneNumberMessage.fromObject(object.requestPhoneNumberMessage); } if (object.viewOnceMessageV2 != null) { if (typeof object.viewOnceMessageV2 !== "object") throw TypeError(".proto.Message.viewOnceMessageV2: object expected"); message.viewOnceMessageV2 = $root.proto.Message.FutureProofMessage.fromObject(object.viewOnceMessageV2); } if (object.encReactionMessage != null) { if (typeof object.encReactionMessage !== "object") throw TypeError(".proto.Message.encReactionMessage: object expected"); message.encReactionMessage = $root.proto.Message.EncReactionMessage.fromObject(object.encReactionMessage); } if (object.editedMessage != null) { if (typeof object.editedMessage !== "object") throw TypeError(".proto.Message.editedMessage: object expected"); message.editedMessage = $root.proto.Message.FutureProofMessage.fromObject(object.editedMessage); } if (object.viewOnceMessageV2Extension != null) { if (typeof object.viewOnceMessageV2Extension !== "object") throw TypeError(".proto.Message.viewOnceMessageV2Extension: object expected"); message.viewOnceMessageV2Extension = $root.proto.Message.FutureProofMessage.fromObject(object.viewOnceMessageV2Extension); } if (object.pollCreationMessageV2 != null) { if (typeof object.pollCreationMessageV2 !== "object") throw TypeError(".proto.Message.pollCreationMessageV2: object expected"); message.pollCreationMessageV2 = $root.proto.Message.PollCreationMessage.fromObject(object.pollCreationMessageV2); } if (object.scheduledCallCreationMessage != null) { if (typeof object.scheduledCallCreationMessage !== "object") throw TypeError(".proto.Message.scheduledCallCreationMessage: object expected"); message.scheduledCallCreationMessage = $root.proto.Message.ScheduledCallCreationMessage.fromObject(object.scheduledCallCreationMessage); } if (object.groupMentionedMessage != null) { if (typeof object.groupMentionedMessage !== "object") throw TypeError(".proto.Message.groupMentionedMessage: object expected"); message.groupMentionedMessage = $root.proto.Message.FutureProofMessage.fromObject(object.groupMentionedMessage); } if (object.pinInChatMessage != null) { if (typeof object.pinInChatMessage !== "object") throw TypeError(".proto.Message.pinInChatMessage: object expected"); message.pinInChatMessage = $root.proto.Message.PinInChatMessage.fromObject(object.pinInChatMessage); } if (object.pollCreationMessageV3 != null) { if (typeof object.pollCreationMessageV3 !== "object") throw TypeError(".proto.Message.pollCreationMessageV3: object expected"); message.pollCreationMessageV3 = $root.proto.Message.PollCreationMessage.fromObject(object.pollCreationMessageV3); } if (object.scheduledCallEditMessage != null) { if (typeof object.scheduledCallEditMessage !== "object") throw TypeError(".proto.Message.scheduledCallEditMessage: object expected"); message.scheduledCallEditMessage = $root.proto.Message.ScheduledCallEditMessage.fromObject(object.scheduledCallEditMessage); } if (object.ptvMessage != null) { if (typeof object.ptvMessage !== "object") throw TypeError(".proto.Message.ptvMessage: object expected"); message.ptvMessage = $root.proto.Message.VideoMessage.fromObject(object.ptvMessage); } if (object.botInvokeMessage != null) { if (typeof object.botInvokeMessage !== "object") throw TypeError(".proto.Message.botInvokeMessage: object expected"); message.botInvokeMessage = $root.proto.Message.FutureProofMessage.fromObject(object.botInvokeMessage); } 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.<string,*>} 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.messageContextInfo = null; object.listMessage = null; object.viewOnceMessage = null; object.orderMessage = null; object.listResponseMessage = null; object.ephemeralMessage = null; object.invoiceMessage = null; object.buttonsMessage = null; object.buttonsResponseMessage = null; object.paymentInviteMessage = null; object.interactiveMessage = null; object.reactionMessage = null; object.stickerSyncRmrMessage = null; object.interactiveResponseMessage = null; object.pollCreationMessage = null; object.pollUpdateMessage = null; object.keepInChatMessage = null; object.documentWithCaptionMessage = null; object.requestPhoneNumberMessage = null; object.viewOnceMessageV2 = null; object.encReactionMessage = null; object.editedMessage = null; object.viewOnceMessageV2Extension = null; object.pollCreationMessageV2 = null; object.scheduledCallCreationMessage = null; object.groupMentionedMessage = null; object.pinInChatMessage = null; object.pollCreationMessageV3 = null; object.scheduledCallEditMessage = null; object.ptvMessage = null; object.botInvokeMessage = null; } if (message.conversation != null && message.hasOwnProperty("conversation")) object.conversation = message.conversation; if (message.senderKeyDistributionMessage != null && message.hasOwnProperty("senderKeyDistributionMessage")) object.senderKeyDistributionMessage = $root.proto.Message.SenderKeyDistributionMessage.toObject(message.senderKeyDistributionMessage, options); if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) object.imageMessage = $root.proto.Message.ImageMessage.toObject(message.imageMessage, options); if (message.contactMessage != null && message.hasOwnProperty("contactMessage")) object.contactMessage = $root.proto.Message.ContactMessage.toObject(message.contactMessage, options); if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) object.locationMessage = $root.proto.Message.LocationMessage.toObject(message.locationMessage, options); if (message.extendedTextMessage != null && message.hasOwnProperty("extendedTextMessage")) object.extendedTextMessage = $root.proto.Message.ExtendedTextMessage.toObject(message.extendedTextMessage, options); if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) object.documentMessage = $root.proto.Message.DocumentMessage.toObject(message.documentMessage, options); if (message.audioMessage != null && message.hasOwnProperty("audioMessage")) object.audioMessage = $root.proto.Message.AudioMessage.toObject(message.audioMessage, options); if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) object.videoMessage = $root.proto.Message.VideoMessage.toObject(message.videoMessage, options); if (message.call != null && message.hasOwnProperty("call")) object.call = $root.proto.Message.Call.toObject(message.call, options); if (message.chat != null && message.hasOwnProperty("chat")) object.chat = $root.proto.Message.Chat.toObject(message.chat, options); if (message.protocolMessage != null && message.hasOwnProperty("protocolMessage")) object.protocolMessage = $root.proto.Message.ProtocolMessage.toObject(message.protocolMessage, options); if (message.contactsArrayMessage != null && message.hasOwnProperty("contactsArrayMessage")) object.contactsArrayMessage = $root.proto.Message.ContactsArrayMessage.toObject(message.contactsArrayMessage, options); if (message.highlyStructuredMessage != null && message.hasOwnProperty("highlyStructuredMessage")) object.highlyStructuredMessage = $root.proto.Message.HighlyStructuredMessage.toObject(message.highlyStructuredMessage, options); if (message.fastRatchetKeySenderKeyDistributionMessage != null && message.hasOwnProperty("fastRatchetKeySenderKeyDistributionMessage")) object.fastRatchetKeySenderKeyDistributionMessage = $root.proto.Message.SenderKeyDistributionMessage.toObject(message.fastRatchetKeySenderKeyDistributionMessage, options); if (message.sendPaymentMessage != null && message.hasOwnProperty("sendPaymentMessage")) object.sendPaymentMessage = $root.proto.Message.SendPaymentMessage.toObject(message.sendPaymentMessage, options); if (message.liveLocationMessage != null && message.hasOwnProperty("liveLocationMessage")) object.liveLocationMessage = $root.proto.Message.LiveLocationMessage.toObject(message.liveLocationMessage, options); if (message.requestPaymentMessage != null && message.hasOwnProperty("requestPaymentMessage")) object.requestPaymentMessage = $root.proto.Message.RequestPaymentMessage.toObject(message.requestPaymentMessage, options); if (message.declinePaymentRequestMessage != null && message.hasOwnProperty("declinePaymentRequestMessage")) object.declinePaymentRequestMessage = $root.proto.Message.DeclinePaymentRequestMessage.toObject(message.declinePaymentRequestMessage, options); if (message.cancelPaymentRequestMessage != null && message.hasOwnProperty("cancelPaymentRequestMessage")) object.cancelPaymentRequestMessage = $root.proto.Message.CancelPaymentRequestMessage.toObject(message.cancelPaymentRequestMessage, options); if (message.templateMessage != null && message.hasOwnProperty("templateMessage")) object.templateMessage = $root.proto.Message.TemplateMessage.toObject(message.templateMessage, options); if (message.stickerMessage != null && message.hasOwnProperty("stickerMessage")) object.stickerMessage = $root.proto.Message.StickerMessage.toObject(message.stickerMessage, options); if (message.groupInviteMessage != null && message.hasOwnProperty("groupInviteMessage")) object.groupInviteMessage = $root.proto.Message.GroupInviteMessage.toObject(message.groupInviteMessage, options); if (message.templateButtonReplyMessage != null && message.hasOwnProperty("templateButtonReplyMessage")) object.templateButtonReplyMessage = $root.proto.Message.TemplateButtonReplyMessage.toObject(message.templateButtonReplyMessage, options); if (message.productMessage != null && message.hasOwnProperty("productMessage")) object.productMessage = $root.proto.Message.ProductMessage.toObject(message.productMessage, options); if (message.deviceSentMessage != null && message.hasOwnProperty("deviceSentMessage")) object.deviceSentMessage = $root.proto.Message.DeviceSentMessage.toObject(message.deviceSentMessage, options); if (message.messageContextInfo != null && message.hasOwnProperty("messageContextInfo")) object.messageContextInfo = $root.proto.MessageContextInfo.toObject(message.messageContextInfo, options); if (message.listMessage != null && message.hasOwnProperty("listMessage")) object.listMessage = $root.proto.Message.ListMessage.toObject(message.listMessage, options); if (message.viewOnceMessage != null && message.hasOwnProperty("viewOnceMessage")) object.viewOnceMessage = $root.proto.Message.FutureProofMessage.toObject(message.viewOnceMessage, options); if (message.orderMessage != null && message.hasOwnProperty("orderMessage")) object.orderMessage = $root.proto.Message.OrderMessage.toObject(message.orderMessage, options); if (message.listResponseMessage != null && message.hasOwnProperty("listResponseMessage")) object.listResponseMessage = $root.proto.Message.ListResponseMessage.toObject(message.listResponseMessage, options); if (message.ephemeralMessage != null && message.hasOwnProperty("ephemeralMessage")) object.ephemeralMessage = $root.proto.Message.FutureProofMessage.toObject(message.ephemeralMessage, options); if (message.invoiceMessage != null && message.hasOwnProperty("invoiceMessage")) object.invoiceMessage = $root.proto.Message.InvoiceMessage.toObject(message.invoiceMessage, options); if (message.buttonsMessage != null && message.hasOwnProperty("buttonsMessage")) object.buttonsMessage = $root.proto.Message.ButtonsMessage.toObject(message.buttonsMessage, options); if (message.buttonsResponseMessage != null && message.hasOwnProperty("buttonsResponseMessage")) object.buttonsResponseMessage = $root.proto.Message.ButtonsResponseMessage.toObject(message.buttonsResponseMessage, options); if (message.paymentInviteMessage != null && message.hasOwnProperty("paymentInviteMessage")) object.paymentInviteMessage = $root.proto.Message.PaymentInviteMessage.toObject(message.paymentInviteMessage, options); if (message.interactiveMessage != null && message.hasOwnProperty("interactiveMessage")) object.interactiveMessage = $root.proto.Message.InteractiveMessage.toObject(message.interactiveMessage, options); if (message.reactionMessage != null && message.hasOwnProperty("reactionMessage")) object.reactionMessage = $root.proto.Message.ReactionMessage.toObject(message.reactionMessage, options); if (message.stickerSyncRmrMessage != null && message.hasOwnProperty("stickerSyncRmrMessage")) object.stickerSyncRmrMessage = $root.proto.Message.StickerSyncRMRMessage.toObject(message.stickerSyncRmrMessage, options); if (message.interactiveResponseMessage != null && message.hasOwnProperty("interactiveResponseMessage")) object.interactiveResponseMessage = $root.proto.Message.InteractiveResponseMessage.toObject(message.interactiveResponseMessage, options); if (message.pollCreationMessage != null && message.hasOwnProperty("pollCreationMessage")) object.pollCreationMessage = $root.proto.Message.PollCreationMessage.toObject(message.pollCreationMessage, options); if (message.pollUpdateMessage != null && message.hasOwnProperty("pollUpdateMessage")) object.pollUpdateMessage = $root.proto.Message.PollUpdateMessage.toObject(message.pollUpdateMessage, options); if (message.keepInChatMessage != null && message.hasOwnProperty("keepInChatMessage")) object.keepInChatMessage = $root.proto.Message.KeepInChatMessage.toObject(message.keepInChatMessage, options); if (message.documentWithCaptionMessage != null && message.hasOwnProperty("documentWithCaptionMessage")) object.documentWithCaptionMessage = $root.proto.Message.FutureProofMessage.toObject(message.documentWithCaptionMessage, options); if (message.requestPhoneNumberMessage != null && message.hasOwnProperty("requestPhoneNumberMessage")) object.requestPhoneNumberMessage = $root.proto.Message.RequestPhoneNumberMessage.toObject(message.requestPhoneNumberMessage, options); if (message.viewOnceMessageV2 != null && message.hasOwnProperty("viewOnceMessageV2")) object.viewOnceMessageV2 = $root.proto.Message.FutureProofMessage.toObject(message.viewOnceMessageV2, options); if (message.encReactionMessage != null && message.hasOwnProperty("encReactionMessage")) object.encReactionMessage = $root.proto.Message.EncReactionMessage.toObject(message.encReactionMessage, options); if (message.editedMessage != null && message.hasOwnProperty("editedMessage")) object.editedMessage = $root.proto.Message.FutureProofMessage.toObject(message.editedMessage, options); if (message.viewOnceMessageV2Extension != null && message.hasOwnProperty("viewOnceMessageV2Extension")) object.viewOnceMessageV2Extension = $root.proto.Message.FutureProofMessage.toObject(message.viewOnceMessageV2Extension, options); if (message.pollCreationMessageV2 != null && message.hasOwnProperty("pollCreationMessageV2")) object.pollCreationMessageV2 = $root.proto.Message.PollCreationMessage.toObject(message.pollCreationMessageV2, options); if (message.scheduledCallCreationMessage != null && message.hasOwnProperty("scheduledCallCreationMessage")) object.scheduledCallCreationMessage = $root.proto.Message.ScheduledCallCreationMessage.toObject(message.scheduledCallCreationMessage, options); if (message.groupMentionedMessage != null && message.hasOwnProperty("groupMentionedMessage")) object.groupMentionedMessage = $root.proto.Message.FutureProofMessage.toObject(message.groupMentionedMessage, options); if (message.pinInChatMessage != null && message.hasOwnProperty("pinInChatMessage")) object.pinInChatMessage = $root.proto.Message.PinInChatMessage.toObject(message.pinInChatMessage, options); if (message.pollCreationMessageV3 != null && message.hasOwnProperty("pollCreationMessageV3")) object.pollCreationMessageV3 = $root.proto.Message.PollCreationMessage.toObject(message.pollCreationMessageV3, options); if (message.scheduledCallEditMessage != null && message.hasOwnProperty("scheduledCallEditMessage")) object.scheduledCallEditMessage = $root.proto.Message.ScheduledCallEditMessage.toObject(message.scheduledCallEditMessage, options); if (message.ptvMessage != null && message.hasOwnProperty("ptvMessage")) object.ptvMessage = $root.proto.Message.VideoMessage.toObject(message.ptvMessage, options); if (message.botInvokeMessage != null && message.hasOwnProperty("botInvokeMessage")) object.botInvokeMessage = $root.proto.Message.FutureProofMessage.toObject(message.botInvokeMessage, options); return object; }; /** * Converts this Message to JSON. * @function toJSON * @memberof proto.Message * @instance * @returns {Object.<string,*>} JSON object */ Message.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; Message.AppStateFatalExceptionNotification = (function() { /** * Properties of an AppStateFatalExceptionNotification. * @memberof proto.Message * @interface IAppStateFatalExceptionNotification * @property {Array.<string>|null} [collectionNames] AppStateFatalExceptionNotification collectionNames * @property {number|Long|null} [timestamp] AppStateFatalExceptionNotification timestamp */ /** * Constructs a new AppStateFatalExceptionNotification. * @memberof proto.Message * @classdesc Represents an AppStateFatalExceptionNotification. * @implements IAppStateFatalExceptionNotification * @constructor * @param {proto.Message.IAppStateFatalExceptionNotification=} [properties] Properties to set */ function AppStateFatalExceptionNotification(properties) { this.collectionNames = []; 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]]; } /** * AppStateFatalExceptionNotification collectionNames. * @member {Array.<string>} collectionNames * @memberof proto.Message.AppStateFatalExceptionNotification * @instance */ AppStateFatalExceptionNotification.prototype.collectionNames = $util.emptyArray; /** * AppStateFatalExceptionNotification timestamp. * @member {number|Long} timestamp * @memberof proto.Message.AppStateFatalExceptionNotification * @instance */ AppStateFatalExceptionNotification.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new AppStateFatalExceptionNotification instance using the specified properties. * @function create * @memberof proto.Message.AppStateFatalExceptionNotification * @static * @param {proto.Message.IAppStateFatalExceptionNotification=} [properties] Properties to set * @returns {proto.Message.AppStateFatalExceptionNotification} AppStateFatalExceptionNotification instance */ AppStateFatalExceptionNotification.create = function create(properties) { return new AppStateFatalExceptionNotification(properties); }; /** * Encodes the specified AppStateFatalExceptionNotification message. Does not implicitly {@link proto.Message.AppStateFatalExceptionNotification.verify|verify} messages. * @function encode * @memberof proto.Message.AppStateFatalExceptionNotification * @static * @param {proto.Message.IAppStateFatalExceptionNotification} message AppStateFatalExceptionNotification message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateFatalExceptionNotification.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.collectionNames != null && message.collectionNames.length) for (var i = 0; i < message.collectionNames.length; ++i) writer.uint32(/* id 1, wireType 2 =*/10).string(message.collectionNames[i]); if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.timestamp); return writer; }; /** * Encodes the specified AppStateFatalExceptionNotification message, length delimited. Does not implicitly {@link proto.Message.AppStateFatalExceptionNotification.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.AppStateFatalExceptionNotification * @static * @param {proto.Message.IAppStateFatalExceptionNotification} message AppStateFatalExceptionNotification message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AppStateFatalExceptionNotification.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AppStateFatalExceptionNotification message from the specified reader or buffer. * @function decode * @memberof proto.Message.AppStateFatalExceptionNotification * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.AppStateFatalExceptionNotification} AppStateFatalExceptionNotification * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateFatalExceptionNotification.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.AppStateFatalExceptionNotification(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.collectionNames && message.collectionNames.length)) message.collectionNames = []; message.collectionNames.push(reader.string()); break; case 2: message.timestamp = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AppStateFatalExceptionNotification message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.AppStateFatalExceptionNotification * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.AppStateFatalExceptionNotification} AppStateFatalExceptionNotification * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AppStateFatalExceptionNotification.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AppStateFatalExceptionNotification message. * @function verify * @memberof proto.Message.AppStateFatalExceptionNotification * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AppStateFatalExceptionNotification.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.collectionNames != null && message.hasOwnProperty("collectionNames")) { if (!Array.isArray(message.collectionNames)) return "collectionNames: array expected"; for (var i = 0; i < message.collectionNames.length; ++i) if (!$util.isString(message.collectionNames[i])) return "collectionNames: string[] 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 an AppStateFatalExceptionNotification message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.AppStateFatalExceptionNotification * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.AppStateFatalExceptionNotification} AppStateFatalExceptionNotification */ AppStateFatalExceptionNotification.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.AppStateFatalExceptionNotification) return object; var message = new $root.proto.Message.AppStateFatalExceptionNotification(); if (object.collectionNames) { if (!Array.isArray(object.collectionNames)) throw TypeError(".proto.Message.AppStateFatalExceptionNotification.collectionNames: array expected"); message.collectionNames = []; for (var i = 0; i < object.collectionNames.length; ++i) message.collectionNames[i] = String(object.collectionNames[i]); } 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 AppStateFatalExceptionNotification message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.AppStateFatalExceptionNotification * @static * @param {proto.Message.AppStateFatalExceptionNotification} message AppStateFatalExceptionNotification * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ AppStateFatalExceptionNotification.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.collectionNames = []; 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.collectionNames && message.collectionNames.length) { object.collectionNames = []; for (var j = 0; j < message.collectionNames.length; ++j) object.collectionNames[j] = message.collectionNames[j]; } 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 AppStateFatalExceptionNotification to JSON. * @function toJSON * @memberof proto.Message.AppStateFatalExceptionNotification * @instance * @returns {Object.<string,*>} JSON object */ AppStateFatalExceptionNotification.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateFatalExceptionNotification; })(); Message.AppStateSyncKey = (function() { /** * Properties of an AppStateSyncKey. * @memberof proto.Message * @interface IAppStateSyncKey * @property {proto.Message.IAppStateSyncKeyId|null} [keyId] AppStateSyncKey keyId * @property {proto.Message.IAppStateSyncKeyData|null} [keyData] AppStateSyncKey keyData */ /** * Constructs a new AppStateSyncKey. * @memberof proto.Message * @classdesc Represents an AppStateSyncKey. * @implements IAppStateSyncKey * @constructor * @param {proto.Message.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.Message.IAppStateSyncKeyId|null|undefined} keyId * @memberof proto.Message.AppStateSyncKey * @instance */ AppStateSyncKey.prototype.keyId = null; /** * AppStateSyncKey keyData. * @member {proto.Message.IAppStateSyncKeyData|null|undefined} keyData * @memberof proto.Message.AppStateSyncKey * @instance */ AppStateSyncKey.prototype.keyData = null; /** * Creates a new AppStateSyncKey instance using the specified properties. * @function create * @memberof proto.Message.AppStateSyncKey * @static * @param {proto.Message.IAppStateSyncKey=} [properties] Properties to set * @returns {proto.Message.AppStateSyncKey} AppStateSyncKey instance */ AppStateSyncKey.create = function create(properties) { return new AppStateSyncKey(properties); }; /** * Encodes the specified AppStateSyncKey message. Does not implicitly {@link proto.Message.AppStateSyncKey.verify|verify} messages. * @function encode * @memberof proto.Message.AppStateSyncKey * @static * @param {proto.Message.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.Message.AppStateSyncKeyId.encode(message.keyId, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.keyData != null && Object.hasOwnProperty.call(message, "keyData")) $root.proto.Message.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.Message.AppStateSyncKey.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.AppStateSyncKey * @static * @param {proto.Message.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.Message.AppStateSyncKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.AppStateSyncKey(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.keyId = $root.proto.Message.AppStateSyncKeyId.decode(reader, reader.uint32()); break; case 2: message.keyData = $root.proto.Message.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.Message.AppStateSyncKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.AppStateSyncKey * @static * @param {Object.<string,*>} 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.Message.AppStateSyncKeyId.verify(message.keyId); if (error) return "keyId." + error; } if (message.keyData != null && message.hasOwnProperty("keyData")) { var error = $root.proto.Message.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.Message.AppStateSyncKey * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.AppStateSyncKey} AppStateSyncKey */ AppStateSyncKey.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.AppStateSyncKey) return object; var message = new $root.proto.Message.AppStateSyncKey(); if (object.keyId != null) { if (typeof object.keyId !== "object") throw TypeError(".proto.Message.AppStateSyncKey.keyId: object expected"); message.keyId = $root.proto.Message.AppStateSyncKeyId.fromObject(object.keyId); } if (object.keyData != null) { if (typeof object.keyData !== "object") throw TypeError(".proto.Message.AppStateSyncKey.keyData: object expected"); message.keyData = $root.proto.Message.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.Message.AppStateSyncKey * @static * @param {proto.Message.AppStateSyncKey} message AppStateSyncKey * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.AppStateSyncKeyId.toObject(message.keyId, options); if (message.keyData != null && message.hasOwnProperty("keyData")) object.keyData = $root.proto.Message.AppStateSyncKeyData.toObject(message.keyData, options); return object; }; /** * Converts this AppStateSyncKey to JSON. * @function toJSON * @memberof proto.Message.AppStateSyncKey * @instance * @returns {Object.<string,*>} JSON object */ AppStateSyncKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKey; })(); Message.AppStateSyncKeyData = (function() { /** * Properties of an AppStateSyncKeyData. * @memberof proto.Message * @interface IAppStateSyncKeyData * @property {Uint8Array|null} [keyData] AppStateSyncKeyData keyData * @property {proto.Message.IAppStateSyncKeyFingerprint|null} [fingerprint] AppStateSyncKeyData fingerprint * @property {number|Long|null} [timestamp] AppStateSyncKeyData timestamp */ /** * Constructs a new AppStateSyncKeyData. * @memberof proto.Message * @classdesc Represents an AppStateSyncKeyData. * @implements IAppStateSyncKeyData * @constructor * @param {proto.Message.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.Message.AppStateSyncKeyData * @instance */ AppStateSyncKeyData.prototype.keyData = $util.newBuffer([]); /** * AppStateSyncKeyData fingerprint. * @member {proto.Message.IAppStateSyncKeyFingerprint|null|undefined} fingerprint * @memberof proto.Message.AppStateSyncKeyData * @instance */ AppStateSyncKeyData.prototype.fingerprint = null; /** * AppStateSyncKeyData timestamp. * @member {number|Long} timestamp * @memberof proto.Message.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.Message.AppStateSyncKeyData * @static * @param {proto.Message.IAppStateSyncKeyData=} [properties] Properties to set * @returns {proto.Message.AppStateSyncKeyData} AppStateSyncKeyData instance */ AppStateSyncKeyData.create = function create(properties) { return new AppStateSyncKeyData(properties); }; /** * Encodes the specified AppStateSyncKeyData message. Does not implicitly {@link proto.Message.AppStateSyncKeyData.verify|verify} messages. * @function encode * @memberof proto.Message.AppStateSyncKeyData * @static * @param {proto.Message.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.Message.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.Message.AppStateSyncKeyData.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.AppStateSyncKeyData * @static * @param {proto.Message.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.Message.AppStateSyncKeyData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.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.Message.AppStateSyncKeyData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.AppStateSyncKeyData * @static * @param {Object.<string,*>} 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.Message.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.Message.AppStateSyncKeyData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.AppStateSyncKeyData} AppStateSyncKeyData */ AppStateSyncKeyData.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.AppStateSyncKeyData) return object; var message = new $root.proto.Message.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.Message.AppStateSyncKeyData.fingerprint: object expected"); message.fingerprint = $root.proto.Message.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.Message.AppStateSyncKeyData * @static * @param {proto.Message.AppStateSyncKeyData} message AppStateSyncKeyData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.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.Message.AppStateSyncKeyData * @instance * @returns {Object.<string,*>} JSON object */ AppStateSyncKeyData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKeyData; })(); Message.AppStateSyncKeyFingerprint = (function() { /** * Properties of an AppStateSyncKeyFingerprint. * @memberof proto.Message * @interface IAppStateSyncKeyFingerprint * @property {number|null} [rawId] AppStateSyncKeyFingerprint rawId * @property {number|null} [currentIndex] AppStateSyncKeyFingerprint currentIndex * @property {Array.<number>|null} [deviceIndexes] AppStateSyncKeyFingerprint deviceIndexes */ /** * Constructs a new AppStateSyncKeyFingerprint. * @memberof proto.Message * @classdesc Represents an AppStateSyncKeyFingerprint. * @implements IAppStateSyncKeyFingerprint * @constructor * @param {proto.Message.IAppStateSyncKeyFingerprint=} [properties] Properties to set */ function AppStateSyncKeyFingerprint(properties) { this.deviceIndexes = []; 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.Message.AppStateSyncKeyFingerprint * @instance */ AppStateSyncKeyFingerprint.prototype.rawId = 0; /** * AppStateSyncKeyFingerprint currentIndex. * @member {number} currentIndex * @memberof proto.Message.AppStateSyncKeyFingerprint * @instance */ AppStateSyncKeyFingerprint.prototype.currentIndex = 0; /** * AppStateSyncKeyFingerprint deviceIndexes. * @member {Array.<number>} deviceIndexes * @memberof proto.Message.AppStateSyncKeyFingerprint * @instance */ AppStateSyncKeyFingerprint.prototype.deviceIndexes = $util.emptyArray; /** * Creates a new AppStateSyncKeyFingerprint instance using the specified properties. * @function create * @memberof proto.Message.AppStateSyncKeyFingerprint * @static * @param {proto.Message.IAppStateSyncKeyFingerprint=} [properties] Properties to set * @returns {proto.Message.AppStateSyncKeyFingerprint} AppStateSyncKeyFingerprint instance */ AppStateSyncKeyFingerprint.create = function create(properties) { return new AppStateSyncKeyFingerprint(properties); }; /** * Encodes the specified AppStateSyncKeyFingerprint message. Does not implicitly {@link proto.Message.AppStateSyncKeyFingerprint.verify|verify} messages. * @function encode * @memberof proto.Message.AppStateSyncKeyFingerprint * @static * @param {proto.Message.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); if (message.deviceIndexes != null && message.deviceIndexes.length) { writer.uint32(/* id 3, wireType 2 =*/26).fork(); for (var i = 0; i < message.deviceIndexes.length; ++i) writer.uint32(message.deviceIndexes[i]); writer.ldelim(); } return writer; }; /** * Encodes the specified AppStateSyncKeyFingerprint message, length delimited. Does not implicitly {@link proto.Message.AppStateSyncKeyFingerprint.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.AppStateSyncKeyFingerprint * @static * @param {proto.Message.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.Message.AppStateSyncKeyFingerprint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 3: if (!(message.deviceIndexes && message.deviceIndexes.length)) message.deviceIndexes = []; if ((tag & 7) === 2) { var end2 = reader.uint32() + reader.pos; while (reader.pos < end2) message.deviceIndexes.push(reader.uint32()); } else message.deviceIndexes.push(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.Message.AppStateSyncKeyFingerprint * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.AppStateSyncKeyFingerprint * @static * @param {Object.<string,*>} 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"; if (message.deviceIndexes != null && message.hasOwnProperty("deviceIndexes")) { if (!Array.isArray(message.deviceIndexes)) return "deviceIndexes: array expected"; for (var i = 0; i < message.deviceIndexes.length; ++i) if (!$util.isInteger(message.deviceIndexes[i])) return "deviceIndexes: integer[] expected"; } return null; }; /** * Creates an AppStateSyncKeyFingerprint message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.AppStateSyncKeyFingerprint * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.AppStateSyncKeyFingerprint} AppStateSyncKeyFingerprint */ AppStateSyncKeyFingerprint.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.AppStateSyncKeyFingerprint) return object; var message = new $root.proto.Message.AppStateSyncKeyFingerprint(); if (object.rawId != null) message.rawId = object.rawId >>> 0; if (object.currentIndex != null) message.currentIndex = object.currentIndex >>> 0; if (object.deviceIndexes) { if (!Array.isArray(object.deviceIndexes)) throw TypeError(".proto.Message.AppStateSyncKeyFingerprint.deviceIndexes: array expected"); message.deviceIndexes = []; for (var i = 0; i < object.deviceIndexes.length; ++i) message.deviceIndexes[i] = object.deviceIndexes[i] >>> 0; } return message; }; /** * Creates a plain object from an AppStateSyncKeyFingerprint message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.AppStateSyncKeyFingerprint * @static * @param {proto.Message.AppStateSyncKeyFingerprint} message AppStateSyncKeyFingerprint * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ AppStateSyncKeyFingerprint.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.deviceIndexes = []; 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; if (message.deviceIndexes && message.deviceIndexes.length) { object.deviceIndexes = []; for (var j = 0; j < message.deviceIndexes.length; ++j) object.deviceIndexes[j] = message.deviceIndexes[j]; } return object; }; /** * Converts this AppStateSyncKeyFingerprint to JSON. * @function toJSON * @memberof proto.Message.AppStateSyncKeyFingerprint * @instance * @returns {Object.<string,*>} JSON object */ AppStateSyncKeyFingerprint.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKeyFingerprint; })(); Message.AppStateSyncKeyId = (function() { /** * Properties of an AppStateSyncKeyId. * @memberof proto.Message * @interface IAppStateSyncKeyId * @property {Uint8Array|null} [keyId] AppStateSyncKeyId keyId */ /** * Constructs a new AppStateSyncKeyId. * @memberof proto.Message * @classdesc Represents an AppStateSyncKeyId. * @implements IAppStateSyncKeyId * @constructor * @param {proto.Message.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.Message.AppStateSyncKeyId * @instance */ AppStateSyncKeyId.prototype.keyId = $util.newBuffer([]); /** * Creates a new AppStateSyncKeyId instance using the specified properties. * @function create * @memberof proto.Message.AppStateSyncKeyId * @static * @param {proto.Message.IAppStateSyncKeyId=} [properties] Properties to set * @returns {proto.Message.AppStateSyncKeyId} AppStateSyncKeyId instance */ AppStateSyncKeyId.create = function create(properties) { return new AppStateSyncKeyId(properties); }; /** * Encodes the specified AppStateSyncKeyId message. Does not implicitly {@link proto.Message.AppStateSyncKeyId.verify|verify} messages. * @function encode * @memberof proto.Message.AppStateSyncKeyId * @static * @param {proto.Message.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.Message.AppStateSyncKeyId.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.AppStateSyncKeyId * @static * @param {proto.Message.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.Message.AppStateSyncKeyId * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.AppStateSyncKeyId * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.AppStateSyncKeyId * @static * @param {Object.<string,*>} 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.Message.AppStateSyncKeyId * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.AppStateSyncKeyId} AppStateSyncKeyId */ AppStateSyncKeyId.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.AppStateSyncKeyId) return object; var message = new $root.proto.Message.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.Message.AppStateSyncKeyId * @static * @param {proto.Message.AppStateSyncKeyId} message AppStateSyncKeyId * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.AppStateSyncKeyId * @instance * @returns {Object.<string,*>} JSON object */ AppStateSyncKeyId.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKeyId; })(); Message.AppStateSyncKeyRequest = (function() { /** * Properties of an AppStateSyncKeyRequest. * @memberof proto.Message * @interface IAppStateSyncKeyRequest * @property {Array.<proto.Message.IAppStateSyncKeyId>|null} [keyIds] AppStateSyncKeyRequest keyIds */ /** * Constructs a new AppStateSyncKeyRequest. * @memberof proto.Message * @classdesc Represents an AppStateSyncKeyRequest. * @implements IAppStateSyncKeyRequest * @constructor * @param {proto.Message.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.<proto.Message.IAppStateSyncKeyId>} keyIds * @memberof proto.Message.AppStateSyncKeyRequest * @instance */ AppStateSyncKeyRequest.prototype.keyIds = $util.emptyArray; /** * Creates a new AppStateSyncKeyRequest instance using the specified properties. * @function create * @memberof proto.Message.AppStateSyncKeyRequest * @static * @param {proto.Message.IAppStateSyncKeyRequest=} [properties] Properties to set * @returns {proto.Message.AppStateSyncKeyRequest} AppStateSyncKeyRequest instance */ AppStateSyncKeyRequest.create = function create(properties) { return new AppStateSyncKeyRequest(properties); }; /** * Encodes the specified AppStateSyncKeyRequest message. Does not implicitly {@link proto.Message.AppStateSyncKeyRequest.verify|verify} messages. * @function encode * @memberof proto.Message.AppStateSyncKeyRequest * @static * @param {proto.Message.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.Message.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.Message.AppStateSyncKeyRequest.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.AppStateSyncKeyRequest * @static * @param {proto.Message.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.Message.AppStateSyncKeyRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.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.Message.AppStateSyncKeyRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.AppStateSyncKeyRequest * @static * @param {Object.<string,*>} 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.Message.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.Message.AppStateSyncKeyRequest * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.AppStateSyncKeyRequest} AppStateSyncKeyRequest */ AppStateSyncKeyRequest.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.AppStateSyncKeyRequest) return object; var message = new $root.proto.Message.AppStateSyncKeyRequest(); if (object.keyIds) { if (!Array.isArray(object.keyIds)) throw TypeError(".proto.Message.AppStateSyncKeyRequest.keyIds: array expected"); message.keyIds = []; for (var i = 0; i < object.keyIds.length; ++i) { if (typeof object.keyIds[i] !== "object") throw TypeError(".proto.Message.AppStateSyncKeyRequest.keyIds: object expected"); message.keyIds[i] = $root.proto.Message.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.Message.AppStateSyncKeyRequest * @static * @param {proto.Message.AppStateSyncKeyRequest} message AppStateSyncKeyRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.AppStateSyncKeyId.toObject(message.keyIds[j], options); } return object; }; /** * Converts this AppStateSyncKeyRequest to JSON. * @function toJSON * @memberof proto.Message.AppStateSyncKeyRequest * @instance * @returns {Object.<string,*>} JSON object */ AppStateSyncKeyRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKeyRequest; })(); Message.AppStateSyncKeyShare = (function() { /** * Properties of an AppStateSyncKeyShare. * @memberof proto.Message * @interface IAppStateSyncKeyShare * @property {Array.<proto.Message.IAppStateSyncKey>|null} [keys] AppStateSyncKeyShare keys */ /** * Constructs a new AppStateSyncKeyShare. * @memberof proto.Message * @classdesc Represents an AppStateSyncKeyShare. * @implements IAppStateSyncKeyShare * @constructor * @param {proto.Message.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.<proto.Message.IAppStateSyncKey>} keys * @memberof proto.Message.AppStateSyncKeyShare * @instance */ AppStateSyncKeyShare.prototype.keys = $util.emptyArray; /** * Creates a new AppStateSyncKeyShare instance using the specified properties. * @function create * @memberof proto.Message.AppStateSyncKeyShare * @static * @param {proto.Message.IAppStateSyncKeyShare=} [properties] Properties to set * @returns {proto.Message.AppStateSyncKeyShare} AppStateSyncKeyShare instance */ AppStateSyncKeyShare.create = function create(properties) { return new AppStateSyncKeyShare(properties); }; /** * Encodes the specified AppStateSyncKeyShare message. Does not implicitly {@link proto.Message.AppStateSyncKeyShare.verify|verify} messages. * @function encode * @memberof proto.Message.AppStateSyncKeyShare * @static * @param {proto.Message.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.Message.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.Message.AppStateSyncKeyShare.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.AppStateSyncKeyShare * @static * @param {proto.Message.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.Message.AppStateSyncKeyShare * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.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.Message.AppStateSyncKeyShare * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.AppStateSyncKeyShare * @static * @param {Object.<string,*>} 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.Message.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.Message.AppStateSyncKeyShare * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.AppStateSyncKeyShare} AppStateSyncKeyShare */ AppStateSyncKeyShare.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.AppStateSyncKeyShare) return object; var message = new $root.proto.Message.AppStateSyncKeyShare(); if (object.keys) { if (!Array.isArray(object.keys)) throw TypeError(".proto.Message.AppStateSyncKeyShare.keys: array expected"); message.keys = []; for (var i = 0; i < object.keys.length; ++i) { if (typeof object.keys[i] !== "object") throw TypeError(".proto.Message.AppStateSyncKeyShare.keys: object expected"); message.keys[i] = $root.proto.Message.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.Message.AppStateSyncKeyShare * @static * @param {proto.Message.AppStateSyncKeyShare} message AppStateSyncKeyShare * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.AppStateSyncKey.toObject(message.keys[j], options); } return object; }; /** * Converts this AppStateSyncKeyShare to JSON. * @function toJSON * @memberof proto.Message.AppStateSyncKeyShare * @instance * @returns {Object.<string,*>} JSON object */ AppStateSyncKeyShare.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AppStateSyncKeyShare; })(); Message.AudioMessage = (function() { /** * Properties of an AudioMessage. * @memberof proto.Message * @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 * @property {Uint8Array|null} [waveform] AudioMessage waveform * @property {number|null} [backgroundArgb] AudioMessage backgroundArgb * @property {boolean|null} [viewOnce] AudioMessage viewOnce */ /** * Constructs a new AudioMessage. * @memberof proto.Message * @classdesc Represents an AudioMessage. * @implements IAudioMessage * @constructor * @param {proto.Message.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.Message.AudioMessage * @instance */ AudioMessage.prototype.url = ""; /** * AudioMessage mimetype. * @member {string} mimetype * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.mimetype = ""; /** * AudioMessage fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.fileSha256 = $util.newBuffer([]); /** * AudioMessage fileLength. * @member {number|Long} fileLength * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * AudioMessage seconds. * @member {number} seconds * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.seconds = 0; /** * AudioMessage ptt. * @member {boolean} ptt * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.ptt = false; /** * AudioMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.mediaKey = $util.newBuffer([]); /** * AudioMessage fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.fileEncSha256 = $util.newBuffer([]); /** * AudioMessage directPath. * @member {string} directPath * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.directPath = ""; /** * AudioMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * AudioMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.contextInfo = null; /** * AudioMessage streamingSidecar. * @member {Uint8Array} streamingSidecar * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.streamingSidecar = $util.newBuffer([]); /** * AudioMessage waveform. * @member {Uint8Array} waveform * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.waveform = $util.newBuffer([]); /** * AudioMessage backgroundArgb. * @member {number} backgroundArgb * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.backgroundArgb = 0; /** * AudioMessage viewOnce. * @member {boolean} viewOnce * @memberof proto.Message.AudioMessage * @instance */ AudioMessage.prototype.viewOnce = false; /** * Creates a new AudioMessage instance using the specified properties. * @function create * @memberof proto.Message.AudioMessage * @static * @param {proto.Message.IAudioMessage=} [properties] Properties to set * @returns {proto.Message.AudioMessage} AudioMessage instance */ AudioMessage.create = function create(properties) { return new AudioMessage(properties); }; /** * Encodes the specified AudioMessage message. Does not implicitly {@link proto.Message.AudioMessage.verify|verify} messages. * @function encode * @memberof proto.Message.AudioMessage * @static * @param {proto.Message.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); if (message.waveform != null && Object.hasOwnProperty.call(message, "waveform")) writer.uint32(/* id 19, wireType 2 =*/154).bytes(message.waveform); if (message.backgroundArgb != null && Object.hasOwnProperty.call(message, "backgroundArgb")) writer.uint32(/* id 20, wireType 5 =*/165).fixed32(message.backgroundArgb); if (message.viewOnce != null && Object.hasOwnProperty.call(message, "viewOnce")) writer.uint32(/* id 21, wireType 0 =*/168).bool(message.viewOnce); return writer; }; /** * Encodes the specified AudioMessage message, length delimited. Does not implicitly {@link proto.Message.AudioMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.AudioMessage * @static * @param {proto.Message.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.Message.AudioMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 19: message.waveform = reader.bytes(); break; case 20: message.backgroundArgb = reader.fixed32(); break; case 21: message.viewOnce = reader.bool(); 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.Message.AudioMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.AudioMessage * @static * @param {Object.<string,*>} 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"; if (message.waveform != null && message.hasOwnProperty("waveform")) if (!(message.waveform && typeof message.waveform.length === "number" || $util.isString(message.waveform))) return "waveform: buffer expected"; if (message.backgroundArgb != null && message.hasOwnProperty("backgroundArgb")) if (!$util.isInteger(message.backgroundArgb)) return "backgroundArgb: integer expected"; if (message.viewOnce != null && message.hasOwnProperty("viewOnce")) if (typeof message.viewOnce !== "boolean") return "viewOnce: boolean expected"; return null; }; /** * Creates an AudioMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.AudioMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.AudioMessage} AudioMessage */ AudioMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.AudioMessage) return object; var message = new $root.proto.Message.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.Message.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; if (object.waveform != null) if (typeof object.waveform === "string") $util.base64.decode(object.waveform, message.waveform = $util.newBuffer($util.base64.length(object.waveform)), 0); else if (object.waveform.length) message.waveform = object.waveform; if (object.backgroundArgb != null) message.backgroundArgb = object.backgroundArgb >>> 0; if (object.viewOnce != null) message.viewOnce = Boolean(object.viewOnce); return message; }; /** * Creates a plain object from an AudioMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.AudioMessage * @static * @param {proto.Message.AudioMessage} message AudioMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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 (options.bytes === String) object.waveform = ""; else { object.waveform = []; if (options.bytes !== Array) object.waveform = $util.newBuffer(object.waveform); } object.backgroundArgb = 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.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; if (message.waveform != null && message.hasOwnProperty("waveform")) object.waveform = options.bytes === String ? $util.base64.encode(message.waveform, 0, message.waveform.length) : options.bytes === Array ? Array.prototype.slice.call(message.waveform) : message.waveform; if (message.backgroundArgb != null && message.hasOwnProperty("backgroundArgb")) object.backgroundArgb = message.backgroundArgb; if (message.viewOnce != null && message.hasOwnProperty("viewOnce")) object.viewOnce = message.viewOnce; return object; }; /** * Converts this AudioMessage to JSON. * @function toJSON * @memberof proto.Message.AudioMessage * @instance * @returns {Object.<string,*>} JSON object */ AudioMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AudioMessage; })(); Message.BotFeedbackMessage = (function() { /** * Properties of a BotFeedbackMessage. * @memberof proto.Message * @interface IBotFeedbackMessage * @property {proto.IMessageKey|null} [messageKey] BotFeedbackMessage messageKey * @property {proto.Message.BotFeedbackMessage.BotFeedbackKind|null} [kind] BotFeedbackMessage kind * @property {string|null} [text] BotFeedbackMessage text */ /** * Constructs a new BotFeedbackMessage. * @memberof proto.Message * @classdesc Represents a BotFeedbackMessage. * @implements IBotFeedbackMessage * @constructor * @param {proto.Message.IBotFeedbackMessage=} [properties] Properties to set */ function BotFeedbackMessage(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]]; } /** * BotFeedbackMessage messageKey. * @member {proto.IMessageKey|null|undefined} messageKey * @memberof proto.Message.BotFeedbackMessage * @instance */ BotFeedbackMessage.prototype.messageKey = null; /** * BotFeedbackMessage kind. * @member {proto.Message.BotFeedbackMessage.BotFeedbackKind} kind * @memberof proto.Message.BotFeedbackMessage * @instance */ BotFeedbackMessage.prototype.kind = 0; /** * BotFeedbackMessage text. * @member {string} text * @memberof proto.Message.BotFeedbackMessage * @instance */ BotFeedbackMessage.prototype.text = ""; /** * Creates a new BotFeedbackMessage instance using the specified properties. * @function create * @memberof proto.Message.BotFeedbackMessage * @static * @param {proto.Message.IBotFeedbackMessage=} [properties] Properties to set * @returns {proto.Message.BotFeedbackMessage} BotFeedbackMessage instance */ BotFeedbackMessage.create = function create(properties) { return new BotFeedbackMessage(properties); }; /** * Encodes the specified BotFeedbackMessage message. Does not implicitly {@link proto.Message.BotFeedbackMessage.verify|verify} messages. * @function encode * @memberof proto.Message.BotFeedbackMessage * @static * @param {proto.Message.IBotFeedbackMessage} message BotFeedbackMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BotFeedbackMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.messageKey != null && Object.hasOwnProperty.call(message, "messageKey")) $root.proto.MessageKey.encode(message.messageKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.kind != null && Object.hasOwnProperty.call(message, "kind")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.kind); if (message.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.text); return writer; }; /** * Encodes the specified BotFeedbackMessage message, length delimited. Does not implicitly {@link proto.Message.BotFeedbackMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.BotFeedbackMessage * @static * @param {proto.Message.IBotFeedbackMessage} message BotFeedbackMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ BotFeedbackMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a BotFeedbackMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.BotFeedbackMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.BotFeedbackMessage} BotFeedbackMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BotFeedbackMessage.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.BotFeedbackMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.messageKey = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 2: message.kind = reader.int32(); break; case 3: message.text = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a BotFeedbackMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.BotFeedbackMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.BotFeedbackMessage} BotFeedbackMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ BotFeedbackMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a BotFeedbackMessage message. * @function verify * @memberof proto.Message.BotFeedbackMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ BotFeedbackMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.messageKey != null && message.hasOwnProperty("messageKey")) { var error = $root.proto.MessageKey.verify(message.messageKey); if (error) return "messageKey." + error; } if (message.kind != null && message.hasOwnProperty("kind")) switch (message.kind) { default: return "kind: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: case 6: break; } if (message.text != null && message.hasOwnProperty("text")) if (!$util.isString(message.text)) return "text: string expected"; return null; }; /** * Creates a BotFeedbackMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.BotFeedbackMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.BotFeedbackMessage} BotFeedbackMessage */ BotFeedbackMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.BotFeedbackMessage) return object; var message = new $root.proto.Message.BotFeedbackMessage(); if (object.messageKey != null) { if (typeof object.messageKey !== "object") throw TypeError(".proto.Message.BotFeedbackMessage.messageKey: object expected"); message.messageKey = $root.proto.MessageKey.fromObject(object.messageKey); } switch (object.kind) { case "BOT_FEEDBACK_POSITIVE": case 0: message.kind = 0; break; case "BOT_FEEDBACK_NEGATIVE_GENERIC": case 1: message.kind = 1; break; case "BOT_FEEDBACK_NEGATIVE_HELPFUL": case 2: message.kind = 2; break; case "BOT_FEEDBACK_NEGATIVE_INTERESTING": case 3: message.kind = 3; break; case "BOT_FEEDBACK_NEGATIVE_ACCURATE": case 4: message.kind = 4; break; case "BOT_FEEDBACK_NEGATIVE_SAFE": case 5: message.kind = 5; break; case "BOT_FEEDBACK_NEGATIVE_OTHER": case 6: message.kind = 6; break; } if (object.text != null) message.text = String(object.text); return message; }; /** * Creates a plain object from a BotFeedbackMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.BotFeedbackMessage * @static * @param {proto.Message.BotFeedbackMessage} message BotFeedbackMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ BotFeedbackMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.messageKey = null; object.kind = options.enums === String ? "BOT_FEEDBACK_POSITIVE" : 0; object.text = ""; } if (message.messageKey != null && message.hasOwnProperty("messageKey")) object.messageKey = $root.proto.MessageKey.toObject(message.messageKey, options); if (message.kind != null && message.hasOwnProperty("kind")) object.kind = options.enums === String ? $root.proto.Message.BotFeedbackMessage.BotFeedbackKind[message.kind] : message.kind; if (message.text != null && message.hasOwnProperty("text")) object.text = message.text; return object; }; /** * Converts this BotFeedbackMessage to JSON. * @function toJSON * @memberof proto.Message.BotFeedbackMessage * @instance * @returns {Object.<string,*>} JSON object */ BotFeedbackMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * BotFeedbackKind enum. * @name proto.Message.BotFeedbackMessage.BotFeedbackKind * @enum {number} * @property {number} BOT_FEEDBACK_POSITIVE=0 BOT_FEEDBACK_POSITIVE value * @property {number} BOT_FEEDBACK_NEGATIVE_GENERIC=1 BOT_FEEDBACK_NEGATIVE_GENERIC value * @property {number} BOT_FEEDBACK_NEGATIVE_HELPFUL=2 BOT_FEEDBACK_NEGATIVE_HELPFUL value * @property {number} BOT_FEEDBACK_NEGATIVE_INTERESTING=3 BOT_FEEDBACK_NEGATIVE_INTERESTING value * @property {number} BOT_FEEDBACK_NEGATIVE_ACCURATE=4 BOT_FEEDBACK_NEGATIVE_ACCURATE value * @property {number} BOT_FEEDBACK_NEGATIVE_SAFE=5 BOT_FEEDBACK_NEGATIVE_SAFE value * @property {number} BOT_FEEDBACK_NEGATIVE_OTHER=6 BOT_FEEDBACK_NEGATIVE_OTHER value */ BotFeedbackMessage.BotFeedbackKind = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "BOT_FEEDBACK_POSITIVE"] = 0; values[valuesById[1] = "BOT_FEEDBACK_NEGATIVE_GENERIC"] = 1; values[valuesById[2] = "BOT_FEEDBACK_NEGATIVE_HELPFUL"] = 2; values[valuesById[3] = "BOT_FEEDBACK_NEGATIVE_INTERESTING"] = 3; values[valuesById[4] = "BOT_FEEDBACK_NEGATIVE_ACCURATE"] = 4; values[valuesById[5] = "BOT_FEEDBACK_NEGATIVE_SAFE"] = 5; values[valuesById[6] = "BOT_FEEDBACK_NEGATIVE_OTHER"] = 6; return values; })(); return BotFeedbackMessage; })(); Message.ButtonsMessage = (function() { /** * Properties of a ButtonsMessage. * @memberof proto.Message * @interface IButtonsMessage * @property {string|null} [contentText] ButtonsMessage contentText * @property {string|null} [footerText] ButtonsMessage footerText * @property {proto.IContextInfo|null} [contextInfo] ButtonsMessage contextInfo * @property {Array.<proto.Message.ButtonsMessage.IButton>|null} [buttons] ButtonsMessage buttons * @property {proto.Message.ButtonsMessage.HeaderType|null} [headerType] ButtonsMessage headerType * @property {string|null} [text] ButtonsMessage text * @property {proto.Message.IDocumentMessage|null} [documentMessage] ButtonsMessage documentMessage * @property {proto.Message.IImageMessage|null} [imageMessage] ButtonsMessage imageMessage * @property {proto.Message.IVideoMessage|null} [videoMessage] ButtonsMessage videoMessage * @property {proto.Message.ILocationMessage|null} [locationMessage] ButtonsMessage locationMessage */ /** * Constructs a new ButtonsMessage. * @memberof proto.Message * @classdesc Represents a ButtonsMessage. * @implements IButtonsMessage * @constructor * @param {proto.Message.IButtonsMessage=} [properties] Properties to set */ function ButtonsMessage(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]]; } /** * ButtonsMessage contentText. * @member {string} contentText * @memberof proto.Message.ButtonsMessage * @instance */ ButtonsMessage.prototype.contentText = ""; /** * ButtonsMessage footerText. * @member {string} footerText * @memberof proto.Message.ButtonsMessage * @instance */ ButtonsMessage.prototype.footerText = ""; /** * ButtonsMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.ButtonsMessage * @instance */ ButtonsMessage.prototype.contextInfo = null; /** * ButtonsMessage buttons. * @member {Array.<proto.Message.ButtonsMessage.IButton>} buttons * @memberof proto.Message.ButtonsMessage * @instance */ ButtonsMessage.prototype.buttons = $util.emptyArray; /** * ButtonsMessage headerType. * @member {proto.Message.ButtonsMessage.HeaderType} headerType * @memberof proto.Message.ButtonsMessage * @instance */ ButtonsMessage.prototype.headerType = 0; /** * ButtonsMessage text. * @member {string|null|undefined} text * @memberof proto.Message.ButtonsMessage * @instance */ ButtonsMessage.prototype.text = null; /** * ButtonsMessage documentMessage. * @member {proto.Message.IDocumentMessage|null|undefined} documentMessage * @memberof proto.Message.ButtonsMessage * @instance */ ButtonsMessage.prototype.documentMessage = null; /** * ButtonsMessage imageMessage. * @member {proto.Message.IImageMessage|null|undefined} imageMessage * @memberof proto.Message.ButtonsMessage * @instance */ ButtonsMessage.prototype.imageMessage = null; /** * ButtonsMessage videoMessage. * @member {proto.Message.IVideoMessage|null|undefined} videoMessage * @memberof proto.Message.ButtonsMessage * @instance */ ButtonsMessage.prototype.videoMessage = null; /** * ButtonsMessage locationMessage. * @member {proto.Message.ILocationMessage|null|undefined} locationMessage * @memberof proto.Message.ButtonsMessage * @instance */ ButtonsMessage.prototype.locationMessage = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * ButtonsMessage header. * @member {"text"|"documentMessage"|"imageMessage"|"videoMessage"|"locationMessage"|undefined} header * @memberof proto.Message.ButtonsMessage * @instance */ Object.defineProperty(ButtonsMessage.prototype, "header", { get: $util.oneOfGetter($oneOfFields = ["text", "documentMessage", "imageMessage", "videoMessage", "locationMessage"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new ButtonsMessage instance using the specified properties. * @function create * @memberof proto.Message.ButtonsMessage * @static * @param {proto.Message.IButtonsMessage=} [properties] Properties to set * @returns {proto.Message.ButtonsMessage} ButtonsMessage instance */ ButtonsMessage.create = function create(properties) { return new ButtonsMessage(properties); }; /** * Encodes the specified ButtonsMessage message. Does not implicitly {@link proto.Message.ButtonsMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ButtonsMessage * @static * @param {proto.Message.IButtonsMessage} message ButtonsMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ButtonsMessage.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.documentMessage != null && Object.hasOwnProperty.call(message, "documentMessage")) $root.proto.Message.DocumentMessage.encode(message.documentMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.imageMessage != null && Object.hasOwnProperty.call(message, "imageMessage")) $root.proto.Message.ImageMessage.encode(message.imageMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.videoMessage != null && Object.hasOwnProperty.call(message, "videoMessage")) $root.proto.Message.VideoMessage.encode(message.videoMessage, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.locationMessage != null && Object.hasOwnProperty.call(message, "locationMessage")) $root.proto.Message.LocationMessage.encode(message.locationMessage, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.contentText != null && Object.hasOwnProperty.call(message, "contentText")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.contentText); if (message.footerText != null && Object.hasOwnProperty.call(message, "footerText")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.footerText); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.buttons != null && message.buttons.length) for (var i = 0; i < message.buttons.length; ++i) $root.proto.Message.ButtonsMessage.Button.encode(message.buttons[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); if (message.headerType != null && Object.hasOwnProperty.call(message, "headerType")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.headerType); return writer; }; /** * Encodes the specified ButtonsMessage message, length delimited. Does not implicitly {@link proto.Message.ButtonsMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ButtonsMessage * @static * @param {proto.Message.IButtonsMessage} message ButtonsMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ButtonsMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ButtonsMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.ButtonsMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ButtonsMessage} ButtonsMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ButtonsMessage.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.ButtonsMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 6: message.contentText = reader.string(); break; case 7: message.footerText = reader.string(); break; case 8: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 9: if (!(message.buttons && message.buttons.length)) message.buttons = []; message.buttons.push($root.proto.Message.ButtonsMessage.Button.decode(reader, reader.uint32())); break; case 10: message.headerType = reader.int32(); break; case 1: message.text = reader.string(); break; case 2: message.documentMessage = $root.proto.Message.DocumentMessage.decode(reader, reader.uint32()); break; case 3: message.imageMessage = $root.proto.Message.ImageMessage.decode(reader, reader.uint32()); break; case 4: message.videoMessage = $root.proto.Message.VideoMessage.decode(reader, reader.uint32()); break; case 5: message.locationMessage = $root.proto.Message.LocationMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ButtonsMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ButtonsMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ButtonsMessage} ButtonsMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ButtonsMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ButtonsMessage message. * @function verify * @memberof proto.Message.ButtonsMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ButtonsMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.contentText != null && message.hasOwnProperty("contentText")) if (!$util.isString(message.contentText)) return "contentText: string expected"; if (message.footerText != null && message.hasOwnProperty("footerText")) if (!$util.isString(message.footerText)) return "footerText: string expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + 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.Message.ButtonsMessage.Button.verify(message.buttons[i]); if (error) return "buttons." + error; } } if (message.headerType != null && message.hasOwnProperty("headerType")) switch (message.headerType) { default: return "headerType: enum value expected"; case 0: case 1: case 2: case 3: case 4: case 5: case 6: break; } if (message.text != null && message.hasOwnProperty("text")) { properties.header = 1; if (!$util.isString(message.text)) return "text: string expected"; } if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) { if (properties.header === 1) return "header: multiple values"; properties.header = 1; { var error = $root.proto.Message.DocumentMessage.verify(message.documentMessage); if (error) return "documentMessage." + error; } } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { if (properties.header === 1) return "header: multiple values"; properties.header = 1; { var error = $root.proto.Message.ImageMessage.verify(message.imageMessage); if (error) return "imageMessage." + error; } } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { if (properties.header === 1) return "header: multiple values"; properties.header = 1; { var error = $root.proto.Message.VideoMessage.verify(message.videoMessage); if (error) return "videoMessage." + error; } } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { if (properties.header === 1) return "header: multiple values"; properties.header = 1; { var error = $root.proto.Message.LocationMessage.verify(message.locationMessage); if (error) return "locationMessage." + error; } } return null; }; /** * Creates a ButtonsMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ButtonsMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ButtonsMessage} ButtonsMessage */ ButtonsMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ButtonsMessage) return object; var message = new $root.proto.Message.ButtonsMessage(); if (object.contentText != null) message.contentText = String(object.contentText); if (object.footerText != null) message.footerText = String(object.footerText); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.ButtonsMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.buttons) { if (!Array.isArray(object.buttons)) throw TypeError(".proto.Message.ButtonsMessage.buttons: array expected"); message.buttons = []; for (var i = 0; i < object.buttons.length; ++i) { if (typeof object.buttons[i] !== "object") throw TypeError(".proto.Message.ButtonsMessage.buttons: object expected"); message.buttons[i] = $root.proto.Message.ButtonsMessage.Button.fromObject(object.buttons[i]); } } switch (object.headerType) { case "UNKNOWN": case 0: message.headerType = 0; break; case "EMPTY": case 1: message.headerType = 1; break; case "TEXT": case 2: message.headerType = 2; break; case "DOCUMENT": case 3: message.headerType = 3; break; case "IMAGE": case 4: message.headerType = 4; break; case "VIDEO": case 5: message.headerType = 5; break; case "LOCATION": case 6: message.headerType = 6; break; } if (object.text != null) message.text = String(object.text); if (object.documentMessage != null) { if (typeof object.documentMessage !== "object") throw TypeError(".proto.Message.ButtonsMessage.documentMessage: object expected"); message.documentMessage = $root.proto.Message.DocumentMessage.fromObject(object.documentMessage); } if (object.imageMessage != null) { if (typeof object.imageMessage !== "object") throw TypeError(".proto.Message.ButtonsMessage.imageMessage: object expected"); message.imageMessage = $root.proto.Message.ImageMessage.fromObject(object.imageMessage); } if (object.videoMessage != null) { if (typeof object.videoMessage !== "object") throw TypeError(".proto.Message.ButtonsMessage.videoMessage: object expected"); message.videoMessage = $root.proto.Message.VideoMessage.fromObject(object.videoMessage); } if (object.locationMessage != null) { if (typeof object.locationMessage !== "object") throw TypeError(".proto.Message.ButtonsMessage.locationMessage: object expected"); message.locationMessage = $root.proto.Message.LocationMessage.fromObject(object.locationMessage); } return message; }; /** * Creates a plain object from a ButtonsMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ButtonsMessage * @static * @param {proto.Message.ButtonsMessage} message ButtonsMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ButtonsMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.buttons = []; if (options.defaults) { object.contentText = ""; object.footerText = ""; object.contextInfo = null; object.headerType = options.enums === String ? "UNKNOWN" : 0; } if (message.text != null && message.hasOwnProperty("text")) { object.text = message.text; if (options.oneofs) object.header = "text"; } if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) { object.documentMessage = $root.proto.Message.DocumentMessage.toObject(message.documentMessage, options); if (options.oneofs) object.header = "documentMessage"; } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { object.imageMessage = $root.proto.Message.ImageMessage.toObject(message.imageMessage, options); if (options.oneofs) object.header = "imageMessage"; } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { object.videoMessage = $root.proto.Message.VideoMessage.toObject(message.videoMessage, options); if (options.oneofs) object.header = "videoMessage"; } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { object.locationMessage = $root.proto.Message.LocationMessage.toObject(message.locationMessage, options); if (options.oneofs) object.header = "locationMessage"; } if (message.contentText != null && message.hasOwnProperty("contentText")) object.contentText = message.contentText; if (message.footerText != null && message.hasOwnProperty("footerText")) object.footerText = message.footerText; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); if (message.buttons && message.buttons.length) { object.buttons = []; for (var j = 0; j < message.buttons.length; ++j) object.buttons[j] = $root.proto.Message.ButtonsMessage.Button.toObject(message.buttons[j], options); } if (message.headerType != null && message.hasOwnProperty("headerType")) object.headerType = options.enums === String ? $root.proto.Message.ButtonsMessage.HeaderType[message.headerType] : message.headerType; return object; }; /** * Converts this ButtonsMessage to JSON. * @function toJSON * @memberof proto.Message.ButtonsMessage * @instance * @returns {Object.<string,*>} JSON object */ ButtonsMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; ButtonsMessage.Button = (function() { /** * Properties of a Button. * @memberof proto.Message.ButtonsMessage * @interface IButton * @property {string|null} [buttonId] Button buttonId * @property {proto.Message.ButtonsMessage.Button.IButtonText|null} [buttonText] Button buttonText * @property {proto.Message.ButtonsMessage.Button.Type|null} [type] Button type * @property {proto.Message.ButtonsMessage.Button.INativeFlowInfo|null} [nativeFlowInfo] Button nativeFlowInfo */ /** * Constructs a new Button. * @memberof proto.Message.ButtonsMessage * @classdesc Represents a Button. * @implements IButton * @constructor * @param {proto.Message.ButtonsMessage.IButton=} [properties] Properties to set */ function Button(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]]; } /** * Button buttonId. * @member {string} buttonId * @memberof proto.Message.ButtonsMessage.Button * @instance */ Button.prototype.buttonId = ""; /** * Button buttonText. * @member {proto.Message.ButtonsMessage.Button.IButtonText|null|undefined} buttonText * @memberof proto.Message.ButtonsMessage.Button * @instance */ Button.prototype.buttonText = null; /** * Button type. * @member {proto.Message.ButtonsMessage.Button.Type} type * @memberof proto.Message.ButtonsMessage.Button * @instance */ Button.prototype.type = 0; /** * Button nativeFlowInfo. * @member {proto.Message.ButtonsMessage.Button.INativeFlowInfo|null|undefined} nativeFlowInfo * @memberof proto.Message.ButtonsMessage.Button * @instance */ Button.prototype.nativeFlowInfo = null; /** * Creates a new Button instance using the specified properties. * @function create * @memberof proto.Message.ButtonsMessage.Button * @static * @param {proto.Message.ButtonsMessage.IButton=} [properties] Properties to set * @returns {proto.Message.ButtonsMessage.Button} Button instance */ Button.create = function create(properties) { return new Button(properties); }; /** * Encodes the specified Button message. Does not implicitly {@link proto.Message.ButtonsMessage.Button.verify|verify} messages. * @function encode * @memberof proto.Message.ButtonsMessage.Button * @static * @param {proto.Message.ButtonsMessage.IButton} message Button message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Button.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.buttonId != null && Object.hasOwnProperty.call(message, "buttonId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.buttonId); if (message.buttonText != null && Object.hasOwnProperty.call(message, "buttonText")) $root.proto.Message.ButtonsMessage.Button.ButtonText.encode(message.buttonText, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); if (message.nativeFlowInfo != null && Object.hasOwnProperty.call(message, "nativeFlowInfo")) $root.proto.Message.ButtonsMessage.Button.NativeFlowInfo.encode(message.nativeFlowInfo, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** * Encodes the specified Button message, length delimited. Does not implicitly {@link proto.Message.ButtonsMessage.Button.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ButtonsMessage.Button * @static * @param {proto.Message.ButtonsMessage.IButton} message Button message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Button.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Button message from the specified reader or buffer. * @function decode * @memberof proto.Message.ButtonsMessage.Button * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ButtonsMessage.Button} Button * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Button.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.ButtonsMessage.Button(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.buttonId = reader.string(); break; case 2: message.buttonText = $root.proto.Message.ButtonsMessage.Button.ButtonText.decode(reader, reader.uint32()); break; case 3: message.type = reader.int32(); break; case 4: message.nativeFlowInfo = $root.proto.Message.ButtonsMessage.Button.NativeFlowInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Button message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ButtonsMessage.Button * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ButtonsMessage.Button} Button * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Button.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Button message. * @function verify * @memberof proto.Message.ButtonsMessage.Button * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Button.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.buttonId != null && message.hasOwnProperty("buttonId")) if (!$util.isString(message.buttonId)) return "buttonId: string expected"; if (message.buttonText != null && message.hasOwnProperty("buttonText")) { var error = $root.proto.Message.ButtonsMessage.Button.ButtonText.verify(message.buttonText); if (error) return "buttonText." + error; } if (message.type != null && message.hasOwnProperty("type")) switch (message.type) { default: return "type: enum value expected"; case 0: case 1: case 2: break; } if (message.nativeFlowInfo != null && message.hasOwnProperty("nativeFlowInfo")) { var error = $root.proto.Message.ButtonsMessage.Button.NativeFlowInfo.verify(message.nativeFlowInfo); if (error) return "nativeFlowInfo." + error; } return null; }; /** * Creates a Button message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ButtonsMessage.Button * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ButtonsMessage.Button} Button */ Button.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ButtonsMessage.Button) return object; var message = new $root.proto.Message.ButtonsMessage.Button(); if (object.buttonId != null) message.buttonId = String(object.buttonId); if (object.buttonText != null) { if (typeof object.buttonText !== "object") throw TypeError(".proto.Message.ButtonsMessage.Button.buttonText: object expected"); message.buttonText = $root.proto.Message.ButtonsMessage.Button.ButtonText.fromObject(object.buttonText); } switch (object.type) { case "UNKNOWN": case 0: message.type = 0; break; case "RESPONSE": case 1: message.type = 1; break; case "NATIVE_FLOW": case 2: message.type = 2; break; } if (object.nativeFlowInfo != null) { if (typeof object.nativeFlowInfo !== "object") throw TypeError(".proto.Message.ButtonsMessage.Button.nativeFlowInfo: object expected"); message.nativeFlowInfo = $root.proto.Message.ButtonsMessage.Button.NativeFlowInfo.fromObject(object.nativeFlowInfo); } return message; }; /** * Creates a plain object from a Button message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ButtonsMessage.Button * @static * @param {proto.Message.ButtonsMessage.Button} message Button * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Button.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.buttonId = ""; object.buttonText = null; object.type = options.enums === String ? "UNKNOWN" : 0; object.nativeFlowInfo = null; } if (message.buttonId != null && message.hasOwnProperty("buttonId")) object.buttonId = message.buttonId; if (message.buttonText != null && message.hasOwnProperty("buttonText")) object.buttonText = $root.proto.Message.ButtonsMessage.Button.ButtonText.toObject(message.buttonText, options); if (message.type != null && message.hasOwnProperty("type")) object.type = options.enums === String ? $root.proto.Message.ButtonsMessage.Button.Type[message.type] : message.type; if (message.nativeFlowInfo != null && message.hasOwnProperty("nativeFlowInfo")) object.nativeFlowInfo = $root.proto.Message.ButtonsMessage.Button.NativeFlowInfo.toObject(message.nativeFlowInfo, options); return object; }; /** * Converts this Button to JSON. * @function toJSON * @memberof proto.Message.ButtonsMessage.Button * @instance * @returns {Object.<string,*>} JSON object */ Button.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; Button.ButtonText = (function() { /** * Properties of a ButtonText. * @memberof proto.Message.ButtonsMessage.Button * @interface IButtonText * @property {string|null} [displayText] ButtonText displayText */ /** * Constructs a new ButtonText. * @memberof proto.Message.ButtonsMessage.Button * @classdesc Represents a ButtonText. * @implements IButtonText * @constructor * @param {proto.Message.ButtonsMessage.Button.IButtonText=} [properties] Properties to set */ function ButtonText(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]]; } /** * ButtonText displayText. * @member {string} displayText * @memberof proto.Message.ButtonsMessage.Button.ButtonText * @instance */ ButtonText.prototype.displayText = ""; /** * Creates a new ButtonText instance using the specified properties. * @function create * @memberof proto.Message.ButtonsMessage.Button.ButtonText * @static * @param {proto.Message.ButtonsMessage.Button.IButtonText=} [properties] Properties to set * @returns {proto.Message.ButtonsMessage.Button.ButtonText} ButtonText instance */ ButtonText.create = function create(properties) { return new ButtonText(properties); }; /** * Encodes the specified ButtonText message. Does not implicitly {@link proto.Message.ButtonsMessage.Button.ButtonText.verify|verify} messages. * @function encode * @memberof proto.Message.ButtonsMessage.Button.ButtonText * @static * @param {proto.Message.ButtonsMessage.Button.IButtonText} message ButtonText message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ButtonText.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); return writer; }; /** * Encodes the specified ButtonText message, length delimited. Does not implicitly {@link proto.Message.ButtonsMessage.Button.ButtonText.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ButtonsMessage.Button.ButtonText * @static * @param {proto.Message.ButtonsMessage.Button.IButtonText} message ButtonText message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ButtonText.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ButtonText message from the specified reader or buffer. * @function decode * @memberof proto.Message.ButtonsMessage.Button.ButtonText * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ButtonsMessage.Button.ButtonText} ButtonText * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ButtonText.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.ButtonsMessage.Button.ButtonText(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayText = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ButtonText message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ButtonsMessage.Button.ButtonText * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ButtonsMessage.Button.ButtonText} ButtonText * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ButtonText.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ButtonText message. * @function verify * @memberof proto.Message.ButtonsMessage.Button.ButtonText * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ButtonText.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"; return null; }; /** * Creates a ButtonText message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ButtonsMessage.Button.ButtonText * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ButtonsMessage.Button.ButtonText} ButtonText */ ButtonText.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ButtonsMessage.Button.ButtonText) return object; var message = new $root.proto.Message.ButtonsMessage.Button.ButtonText(); if (object.displayText != null) message.displayText = String(object.displayText); return message; }; /** * Creates a plain object from a ButtonText message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ButtonsMessage.Button.ButtonText * @static * @param {proto.Message.ButtonsMessage.Button.ButtonText} message ButtonText * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ButtonText.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.displayText = ""; if (message.displayText != null && message.hasOwnProperty("displayText")) object.displayText = message.displayText; return object; }; /** * Converts this ButtonText to JSON. * @function toJSON * @memberof proto.Message.ButtonsMessage.Button.ButtonText * @instance * @returns {Object.<string,*>} JSON object */ ButtonText.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ButtonText; })(); Button.NativeFlowInfo = (function() { /** * Properties of a NativeFlowInfo. * @memberof proto.Message.ButtonsMessage.Button * @interface INativeFlowInfo * @property {string|null} [name] NativeFlowInfo name * @property {string|null} [paramsJson] NativeFlowInfo paramsJson */ /** * Constructs a new NativeFlowInfo. * @memberof proto.Message.ButtonsMessage.Button * @classdesc Represents a NativeFlowInfo. * @implements INativeFlowInfo * @constructor * @param {proto.Message.ButtonsMessage.Button.INativeFlowInfo=} [properties] Properties to set */ function NativeFlowInfo(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]]; } /** * NativeFlowInfo name. * @member {string} name * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @instance */ NativeFlowInfo.prototype.name = ""; /** * NativeFlowInfo paramsJson. * @member {string} paramsJson * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @instance */ NativeFlowInfo.prototype.paramsJson = ""; /** * Creates a new NativeFlowInfo instance using the specified properties. * @function create * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @static * @param {proto.Message.ButtonsMessage.Button.INativeFlowInfo=} [properties] Properties to set * @returns {proto.Message.ButtonsMessage.Button.NativeFlowInfo} NativeFlowInfo instance */ NativeFlowInfo.create = function create(properties) { return new NativeFlowInfo(properties); }; /** * Encodes the specified NativeFlowInfo message. Does not implicitly {@link proto.Message.ButtonsMessage.Button.NativeFlowInfo.verify|verify} messages. * @function encode * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @static * @param {proto.Message.ButtonsMessage.Button.INativeFlowInfo} message NativeFlowInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NativeFlowInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.paramsJson != null && Object.hasOwnProperty.call(message, "paramsJson")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.paramsJson); return writer; }; /** * Encodes the specified NativeFlowInfo message, length delimited. Does not implicitly {@link proto.Message.ButtonsMessage.Button.NativeFlowInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @static * @param {proto.Message.ButtonsMessage.Button.INativeFlowInfo} message NativeFlowInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NativeFlowInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a NativeFlowInfo message from the specified reader or buffer. * @function decode * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ButtonsMessage.Button.NativeFlowInfo} NativeFlowInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NativeFlowInfo.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.ButtonsMessage.Button.NativeFlowInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; case 2: message.paramsJson = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a NativeFlowInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ButtonsMessage.Button.NativeFlowInfo} NativeFlowInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NativeFlowInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a NativeFlowInfo message. * @function verify * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ NativeFlowInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.paramsJson != null && message.hasOwnProperty("paramsJson")) if (!$util.isString(message.paramsJson)) return "paramsJson: string expected"; return null; }; /** * Creates a NativeFlowInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ButtonsMessage.Button.NativeFlowInfo} NativeFlowInfo */ NativeFlowInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ButtonsMessage.Button.NativeFlowInfo) return object; var message = new $root.proto.Message.ButtonsMessage.Button.NativeFlowInfo(); if (object.name != null) message.name = String(object.name); if (object.paramsJson != null) message.paramsJson = String(object.paramsJson); return message; }; /** * Creates a plain object from a NativeFlowInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @static * @param {proto.Message.ButtonsMessage.Button.NativeFlowInfo} message NativeFlowInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ NativeFlowInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.name = ""; object.paramsJson = ""; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.paramsJson != null && message.hasOwnProperty("paramsJson")) object.paramsJson = message.paramsJson; return object; }; /** * Converts this NativeFlowInfo to JSON. * @function toJSON * @memberof proto.Message.ButtonsMessage.Button.NativeFlowInfo * @instance * @returns {Object.<string,*>} JSON object */ NativeFlowInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return NativeFlowInfo; })(); /** * Type enum. * @name proto.Message.ButtonsMessage.Button.Type * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} RESPONSE=1 RESPONSE value * @property {number} NATIVE_FLOW=2 NATIVE_FLOW value */ Button.Type = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "RESPONSE"] = 1; values[valuesById[2] = "NATIVE_FLOW"] = 2; return values; })(); return Button; })(); /** * HeaderType enum. * @name proto.Message.ButtonsMessage.HeaderType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} EMPTY=1 EMPTY value * @property {number} TEXT=2 TEXT value * @property {number} DOCUMENT=3 DOCUMENT value * @property {number} IMAGE=4 IMAGE value * @property {number} VIDEO=5 VIDEO value * @property {number} LOCATION=6 LOCATION value */ ButtonsMessage.HeaderType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "EMPTY"] = 1; values[valuesById[2] = "TEXT"] = 2; values[valuesById[3] = "DOCUMENT"] = 3; values[valuesById[4] = "IMAGE"] = 4; values[valuesById[5] = "VIDEO"] = 5; values[valuesById[6] = "LOCATION"] = 6; return values; })(); return ButtonsMessage; })(); Message.ButtonsResponseMessage = (function() { /** * Properties of a ButtonsResponseMessage. * @memberof proto.Message * @interface IButtonsResponseMessage * @property {string|null} [selectedButtonId] ButtonsResponseMessage selectedButtonId * @property {proto.IContextInfo|null} [contextInfo] ButtonsResponseMessage contextInfo * @property {proto.Message.ButtonsResponseMessage.Type|null} [type] ButtonsResponseMessage type * @property {string|null} [selectedDisplayText] ButtonsResponseMessage selectedDisplayText */ /** * Constructs a new ButtonsResponseMessage. * @memberof proto.Message * @classdesc Represents a ButtonsResponseMessage. * @implements IButtonsResponseMessage * @constructor * @param {proto.Message.IButtonsResponseMessage=} [properties] Properties to set */ function ButtonsResponseMessage(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]]; } /** * ButtonsResponseMessage selectedButtonId. * @member {string} selectedButtonId * @memberof proto.Message.ButtonsResponseMessage * @instance */ ButtonsResponseMessage.prototype.selectedButtonId = ""; /** * ButtonsResponseMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.ButtonsResponseMessage * @instance */ ButtonsResponseMessage.prototype.contextInfo = null; /** * ButtonsResponseMessage type. * @member {proto.Message.ButtonsResponseMessage.Type} type * @memberof proto.Message.ButtonsResponseMessage * @instance */ ButtonsResponseMessage.prototype.type = 0; /** * ButtonsResponseMessage selectedDisplayText. * @member {string|null|undefined} selectedDisplayText * @memberof proto.Message.ButtonsResponseMessage * @instance */ ButtonsResponseMessage.prototype.selectedDisplayText = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * ButtonsResponseMessage response. * @member {"selectedDisplayText"|undefined} response * @memberof proto.Message.ButtonsResponseMessage * @instance */ Object.defineProperty(ButtonsResponseMessage.prototype, "response", { get: $util.oneOfGetter($oneOfFields = ["selectedDisplayText"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new ButtonsResponseMessage instance using the specified properties. * @function create * @memberof proto.Message.ButtonsResponseMessage * @static * @param {proto.Message.IButtonsResponseMessage=} [properties] Properties to set * @returns {proto.Message.ButtonsResponseMessage} ButtonsResponseMessage instance */ ButtonsResponseMessage.create = function create(properties) { return new ButtonsResponseMessage(properties); }; /** * Encodes the specified ButtonsResponseMessage message. Does not implicitly {@link proto.Message.ButtonsResponseMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ButtonsResponseMessage * @static * @param {proto.Message.IButtonsResponseMessage} message ButtonsResponseMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ButtonsResponseMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.selectedButtonId != null && Object.hasOwnProperty.call(message, "selectedButtonId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.selectedButtonId); 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.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.type); return writer; }; /** * Encodes the specified ButtonsResponseMessage message, length delimited. Does not implicitly {@link proto.Message.ButtonsResponseMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ButtonsResponseMessage * @static * @param {proto.Message.IButtonsResponseMessage} message ButtonsResponseMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ButtonsResponseMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ButtonsResponseMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.ButtonsResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ButtonsResponseMessage} ButtonsResponseMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ButtonsResponseMessage.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.ButtonsResponseMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.selectedButtonId = reader.string(); break; case 3: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 4: message.type = reader.int32(); break; case 2: message.selectedDisplayText = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ButtonsResponseMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ButtonsResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ButtonsResponseMessage} ButtonsResponseMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ButtonsResponseMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ButtonsResponseMessage message. * @function verify * @memberof proto.Message.ButtonsResponseMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ButtonsResponseMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.selectedButtonId != null && message.hasOwnProperty("selectedButtonId")) if (!$util.isString(message.selectedButtonId)) return "selectedButtonId: string expected"; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } if (message.type != null && message.hasOwnProperty("type")) switch (message.type) { default: return "type: enum value expected"; case 0: case 1: break; } if (message.selectedDisplayText != null && message.hasOwnProperty("selectedDisplayText")) { properties.response = 1; if (!$util.isString(message.selectedDisplayText)) return "selectedDisplayText: string expected"; } return null; }; /** * Creates a ButtonsResponseMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ButtonsResponseMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ButtonsResponseMessage} ButtonsResponseMessage */ ButtonsResponseMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ButtonsResponseMessage) return object; var message = new $root.proto.Message.ButtonsResponseMessage(); if (object.selectedButtonId != null) message.selectedButtonId = String(object.selectedButtonId); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.ButtonsResponseMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } switch (object.type) { case "UNKNOWN": case 0: message.type = 0; break; case "DISPLAY_TEXT": case 1: message.type = 1; break; } if (object.selectedDisplayText != null) message.selectedDisplayText = String(object.selectedDisplayText); return message; }; /** * Creates a plain object from a ButtonsResponseMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ButtonsResponseMessage * @static * @param {proto.Message.ButtonsResponseMessage} message ButtonsResponseMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ButtonsResponseMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.selectedButtonId = ""; object.contextInfo = null; object.type = options.enums === String ? "UNKNOWN" : 0; } if (message.selectedButtonId != null && message.hasOwnProperty("selectedButtonId")) object.selectedButtonId = message.selectedButtonId; if (message.selectedDisplayText != null && message.hasOwnProperty("selectedDisplayText")) { object.selectedDisplayText = message.selectedDisplayText; if (options.oneofs) object.response = "selectedDisplayText"; } if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); if (message.type != null && message.hasOwnProperty("type")) object.type = options.enums === String ? $root.proto.Message.ButtonsResponseMessage.Type[message.type] : message.type; return object; }; /** * Converts this ButtonsResponseMessage to JSON. * @function toJSON * @memberof proto.Message.ButtonsResponseMessage * @instance * @returns {Object.<string,*>} JSON object */ ButtonsResponseMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Type enum. * @name proto.Message.ButtonsResponseMessage.Type * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} DISPLAY_TEXT=1 DISPLAY_TEXT value */ ButtonsResponseMessage.Type = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "DISPLAY_TEXT"] = 1; return values; })(); return ButtonsResponseMessage; })(); Message.Call = (function() { /** * Properties of a Call. * @memberof proto.Message * @interface ICall * @property {Uint8Array|null} [callKey] Call callKey * @property {string|null} [conversionSource] Call conversionSource * @property {Uint8Array|null} [conversionData] Call conversionData * @property {number|null} [conversionDelaySeconds] Call conversionDelaySeconds */ /** * Constructs a new Call. * @memberof proto.Message * @classdesc Represents a Call. * @implements ICall * @constructor * @param {proto.Message.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.Message.Call * @instance */ Call.prototype.callKey = $util.newBuffer([]); /** * Call conversionSource. * @member {string} conversionSource * @memberof proto.Message.Call * @instance */ Call.prototype.conversionSource = ""; /** * Call conversionData. * @member {Uint8Array} conversionData * @memberof proto.Message.Call * @instance */ Call.prototype.conversionData = $util.newBuffer([]); /** * Call conversionDelaySeconds. * @member {number} conversionDelaySeconds * @memberof proto.Message.Call * @instance */ Call.prototype.conversionDelaySeconds = 0; /** * Creates a new Call instance using the specified properties. * @function create * @memberof proto.Message.Call * @static * @param {proto.Message.ICall=} [properties] Properties to set * @returns {proto.Message.Call} Call instance */ Call.create = function create(properties) { return new Call(properties); }; /** * Encodes the specified Call message. Does not implicitly {@link proto.Message.Call.verify|verify} messages. * @function encode * @memberof proto.Message.Call * @static * @param {proto.Message.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); if (message.conversionSource != null && Object.hasOwnProperty.call(message, "conversionSource")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.conversionSource); if (message.conversionData != null && Object.hasOwnProperty.call(message, "conversionData")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.conversionData); if (message.conversionDelaySeconds != null && Object.hasOwnProperty.call(message, "conversionDelaySeconds")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.conversionDelaySeconds); return writer; }; /** * Encodes the specified Call message, length delimited. Does not implicitly {@link proto.Message.Call.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.Call * @static * @param {proto.Message.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.Message.Call * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.Call(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.callKey = reader.bytes(); break; case 2: message.conversionSource = reader.string(); break; case 3: message.conversionData = reader.bytes(); break; case 4: message.conversionDelaySeconds = reader.uint32(); 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.Message.Call * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.Call * @static * @param {Object.<string,*>} 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"; 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"; return null; }; /** * Creates a Call message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.Call * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.Call} Call */ Call.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.Call) return object; var message = new $root.proto.Message.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; 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; return message; }; /** * Creates a plain object from a Call message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.Call * @static * @param {proto.Message.Call} message Call * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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); } object.conversionSource = ""; if (options.bytes === String) object.conversionData = ""; else { object.conversionData = []; if (options.bytes !== Array) object.conversionData = $util.newBuffer(object.conversionData); } object.conversionDelaySeconds = 0; } 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; 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; return object; }; /** * Converts this Call to JSON. * @function toJSON * @memberof proto.Message.Call * @instance * @returns {Object.<string,*>} JSON object */ Call.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Call; })(); Message.CancelPaymentRequestMessage = (function() { /** * Properties of a CancelPaymentRequestMessage. * @memberof proto.Message * @interface ICancelPaymentRequestMessage * @property {proto.IMessageKey|null} [key] CancelPaymentRequestMessage key */ /** * Constructs a new CancelPaymentRequestMessage. * @memberof proto.Message * @classdesc Represents a CancelPaymentRequestMessage. * @implements ICancelPaymentRequestMessage * @constructor * @param {proto.Message.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.Message.CancelPaymentRequestMessage * @instance */ CancelPaymentRequestMessage.prototype.key = null; /** * Creates a new CancelPaymentRequestMessage instance using the specified properties. * @function create * @memberof proto.Message.CancelPaymentRequestMessage * @static * @param {proto.Message.ICancelPaymentRequestMessage=} [properties] Properties to set * @returns {proto.Message.CancelPaymentRequestMessage} CancelPaymentRequestMessage instance */ CancelPaymentRequestMessage.create = function create(properties) { return new CancelPaymentRequestMessage(properties); }; /** * Encodes the specified CancelPaymentRequestMessage message. Does not implicitly {@link proto.Message.CancelPaymentRequestMessage.verify|verify} messages. * @function encode * @memberof proto.Message.CancelPaymentRequestMessage * @static * @param {proto.Message.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.Message.CancelPaymentRequestMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.CancelPaymentRequestMessage * @static * @param {proto.Message.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.Message.CancelPaymentRequestMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.CancelPaymentRequestMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.CancelPaymentRequestMessage * @static * @param {Object.<string,*>} 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.Message.CancelPaymentRequestMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.CancelPaymentRequestMessage} CancelPaymentRequestMessage */ CancelPaymentRequestMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.CancelPaymentRequestMessage) return object; var message = new $root.proto.Message.CancelPaymentRequestMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.Message.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.Message.CancelPaymentRequestMessage * @static * @param {proto.Message.CancelPaymentRequestMessage} message CancelPaymentRequestMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.CancelPaymentRequestMessage * @instance * @returns {Object.<string,*>} JSON object */ CancelPaymentRequestMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return CancelPaymentRequestMessage; })(); Message.Chat = (function() { /** * Properties of a Chat. * @memberof proto.Message * @interface IChat * @property {string|null} [displayName] Chat displayName * @property {string|null} [id] Chat id */ /** * Constructs a new Chat. * @memberof proto.Message * @classdesc Represents a Chat. * @implements IChat * @constructor * @param {proto.Message.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.Message.Chat * @instance */ Chat.prototype.displayName = ""; /** * Chat id. * @member {string} id * @memberof proto.Message.Chat * @instance */ Chat.prototype.id = ""; /** * Creates a new Chat instance using the specified properties. * @function create * @memberof proto.Message.Chat * @static * @param {proto.Message.IChat=} [properties] Properties to set * @returns {proto.Message.Chat} Chat instance */ Chat.create = function create(properties) { return new Chat(properties); }; /** * Encodes the specified Chat message. Does not implicitly {@link proto.Message.Chat.verify|verify} messages. * @function encode * @memberof proto.Message.Chat * @static * @param {proto.Message.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.Message.Chat.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.Chat * @static * @param {proto.Message.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.Message.Chat * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.Chat * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.Chat * @static * @param {Object.<string,*>} 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.Message.Chat * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.Chat} Chat */ Chat.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.Chat) return object; var message = new $root.proto.Message.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.Message.Chat * @static * @param {proto.Message.Chat} message Chat * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.Chat * @instance * @returns {Object.<string,*>} JSON object */ Chat.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Chat; })(); Message.ContactMessage = (function() { /** * Properties of a ContactMessage. * @memberof proto.Message * @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.Message * @classdesc Represents a ContactMessage. * @implements IContactMessage * @constructor * @param {proto.Message.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.Message.ContactMessage * @instance */ ContactMessage.prototype.displayName = ""; /** * ContactMessage vcard. * @member {string} vcard * @memberof proto.Message.ContactMessage * @instance */ ContactMessage.prototype.vcard = ""; /** * ContactMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.ContactMessage * @instance */ ContactMessage.prototype.contextInfo = null; /** * Creates a new ContactMessage instance using the specified properties. * @function create * @memberof proto.Message.ContactMessage * @static * @param {proto.Message.IContactMessage=} [properties] Properties to set * @returns {proto.Message.ContactMessage} ContactMessage instance */ ContactMessage.create = function create(properties) { return new ContactMessage(properties); }; /** * Encodes the specified ContactMessage message. Does not implicitly {@link proto.Message.ContactMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ContactMessage * @static * @param {proto.Message.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.Message.ContactMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ContactMessage * @static * @param {proto.Message.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.Message.ContactMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.ContactMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.ContactMessage * @static * @param {Object.<string,*>} 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.Message.ContactMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ContactMessage} ContactMessage */ ContactMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ContactMessage) return object; var message = new $root.proto.Message.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.Message.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.Message.ContactMessage * @static * @param {proto.Message.ContactMessage} message ContactMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.ContactMessage * @instance * @returns {Object.<string,*>} JSON object */ ContactMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ContactMessage; })(); Message.ContactsArrayMessage = (function() { /** * Properties of a ContactsArrayMessage. * @memberof proto.Message * @interface IContactsArrayMessage * @property {string|null} [displayName] ContactsArrayMessage displayName * @property {Array.<proto.Message.IContactMessage>|null} [contacts] ContactsArrayMessage contacts * @property {proto.IContextInfo|null} [contextInfo] ContactsArrayMessage contextInfo */ /** * Constructs a new ContactsArrayMessage. * @memberof proto.Message * @classdesc Represents a ContactsArrayMessage. * @implements IContactsArrayMessage * @constructor * @param {proto.Message.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.Message.ContactsArrayMessage * @instance */ ContactsArrayMessage.prototype.displayName = ""; /** * ContactsArrayMessage contacts. * @member {Array.<proto.Message.IContactMessage>} contacts * @memberof proto.Message.ContactsArrayMessage * @instance */ ContactsArrayMessage.prototype.contacts = $util.emptyArray; /** * ContactsArrayMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.ContactsArrayMessage * @instance */ ContactsArrayMessage.prototype.contextInfo = null; /** * Creates a new ContactsArrayMessage instance using the specified properties. * @function create * @memberof proto.Message.ContactsArrayMessage * @static * @param {proto.Message.IContactsArrayMessage=} [properties] Properties to set * @returns {proto.Message.ContactsArrayMessage} ContactsArrayMessage instance */ ContactsArrayMessage.create = function create(properties) { return new ContactsArrayMessage(properties); }; /** * Encodes the specified ContactsArrayMessage message. Does not implicitly {@link proto.Message.ContactsArrayMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ContactsArrayMessage * @static * @param {proto.Message.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.Message.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.Message.ContactsArrayMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ContactsArrayMessage * @static * @param {proto.Message.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.Message.ContactsArrayMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.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.Message.ContactsArrayMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.ContactsArrayMessage * @static * @param {Object.<string,*>} 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.Message.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.Message.ContactsArrayMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ContactsArrayMessage} ContactsArrayMessage */ ContactsArrayMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ContactsArrayMessage) return object; var message = new $root.proto.Message.ContactsArrayMessage(); if (object.displayName != null) message.displayName = String(object.displayName); if (object.contacts) { if (!Array.isArray(object.contacts)) throw TypeError(".proto.Message.ContactsArrayMessage.contacts: array expected"); message.contacts = []; for (var i = 0; i < object.contacts.length; ++i) { if (typeof object.contacts[i] !== "object") throw TypeError(".proto.Message.ContactsArrayMessage.contacts: object expected"); message.contacts[i] = $root.proto.Message.ContactMessage.fromObject(object.contacts[i]); } } if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.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.Message.ContactsArrayMessage * @static * @param {proto.Message.ContactsArrayMessage} message ContactsArrayMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.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.Message.ContactsArrayMessage * @instance * @returns {Object.<string,*>} JSON object */ ContactsArrayMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ContactsArrayMessage; })(); Message.DeclinePaymentRequestMessage = (function() { /** * Properties of a DeclinePaymentRequestMessage. * @memberof proto.Message * @interface IDeclinePaymentRequestMessage * @property {proto.IMessageKey|null} [key] DeclinePaymentRequestMessage key */ /** * Constructs a new DeclinePaymentRequestMessage. * @memberof proto.Message * @classdesc Represents a DeclinePaymentRequestMessage. * @implements IDeclinePaymentRequestMessage * @constructor * @param {proto.Message.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.Message.DeclinePaymentRequestMessage * @instance */ DeclinePaymentRequestMessage.prototype.key = null; /** * Creates a new DeclinePaymentRequestMessage instance using the specified properties. * @function create * @memberof proto.Message.DeclinePaymentRequestMessage * @static * @param {proto.Message.IDeclinePaymentRequestMessage=} [properties] Properties to set * @returns {proto.Message.DeclinePaymentRequestMessage} DeclinePaymentRequestMessage instance */ DeclinePaymentRequestMessage.create = function create(properties) { return new DeclinePaymentRequestMessage(properties); }; /** * Encodes the specified DeclinePaymentRequestMessage message. Does not implicitly {@link proto.Message.DeclinePaymentRequestMessage.verify|verify} messages. * @function encode * @memberof proto.Message.DeclinePaymentRequestMessage * @static * @param {proto.Message.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.Message.DeclinePaymentRequestMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.DeclinePaymentRequestMessage * @static * @param {proto.Message.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.Message.DeclinePaymentRequestMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.DeclinePaymentRequestMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.DeclinePaymentRequestMessage * @static * @param {Object.<string,*>} 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.Message.DeclinePaymentRequestMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.DeclinePaymentRequestMessage} DeclinePaymentRequestMessage */ DeclinePaymentRequestMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.DeclinePaymentRequestMessage) return object; var message = new $root.proto.Message.DeclinePaymentRequestMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.Message.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.Message.DeclinePaymentRequestMessage * @static * @param {proto.Message.DeclinePaymentRequestMessage} message DeclinePaymentRequestMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.DeclinePaymentRequestMessage * @instance * @returns {Object.<string,*>} JSON object */ DeclinePaymentRequestMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DeclinePaymentRequestMessage; })(); Message.DeviceSentMessage = (function() { /** * Properties of a DeviceSentMessage. * @memberof proto.Message * @interface IDeviceSentMessage * @property {string|null} [destinationJid] DeviceSentMessage destinationJid * @property {proto.IMessage|null} [message] DeviceSentMessage message * @property {string|null} [phash] DeviceSentMessage phash */ /** * Constructs a new DeviceSentMessage. * @memberof proto.Message * @classdesc Represents a DeviceSentMessage. * @implements IDeviceSentMessage * @constructor * @param {proto.Message.IDeviceSentMessage=} [properties] Properties to set */ function DeviceSentMessage(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]]; } /** * DeviceSentMessage destinationJid. * @member {string} destinationJid * @memberof proto.Message.DeviceSentMessage * @instance */ DeviceSentMessage.prototype.destinationJid = ""; /** * DeviceSentMessage message. * @member {proto.IMessage|null|undefined} message * @memberof proto.Message.DeviceSentMessage * @instance */ DeviceSentMessage.prototype.message = null; /** * DeviceSentMessage phash. * @member {string} phash * @memberof proto.Message.DeviceSentMessage * @instance */ DeviceSentMessage.prototype.phash = ""; /** * Creates a new DeviceSentMessage instance using the specified properties. * @function create * @memberof proto.Message.DeviceSentMessage * @static * @param {proto.Message.IDeviceSentMessage=} [properties] Properties to set * @returns {proto.Message.DeviceSentMessage} DeviceSentMessage instance */ DeviceSentMessage.create = function create(properties) { return new DeviceSentMessage(properties); }; /** * Encodes the specified DeviceSentMessage message. Does not implicitly {@link proto.Message.DeviceSentMessage.verify|verify} messages. * @function encode * @memberof proto.Message.DeviceSentMessage * @static * @param {proto.Message.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); return writer; }; /** * Encodes the specified DeviceSentMessage message, length delimited. Does not implicitly {@link proto.Message.DeviceSentMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.DeviceSentMessage * @static * @param {proto.Message.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.Message.DeviceSentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DeviceSentMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.DeviceSentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.DeviceSentMessage * @static * @param {Object.<string,*>} 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"; return null; }; /** * Creates a DeviceSentMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.DeviceSentMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.DeviceSentMessage} DeviceSentMessage */ DeviceSentMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.DeviceSentMessage) return object; var message = new $root.proto.Message.DeviceSentMessage(); if (object.destinationJid != null) message.destinationJid = String(object.destinationJid); if (object.message != null) { if (typeof object.message !== "object") throw TypeError(".proto.Message.DeviceSentMessage.message: object expected"); message.message = $root.proto.Message.fromObject(object.message); } if (object.phash != null) message.phash = String(object.phash); return message; }; /** * Creates a plain object from a DeviceSentMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.DeviceSentMessage * @static * @param {proto.Message.DeviceSentMessage} message DeviceSentMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ DeviceSentMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; 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; return object; }; /** * Converts this DeviceSentMessage to JSON. * @function toJSON * @memberof proto.Message.DeviceSentMessage * @instance * @returns {Object.<string,*>} JSON object */ DeviceSentMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DeviceSentMessage; })(); Message.DocumentMessage = (function() { /** * Properties of a DocumentMessage. * @memberof proto.Message * @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 * @property {string|null} [caption] DocumentMessage caption */ /** * Constructs a new DocumentMessage. * @memberof proto.Message * @classdesc Represents a DocumentMessage. * @implements IDocumentMessage * @constructor * @param {proto.Message.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.Message.DocumentMessage * @instance */ DocumentMessage.prototype.url = ""; /** * DocumentMessage mimetype. * @member {string} mimetype * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.mimetype = ""; /** * DocumentMessage title. * @member {string} title * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.title = ""; /** * DocumentMessage fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.fileSha256 = $util.newBuffer([]); /** * DocumentMessage fileLength. * @member {number|Long} fileLength * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * DocumentMessage pageCount. * @member {number} pageCount * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.pageCount = 0; /** * DocumentMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.mediaKey = $util.newBuffer([]); /** * DocumentMessage fileName. * @member {string} fileName * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.fileName = ""; /** * DocumentMessage fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.fileEncSha256 = $util.newBuffer([]); /** * DocumentMessage directPath. * @member {string} directPath * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.directPath = ""; /** * DocumentMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * DocumentMessage contactVcard. * @member {boolean} contactVcard * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.contactVcard = false; /** * DocumentMessage thumbnailDirectPath. * @member {string} thumbnailDirectPath * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.thumbnailDirectPath = ""; /** * DocumentMessage thumbnailSha256. * @member {Uint8Array} thumbnailSha256 * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.thumbnailSha256 = $util.newBuffer([]); /** * DocumentMessage thumbnailEncSha256. * @member {Uint8Array} thumbnailEncSha256 * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.thumbnailEncSha256 = $util.newBuffer([]); /** * DocumentMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * DocumentMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.contextInfo = null; /** * DocumentMessage thumbnailHeight. * @member {number} thumbnailHeight * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.thumbnailHeight = 0; /** * DocumentMessage thumbnailWidth. * @member {number} thumbnailWidth * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.thumbnailWidth = 0; /** * DocumentMessage caption. * @member {string} caption * @memberof proto.Message.DocumentMessage * @instance */ DocumentMessage.prototype.caption = ""; /** * Creates a new DocumentMessage instance using the specified properties. * @function create * @memberof proto.Message.DocumentMessage * @static * @param {proto.Message.IDocumentMessage=} [properties] Properties to set * @returns {proto.Message.DocumentMessage} DocumentMessage instance */ DocumentMessage.create = function create(properties) { return new DocumentMessage(properties); }; /** * Encodes the specified DocumentMessage message. Does not implicitly {@link proto.Message.DocumentMessage.verify|verify} messages. * @function encode * @memberof proto.Message.DocumentMessage * @static * @param {proto.Message.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); if (message.caption != null && Object.hasOwnProperty.call(message, "caption")) writer.uint32(/* id 20, wireType 2 =*/162).string(message.caption); return writer; }; /** * Encodes the specified DocumentMessage message, length delimited. Does not implicitly {@link proto.Message.DocumentMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.DocumentMessage * @static * @param {proto.Message.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.Message.DocumentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 20: message.caption = reader.string(); 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.Message.DocumentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.DocumentMessage * @static * @param {Object.<string,*>} 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"; if (message.caption != null && message.hasOwnProperty("caption")) if (!$util.isString(message.caption)) return "caption: string expected"; return null; }; /** * Creates a DocumentMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.DocumentMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.DocumentMessage} DocumentMessage */ DocumentMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.DocumentMessage) return object; var message = new $root.proto.Message.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.Message.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; if (object.caption != null) message.caption = String(object.caption); return message; }; /** * Creates a plain object from a DocumentMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.DocumentMessage * @static * @param {proto.Message.DocumentMessage} message DocumentMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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; object.caption = ""; } 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; if (message.caption != null && message.hasOwnProperty("caption")) object.caption = message.caption; return object; }; /** * Converts this DocumentMessage to JSON. * @function toJSON * @memberof proto.Message.DocumentMessage * @instance * @returns {Object.<string,*>} JSON object */ DocumentMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DocumentMessage; })(); Message.EncReactionMessage = (function() { /** * Properties of an EncReactionMessage. * @memberof proto.Message * @interface IEncReactionMessage * @property {proto.IMessageKey|null} [targetMessageKey] EncReactionMessage targetMessageKey * @property {Uint8Array|null} [encPayload] EncReactionMessage encPayload * @property {Uint8Array|null} [encIv] EncReactionMessage encIv */ /** * Constructs a new EncReactionMessage. * @memberof proto.Message * @classdesc Represents an EncReactionMessage. * @implements IEncReactionMessage * @constructor * @param {proto.Message.IEncReactionMessage=} [properties] Properties to set */ function EncReactionMessage(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]]; } /** * EncReactionMessage targetMessageKey. * @member {proto.IMessageKey|null|undefined} targetMessageKey * @memberof proto.Message.EncReactionMessage * @instance */ EncReactionMessage.prototype.targetMessageKey = null; /** * EncReactionMessage encPayload. * @member {Uint8Array} encPayload * @memberof proto.Message.EncReactionMessage * @instance */ EncReactionMessage.prototype.encPayload = $util.newBuffer([]); /** * EncReactionMessage encIv. * @member {Uint8Array} encIv * @memberof proto.Message.EncReactionMessage * @instance */ EncReactionMessage.prototype.encIv = $util.newBuffer([]); /** * Creates a new EncReactionMessage instance using the specified properties. * @function create * @memberof proto.Message.EncReactionMessage * @static * @param {proto.Message.IEncReactionMessage=} [properties] Properties to set * @returns {proto.Message.EncReactionMessage} EncReactionMessage instance */ EncReactionMessage.create = function create(properties) { return new EncReactionMessage(properties); }; /** * Encodes the specified EncReactionMessage message. Does not implicitly {@link proto.Message.EncReactionMessage.verify|verify} messages. * @function encode * @memberof proto.Message.EncReactionMessage * @static * @param {proto.Message.IEncReactionMessage} message EncReactionMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ EncReactionMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.targetMessageKey != null && Object.hasOwnProperty.call(message, "targetMessageKey")) $root.proto.MessageKey.encode(message.targetMessageKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.encPayload != null && Object.hasOwnProperty.call(message, "encPayload")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.encPayload); if (message.encIv != null && Object.hasOwnProperty.call(message, "encIv")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.encIv); return writer; }; /** * Encodes the specified EncReactionMessage message, length delimited. Does not implicitly {@link proto.Message.EncReactionMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.EncReactionMessage * @static * @param {proto.Message.IEncReactionMessage} message EncReactionMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ EncReactionMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an EncReactionMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.EncReactionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.EncReactionMessage} EncReactionMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ EncReactionMessage.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.EncReactionMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.targetMessageKey = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 2: message.encPayload = reader.bytes(); break; case 3: message.encIv = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an EncReactionMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.EncReactionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.EncReactionMessage} EncReactionMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ EncReactionMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an EncReactionMessage message. * @function verify * @memberof proto.Message.EncReactionMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ EncReactionMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.targetMessageKey != null && message.hasOwnProperty("targetMessageKey")) { var error = $root.proto.MessageKey.verify(message.targetMessageKey); if (error) return "targetMessageKey." + error; } if (message.encPayload != null && message.hasOwnProperty("encPayload")) if (!(message.encPayload && typeof message.encPayload.length === "number" || $util.isString(message.encPayload))) return "encPayload: buffer expected"; if (message.encIv != null && message.hasOwnProperty("encIv")) if (!(message.encIv && typeof message.encIv.length === "number" || $util.isString(message.encIv))) return "encIv: buffer expected"; return null; }; /** * Creates an EncReactionMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.EncReactionMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.EncReactionMessage} EncReactionMessage */ EncReactionMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.EncReactionMessage) return object; var message = new $root.proto.Message.EncReactionMessage(); if (object.targetMessageKey != null) { if (typeof object.targetMessageKey !== "object") throw TypeError(".proto.Message.EncReactionMessage.targetMessageKey: object expected"); message.targetMessageKey = $root.proto.MessageKey.fromObject(object.targetMessageKey); } if (object.encPayload != null) if (typeof object.encPayload === "string") $util.base64.decode(object.encPayload, message.encPayload = $util.newBuffer($util.base64.length(object.encPayload)), 0); else if (object.encPayload.length) message.encPayload = object.encPayload; if (object.encIv != null) if (typeof object.encIv === "string") $util.base64.decode(object.encIv, message.encIv = $util.newBuffer($util.base64.length(object.encIv)), 0); else if (object.encIv.length) message.encIv = object.encIv; return message; }; /** * Creates a plain object from an EncReactionMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.EncReactionMessage * @static * @param {proto.Message.EncReactionMessage} message EncReactionMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ EncReactionMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.targetMessageKey = null; if (options.bytes === String) object.encPayload = ""; else { object.encPayload = []; if (options.bytes !== Array) object.encPayload = $util.newBuffer(object.encPayload); } if (options.bytes === String) object.encIv = ""; else { object.encIv = []; if (options.bytes !== Array) object.encIv = $util.newBuffer(object.encIv); } } if (message.targetMessageKey != null && message.hasOwnProperty("targetMessageKey")) object.targetMessageKey = $root.proto.MessageKey.toObject(message.targetMessageKey, options); if (message.encPayload != null && message.hasOwnProperty("encPayload")) object.encPayload = options.bytes === String ? $util.base64.encode(message.encPayload, 0, message.encPayload.length) : options.bytes === Array ? Array.prototype.slice.call(message.encPayload) : message.encPayload; if (message.encIv != null && message.hasOwnProperty("encIv")) object.encIv = options.bytes === String ? $util.base64.encode(message.encIv, 0, message.encIv.length) : options.bytes === Array ? Array.prototype.slice.call(message.encIv) : message.encIv; return object; }; /** * Converts this EncReactionMessage to JSON. * @function toJSON * @memberof proto.Message.EncReactionMessage * @instance * @returns {Object.<string,*>} JSON object */ EncReactionMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return EncReactionMessage; })(); Message.ExtendedTextMessage = (function() { /** * Properties of an ExtendedTextMessage. * @memberof proto.Message * @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.Message.ExtendedTextMessage.FontType|null} [font] ExtendedTextMessage font * @property {proto.Message.ExtendedTextMessage.PreviewType|null} [previewType] ExtendedTextMessage previewType * @property {Uint8Array|null} [jpegThumbnail] ExtendedTextMessage jpegThumbnail * @property {proto.IContextInfo|null} [contextInfo] ExtendedTextMessage contextInfo * @property {boolean|null} [doNotPlayInline] ExtendedTextMessage doNotPlayInline * @property {string|null} [thumbnailDirectPath] ExtendedTextMessage thumbnailDirectPath * @property {Uint8Array|null} [thumbnailSha256] ExtendedTextMessage thumbnailSha256 * @property {Uint8Array|null} [thumbnailEncSha256] ExtendedTextMessage thumbnailEncSha256 * @property {Uint8Array|null} [mediaKey] ExtendedTextMessage mediaKey * @property {number|Long|null} [mediaKeyTimestamp] ExtendedTextMessage mediaKeyTimestamp * @property {number|null} [thumbnailHeight] ExtendedTextMessage thumbnailHeight * @property {number|null} [thumbnailWidth] ExtendedTextMessage thumbnailWidth * @property {proto.Message.ExtendedTextMessage.InviteLinkGroupType|null} [inviteLinkGroupType] ExtendedTextMessage inviteLinkGroupType * @property {string|null} [inviteLinkParentGroupSubjectV2] ExtendedTextMessage inviteLinkParentGroupSubjectV2 * @property {Uint8Array|null} [inviteLinkParentGroupThumbnailV2] ExtendedTextMessage inviteLinkParentGroupThumbnailV2 * @property {proto.Message.ExtendedTextMessage.InviteLinkGroupType|null} [inviteLinkGroupTypeV2] ExtendedTextMessage inviteLinkGroupTypeV2 * @property {boolean|null} [viewOnce] ExtendedTextMessage viewOnce */ /** * Constructs a new ExtendedTextMessage. * @memberof proto.Message * @classdesc Represents an ExtendedTextMessage. * @implements IExtendedTextMessage * @constructor * @param {proto.Message.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.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.text = ""; /** * ExtendedTextMessage matchedText. * @member {string} matchedText * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.matchedText = ""; /** * ExtendedTextMessage canonicalUrl. * @member {string} canonicalUrl * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.canonicalUrl = ""; /** * ExtendedTextMessage description. * @member {string} description * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.description = ""; /** * ExtendedTextMessage title. * @member {string} title * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.title = ""; /** * ExtendedTextMessage textArgb. * @member {number} textArgb * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.textArgb = 0; /** * ExtendedTextMessage backgroundArgb. * @member {number} backgroundArgb * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.backgroundArgb = 0; /** * ExtendedTextMessage font. * @member {proto.Message.ExtendedTextMessage.FontType} font * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.font = 0; /** * ExtendedTextMessage previewType. * @member {proto.Message.ExtendedTextMessage.PreviewType} previewType * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.previewType = 0; /** * ExtendedTextMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * ExtendedTextMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.contextInfo = null; /** * ExtendedTextMessage doNotPlayInline. * @member {boolean} doNotPlayInline * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.doNotPlayInline = false; /** * ExtendedTextMessage thumbnailDirectPath. * @member {string} thumbnailDirectPath * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.thumbnailDirectPath = ""; /** * ExtendedTextMessage thumbnailSha256. * @member {Uint8Array} thumbnailSha256 * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.thumbnailSha256 = $util.newBuffer([]); /** * ExtendedTextMessage thumbnailEncSha256. * @member {Uint8Array} thumbnailEncSha256 * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.thumbnailEncSha256 = $util.newBuffer([]); /** * ExtendedTextMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.mediaKey = $util.newBuffer([]); /** * ExtendedTextMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * ExtendedTextMessage thumbnailHeight. * @member {number} thumbnailHeight * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.thumbnailHeight = 0; /** * ExtendedTextMessage thumbnailWidth. * @member {number} thumbnailWidth * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.thumbnailWidth = 0; /** * ExtendedTextMessage inviteLinkGroupType. * @member {proto.Message.ExtendedTextMessage.InviteLinkGroupType} inviteLinkGroupType * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.inviteLinkGroupType = 0; /** * ExtendedTextMessage inviteLinkParentGroupSubjectV2. * @member {string} inviteLinkParentGroupSubjectV2 * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.inviteLinkParentGroupSubjectV2 = ""; /** * ExtendedTextMessage inviteLinkParentGroupThumbnailV2. * @member {Uint8Array} inviteLinkParentGroupThumbnailV2 * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.inviteLinkParentGroupThumbnailV2 = $util.newBuffer([]); /** * ExtendedTextMessage inviteLinkGroupTypeV2. * @member {proto.Message.ExtendedTextMessage.InviteLinkGroupType} inviteLinkGroupTypeV2 * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.inviteLinkGroupTypeV2 = 0; /** * ExtendedTextMessage viewOnce. * @member {boolean} viewOnce * @memberof proto.Message.ExtendedTextMessage * @instance */ ExtendedTextMessage.prototype.viewOnce = false; /** * Creates a new ExtendedTextMessage instance using the specified properties. * @function create * @memberof proto.Message.ExtendedTextMessage * @static * @param {proto.Message.IExtendedTextMessage=} [properties] Properties to set * @returns {proto.Message.ExtendedTextMessage} ExtendedTextMessage instance */ ExtendedTextMessage.create = function create(properties) { return new ExtendedTextMessage(properties); }; /** * Encodes the specified ExtendedTextMessage message. Does not implicitly {@link proto.Message.ExtendedTextMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ExtendedTextMessage * @static * @param {proto.Message.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); if (message.thumbnailDirectPath != null && Object.hasOwnProperty.call(message, "thumbnailDirectPath")) writer.uint32(/* id 19, wireType 2 =*/154).string(message.thumbnailDirectPath); if (message.thumbnailSha256 != null && Object.hasOwnProperty.call(message, "thumbnailSha256")) writer.uint32(/* id 20, wireType 2 =*/162).bytes(message.thumbnailSha256); if (message.thumbnailEncSha256 != null && Object.hasOwnProperty.call(message, "thumbnailEncSha256")) writer.uint32(/* id 21, wireType 2 =*/170).bytes(message.thumbnailEncSha256); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 22, wireType 2 =*/178).bytes(message.mediaKey); if (message.mediaKeyTimestamp != null && Object.hasOwnProperty.call(message, "mediaKeyTimestamp")) writer.uint32(/* id 23, wireType 0 =*/184).int64(message.mediaKeyTimestamp); if (message.thumbnailHeight != null && Object.hasOwnProperty.call(message, "thumbnailHeight")) writer.uint32(/* id 24, wireType 0 =*/192).uint32(message.thumbnailHeight); if (message.thumbnailWidth != null && Object.hasOwnProperty.call(message, "thumbnailWidth")) writer.uint32(/* id 25, wireType 0 =*/200).uint32(message.thumbnailWidth); if (message.inviteLinkGroupType != null && Object.hasOwnProperty.call(message, "inviteLinkGroupType")) writer.uint32(/* id 26, wireType 0 =*/208).int32(message.inviteLinkGroupType); if (message.inviteLinkParentGroupSubjectV2 != null && Object.hasOwnProperty.call(message, "inviteLinkParentGroupSubjectV2")) writer.uint32(/* id 27, wireType 2 =*/218).string(message.inviteLinkParentGroupSubjectV2); if (message.inviteLinkParentGroupThumbnailV2 != null && Object.hasOwnProperty.call(message, "inviteLinkParentGroupThumbnailV2")) writer.uint32(/* id 28, wireType 2 =*/226).bytes(message.inviteLinkParentGroupThumbnailV2); if (message.inviteLinkGroupTypeV2 != null && Object.hasOwnProperty.call(message, "inviteLinkGroupTypeV2")) writer.uint32(/* id 29, wireType 0 =*/232).int32(message.inviteLinkGroupTypeV2); if (message.viewOnce != null && Object.hasOwnProperty.call(message, "viewOnce")) writer.uint32(/* id 30, wireType 0 =*/240).bool(message.viewOnce); return writer; }; /** * Encodes the specified ExtendedTextMessage message, length delimited. Does not implicitly {@link proto.Message.ExtendedTextMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ExtendedTextMessage * @static * @param {proto.Message.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.Message.ExtendedTextMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 19: message.thumbnailDirectPath = reader.string(); break; case 20: message.thumbnailSha256 = reader.bytes(); break; case 21: message.thumbnailEncSha256 = reader.bytes(); break; case 22: message.mediaKey = reader.bytes(); break; case 23: message.mediaKeyTimestamp = reader.int64(); break; case 24: message.thumbnailHeight = reader.uint32(); break; case 25: message.thumbnailWidth = reader.uint32(); break; case 26: message.inviteLinkGroupType = reader.int32(); break; case 27: message.inviteLinkParentGroupSubjectV2 = reader.string(); break; case 28: message.inviteLinkParentGroupThumbnailV2 = reader.bytes(); break; case 29: message.inviteLinkGroupTypeV2 = reader.int32(); break; case 30: message.viewOnce = 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.Message.ExtendedTextMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.ExtendedTextMessage * @static * @param {Object.<string,*>} 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: case 6: case 7: case 8: case 9: case 10: 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"; 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.mediaKey != null && message.hasOwnProperty("mediaKey")) if (!(message.mediaKey && typeof message.mediaKey.length === "number" || $util.isString(message.mediaKey))) return "mediaKey: buffer 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.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"; if (message.inviteLinkGroupType != null && message.hasOwnProperty("inviteLinkGroupType")) switch (message.inviteLinkGroupType) { default: return "inviteLinkGroupType: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.inviteLinkParentGroupSubjectV2 != null && message.hasOwnProperty("inviteLinkParentGroupSubjectV2")) if (!$util.isString(message.inviteLinkParentGroupSubjectV2)) return "inviteLinkParentGroupSubjectV2: string expected"; if (message.inviteLinkParentGroupThumbnailV2 != null && message.hasOwnProperty("inviteLinkParentGroupThumbnailV2")) if (!(message.inviteLinkParentGroupThumbnailV2 && typeof message.inviteLinkParentGroupThumbnailV2.length === "number" || $util.isString(message.inviteLinkParentGroupThumbnailV2))) return "inviteLinkParentGroupThumbnailV2: buffer expected"; if (message.inviteLinkGroupTypeV2 != null && message.hasOwnProperty("inviteLinkGroupTypeV2")) switch (message.inviteLinkGroupTypeV2) { default: return "inviteLinkGroupTypeV2: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.viewOnce != null && message.hasOwnProperty("viewOnce")) if (typeof message.viewOnce !== "boolean") return "viewOnce: boolean expected"; return null; }; /** * Creates an ExtendedTextMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ExtendedTextMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ExtendedTextMessage} ExtendedTextMessage */ ExtendedTextMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ExtendedTextMessage) return object; var message = new $root.proto.Message.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; case "SYSTEM_BOLD": case 6: message.font = 6; break; case "MORNINGBREEZE_REGULAR": case 7: message.font = 7; break; case "CALISTOGA_REGULAR": case 8: message.font = 8; break; case "EXO2_EXTRABOLD": case 9: message.font = 9; break; case "COURIERPRIME_BOLD": case 10: message.font = 10; 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.Message.ExtendedTextMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.doNotPlayInline != null) message.doNotPlayInline = Boolean(object.doNotPlayInline); 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.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.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.thumbnailHeight != null) message.thumbnailHeight = object.thumbnailHeight >>> 0; if (object.thumbnailWidth != null) message.thumbnailWidth = object.thumbnailWidth >>> 0; switch (object.inviteLinkGroupType) { case "DEFAULT": case 0: message.inviteLinkGroupType = 0; break; case "PARENT": case 1: message.inviteLinkGroupType = 1; break; case "SUB": case 2: message.inviteLinkGroupType = 2; break; case "DEFAULT_SUB": case 3: message.inviteLinkGroupType = 3; break; } if (object.inviteLinkParentGroupSubjectV2 != null) message.inviteLinkParentGroupSubjectV2 = String(object.inviteLinkParentGroupSubjectV2); if (object.inviteLinkParentGroupThumbnailV2 != null) if (typeof object.inviteLinkParentGroupThumbnailV2 === "string") $util.base64.decode(object.inviteLinkParentGroupThumbnailV2, message.inviteLinkParentGroupThumbnailV2 = $util.newBuffer($util.base64.length(object.inviteLinkParentGroupThumbnailV2)), 0); else if (object.inviteLinkParentGroupThumbnailV2.length) message.inviteLinkParentGroupThumbnailV2 = object.inviteLinkParentGroupThumbnailV2; switch (object.inviteLinkGroupTypeV2) { case "DEFAULT": case 0: message.inviteLinkGroupTypeV2 = 0; break; case "PARENT": case 1: message.inviteLinkGroupTypeV2 = 1; break; case "SUB": case 2: message.inviteLinkGroupTypeV2 = 2; break; case "DEFAULT_SUB": case 3: message.inviteLinkGroupTypeV2 = 3; break; } if (object.viewOnce != null) message.viewOnce = Boolean(object.viewOnce); return message; }; /** * Creates a plain object from an ExtendedTextMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ExtendedTextMessage * @static * @param {proto.Message.ExtendedTextMessage} message ExtendedTextMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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; 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.mediaKey = ""; else { object.mediaKey = []; if (options.bytes !== Array) object.mediaKey = $util.newBuffer(object.mediaKey); } 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.thumbnailHeight = 0; object.thumbnailWidth = 0; object.inviteLinkGroupType = options.enums === String ? "DEFAULT" : 0; object.inviteLinkParentGroupSubjectV2 = ""; if (options.bytes === String) object.inviteLinkParentGroupThumbnailV2 = ""; else { object.inviteLinkParentGroupThumbnailV2 = []; if (options.bytes !== Array) object.inviteLinkParentGroupThumbnailV2 = $util.newBuffer(object.inviteLinkParentGroupThumbnailV2); } object.inviteLinkGroupTypeV2 = options.enums === String ? "DEFAULT" : 0; object.viewOnce = 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.Message.ExtendedTextMessage.FontType[message.font] : message.font; if (message.previewType != null && message.hasOwnProperty("previewType")) object.previewType = options.enums === String ? $root.proto.Message.ExtendedTextMessage.PreviewType[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; 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.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.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.thumbnailHeight != null && message.hasOwnProperty("thumbnailHeight")) object.thumbnailHeight = message.thumbnailHeight; if (message.thumbnailWidth != null && message.hasOwnProperty("thumbnailWidth")) object.thumbnailWidth = message.thumbnailWidth; if (message.inviteLinkGroupType != null && message.hasOwnProperty("inviteLinkGroupType")) object.inviteLinkGroupType = options.enums === String ? $root.proto.Message.ExtendedTextMessage.InviteLinkGroupType[message.inviteLinkGroupType] : message.inviteLinkGroupType; if (message.inviteLinkParentGroupSubjectV2 != null && message.hasOwnProperty("inviteLinkParentGroupSubjectV2")) object.inviteLinkParentGroupSubjectV2 = message.inviteLinkParentGroupSubjectV2; if (message.inviteLinkParentGroupThumbnailV2 != null && message.hasOwnProperty("inviteLinkParentGroupThumbnailV2")) object.inviteLinkParentGroupThumbnailV2 = options.bytes === String ? $util.base64.encode(message.inviteLinkParentGroupThumbnailV2, 0, message.inviteLinkParentGroupThumbnailV2.length) : options.bytes === Array ? Array.prototype.slice.call(message.inviteLinkParentGroupThumbnailV2) : message.inviteLinkParentGroupThumbnailV2; if (message.inviteLinkGroupTypeV2 != null && message.hasOwnProperty("inviteLinkGroupTypeV2")) object.inviteLinkGroupTypeV2 = options.enums === String ? $root.proto.Message.ExtendedTextMessage.InviteLinkGroupType[message.inviteLinkGroupTypeV2] : message.inviteLinkGroupTypeV2; if (message.viewOnce != null && message.hasOwnProperty("viewOnce")) object.viewOnce = message.viewOnce; return object; }; /** * Converts this ExtendedTextMessage to JSON. * @function toJSON * @memberof proto.Message.ExtendedTextMessage * @instance * @returns {Object.<string,*>} JSON object */ ExtendedTextMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * FontType enum. * @name proto.Message.ExtendedTextMessage.FontType * @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 * @property {number} SYSTEM_BOLD=6 SYSTEM_BOLD value * @property {number} MORNINGBREEZE_REGULAR=7 MORNINGBREEZE_REGULAR value * @property {number} CALISTOGA_REGULAR=8 CALISTOGA_REGULAR value * @property {number} EXO2_EXTRABOLD=9 EXO2_EXTRABOLD value * @property {number} COURIERPRIME_BOLD=10 COURIERPRIME_BOLD value */ ExtendedTextMessage.FontType = (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; values[valuesById[6] = "SYSTEM_BOLD"] = 6; values[valuesById[7] = "MORNINGBREEZE_REGULAR"] = 7; values[valuesById[8] = "CALISTOGA_REGULAR"] = 8; values[valuesById[9] = "EXO2_EXTRABOLD"] = 9; values[valuesById[10] = "COURIERPRIME_BOLD"] = 10; return values; })(); /** * InviteLinkGroupType enum. * @name proto.Message.ExtendedTextMessage.InviteLinkGroupType * @enum {number} * @property {number} DEFAULT=0 DEFAULT value * @property {number} PARENT=1 PARENT value * @property {number} SUB=2 SUB value * @property {number} DEFAULT_SUB=3 DEFAULT_SUB value */ ExtendedTextMessage.InviteLinkGroupType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "DEFAULT"] = 0; values[valuesById[1] = "PARENT"] = 1; values[valuesById[2] = "SUB"] = 2; values[valuesById[3] = "DEFAULT_SUB"] = 3; return values; })(); /** * PreviewType enum. * @name proto.Message.ExtendedTextMessage.PreviewType * @enum {number} * @property {number} NONE=0 NONE value * @property {number} VIDEO=1 VIDEO value */ ExtendedTextMessage.PreviewType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "NONE"] = 0; values[valuesById[1] = "VIDEO"] = 1; return values; })(); return ExtendedTextMessage; })(); Message.FutureProofMessage = (function() { /** * Properties of a FutureProofMessage. * @memberof proto.Message * @interface IFutureProofMessage * @property {proto.IMessage|null} [message] FutureProofMessage message */ /** * Constructs a new FutureProofMessage. * @memberof proto.Message * @classdesc Represents a FutureProofMessage. * @implements IFutureProofMessage * @constructor * @param {proto.Message.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.Message.FutureProofMessage * @instance */ FutureProofMessage.prototype.message = null; /** * Creates a new FutureProofMessage instance using the specified properties. * @function create * @memberof proto.Message.FutureProofMessage * @static * @param {proto.Message.IFutureProofMessage=} [properties] Properties to set * @returns {proto.Message.FutureProofMessage} FutureProofMessage instance */ FutureProofMessage.create = function create(properties) { return new FutureProofMessage(properties); }; /** * Encodes the specified FutureProofMessage message. Does not implicitly {@link proto.Message.FutureProofMessage.verify|verify} messages. * @function encode * @memberof proto.Message.FutureProofMessage * @static * @param {proto.Message.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.Message.FutureProofMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.FutureProofMessage * @static * @param {proto.Message.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.Message.FutureProofMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.FutureProofMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.FutureProofMessage * @static * @param {Object.<string,*>} 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.Message.FutureProofMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.FutureProofMessage} FutureProofMessage */ FutureProofMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.FutureProofMessage) return object; var message = new $root.proto.Message.FutureProofMessage(); if (object.message != null) { if (typeof object.message !== "object") throw TypeError(".proto.Message.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.Message.FutureProofMessage * @static * @param {proto.Message.FutureProofMessage} message FutureProofMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.FutureProofMessage * @instance * @returns {Object.<string,*>} JSON object */ FutureProofMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return FutureProofMessage; })(); Message.GroupInviteMessage = (function() { /** * Properties of a GroupInviteMessage. * @memberof proto.Message * @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 * @property {proto.Message.GroupInviteMessage.GroupType|null} [groupType] GroupInviteMessage groupType */ /** * Constructs a new GroupInviteMessage. * @memberof proto.Message * @classdesc Represents a GroupInviteMessage. * @implements IGroupInviteMessage * @constructor * @param {proto.Message.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.Message.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.groupJid = ""; /** * GroupInviteMessage inviteCode. * @member {string} inviteCode * @memberof proto.Message.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.inviteCode = ""; /** * GroupInviteMessage inviteExpiration. * @member {number|Long} inviteExpiration * @memberof proto.Message.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.inviteExpiration = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * GroupInviteMessage groupName. * @member {string} groupName * @memberof proto.Message.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.groupName = ""; /** * GroupInviteMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.Message.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * GroupInviteMessage caption. * @member {string} caption * @memberof proto.Message.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.caption = ""; /** * GroupInviteMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.contextInfo = null; /** * GroupInviteMessage groupType. * @member {proto.Message.GroupInviteMessage.GroupType} groupType * @memberof proto.Message.GroupInviteMessage * @instance */ GroupInviteMessage.prototype.groupType = 0; /** * Creates a new GroupInviteMessage instance using the specified properties. * @function create * @memberof proto.Message.GroupInviteMessage * @static * @param {proto.Message.IGroupInviteMessage=} [properties] Properties to set * @returns {proto.Message.GroupInviteMessage} GroupInviteMessage instance */ GroupInviteMessage.create = function create(properties) { return new GroupInviteMessage(properties); }; /** * Encodes the specified GroupInviteMessage message. Does not implicitly {@link proto.Message.GroupInviteMessage.verify|verify} messages. * @function encode * @memberof proto.Message.GroupInviteMessage * @static * @param {proto.Message.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(); if (message.groupType != null && Object.hasOwnProperty.call(message, "groupType")) writer.uint32(/* id 8, wireType 0 =*/64).int32(message.groupType); return writer; }; /** * Encodes the specified GroupInviteMessage message, length delimited. Does not implicitly {@link proto.Message.GroupInviteMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.GroupInviteMessage * @static * @param {proto.Message.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.Message.GroupInviteMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 8: message.groupType = reader.int32(); 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.Message.GroupInviteMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.GroupInviteMessage * @static * @param {Object.<string,*>} 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; } if (message.groupType != null && message.hasOwnProperty("groupType")) switch (message.groupType) { default: return "groupType: enum value expected"; case 0: case 1: break; } return null; }; /** * Creates a GroupInviteMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.GroupInviteMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.GroupInviteMessage} GroupInviteMessage */ GroupInviteMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.GroupInviteMessage) return object; var message = new $root.proto.Message.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.Message.GroupInviteMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } switch (object.groupType) { case "DEFAULT": case 0: message.groupType = 0; break; case "PARENT": case 1: message.groupType = 1; break; } return message; }; /** * Creates a plain object from a GroupInviteMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.GroupInviteMessage * @static * @param {proto.Message.GroupInviteMessage} message GroupInviteMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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; object.groupType = options.enums === String ? "DEFAULT" : 0; } 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); if (message.groupType != null && message.hasOwnProperty("groupType")) object.groupType = options.enums === String ? $root.proto.Message.GroupInviteMessage.GroupType[message.groupType] : message.groupType; return object; }; /** * Converts this GroupInviteMessage to JSON. * @function toJSON * @memberof proto.Message.GroupInviteMessage * @instance * @returns {Object.<string,*>} JSON object */ GroupInviteMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * GroupType enum. * @name proto.Message.GroupInviteMessage.GroupType * @enum {number} * @property {number} DEFAULT=0 DEFAULT value * @property {number} PARENT=1 PARENT value */ GroupInviteMessage.GroupType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "DEFAULT"] = 0; values[valuesById[1] = "PARENT"] = 1; return values; })(); return GroupInviteMessage; })(); Message.HighlyStructuredMessage = (function() { /** * Properties of a HighlyStructuredMessage. * @memberof proto.Message * @interface IHighlyStructuredMessage * @property {string|null} [namespace] HighlyStructuredMessage namespace * @property {string|null} [elementName] HighlyStructuredMessage elementName * @property {Array.<string>|null} [params] HighlyStructuredMessage params * @property {string|null} [fallbackLg] HighlyStructuredMessage fallbackLg * @property {string|null} [fallbackLc] HighlyStructuredMessage fallbackLc * @property {Array.<proto.Message.HighlyStructuredMessage.IHSMLocalizableParameter>|null} [localizableParams] HighlyStructuredMessage localizableParams * @property {string|null} [deterministicLg] HighlyStructuredMessage deterministicLg * @property {string|null} [deterministicLc] HighlyStructuredMessage deterministicLc * @property {proto.Message.ITemplateMessage|null} [hydratedHsm] HighlyStructuredMessage hydratedHsm */ /** * Constructs a new HighlyStructuredMessage. * @memberof proto.Message * @classdesc Represents a HighlyStructuredMessage. * @implements IHighlyStructuredMessage * @constructor * @param {proto.Message.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.Message.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.namespace = ""; /** * HighlyStructuredMessage elementName. * @member {string} elementName * @memberof proto.Message.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.elementName = ""; /** * HighlyStructuredMessage params. * @member {Array.<string>} params * @memberof proto.Message.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.params = $util.emptyArray; /** * HighlyStructuredMessage fallbackLg. * @member {string} fallbackLg * @memberof proto.Message.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.fallbackLg = ""; /** * HighlyStructuredMessage fallbackLc. * @member {string} fallbackLc * @memberof proto.Message.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.fallbackLc = ""; /** * HighlyStructuredMessage localizableParams. * @member {Array.<proto.Message.HighlyStructuredMessage.IHSMLocalizableParameter>} localizableParams * @memberof proto.Message.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.localizableParams = $util.emptyArray; /** * HighlyStructuredMessage deterministicLg. * @member {string} deterministicLg * @memberof proto.Message.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.deterministicLg = ""; /** * HighlyStructuredMessage deterministicLc. * @member {string} deterministicLc * @memberof proto.Message.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.deterministicLc = ""; /** * HighlyStructuredMessage hydratedHsm. * @member {proto.Message.ITemplateMessage|null|undefined} hydratedHsm * @memberof proto.Message.HighlyStructuredMessage * @instance */ HighlyStructuredMessage.prototype.hydratedHsm = null; /** * Creates a new HighlyStructuredMessage instance using the specified properties. * @function create * @memberof proto.Message.HighlyStructuredMessage * @static * @param {proto.Message.IHighlyStructuredMessage=} [properties] Properties to set * @returns {proto.Message.HighlyStructuredMessage} HighlyStructuredMessage instance */ HighlyStructuredMessage.create = function create(properties) { return new HighlyStructuredMessage(properties); }; /** * Encodes the specified HighlyStructuredMessage message. Does not implicitly {@link proto.Message.HighlyStructuredMessage.verify|verify} messages. * @function encode * @memberof proto.Message.HighlyStructuredMessage * @static * @param {proto.Message.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.Message.HighlyStructuredMessage.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.Message.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.Message.HighlyStructuredMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.HighlyStructuredMessage * @static * @param {proto.Message.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.Message.HighlyStructuredMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.HighlyStructuredMessage.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.Message.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.Message.HighlyStructuredMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.HighlyStructuredMessage * @static * @param {Object.<string,*>} 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.Message.HighlyStructuredMessage.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.Message.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.Message.HighlyStructuredMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.HighlyStructuredMessage} HighlyStructuredMessage */ HighlyStructuredMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.HighlyStructuredMessage) return object; var message = new $root.proto.Message.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.Message.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.Message.HighlyStructuredMessage.localizableParams: array expected"); message.localizableParams = []; for (var i = 0; i < object.localizableParams.length; ++i) { if (typeof object.localizableParams[i] !== "object") throw TypeError(".proto.Message.HighlyStructuredMessage.localizableParams: object expected"); message.localizableParams[i] = $root.proto.Message.HighlyStructuredMessage.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.Message.HighlyStructuredMessage.hydratedHsm: object expected"); message.hydratedHsm = $root.proto.Message.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.Message.HighlyStructuredMessage * @static * @param {proto.Message.HighlyStructuredMessage} message HighlyStructuredMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.HighlyStructuredMessage.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.Message.TemplateMessage.toObject(message.hydratedHsm, options); return object; }; /** * Converts this HighlyStructuredMessage to JSON. * @function toJSON * @memberof proto.Message.HighlyStructuredMessage * @instance * @returns {Object.<string,*>} JSON object */ HighlyStructuredMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; HighlyStructuredMessage.HSMLocalizableParameter = (function() { /** * Properties of a HSMLocalizableParameter. * @memberof proto.Message.HighlyStructuredMessage * @interface IHSMLocalizableParameter * @property {string|null} ["default"] HSMLocalizableParameter default * @property {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.IHSMCurrency|null} [currency] HSMLocalizableParameter currency * @property {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.IHSMDateTime|null} [dateTime] HSMLocalizableParameter dateTime */ /** * Constructs a new HSMLocalizableParameter. * @memberof proto.Message.HighlyStructuredMessage * @classdesc Represents a HSMLocalizableParameter. * @implements IHSMLocalizableParameter * @constructor * @param {proto.Message.HighlyStructuredMessage.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.Message.HighlyStructuredMessage.HSMLocalizableParameter * @instance */ HSMLocalizableParameter.prototype["default"] = ""; /** * HSMLocalizableParameter currency. * @member {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.IHSMCurrency|null|undefined} currency * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter * @instance */ HSMLocalizableParameter.prototype.currency = null; /** * HSMLocalizableParameter dateTime. * @member {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.IHSMDateTime|null|undefined} dateTime * @memberof proto.Message.HighlyStructuredMessage.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.Message.HighlyStructuredMessage.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.Message.HighlyStructuredMessage.HSMLocalizableParameter * @static * @param {proto.Message.HighlyStructuredMessage.IHSMLocalizableParameter=} [properties] Properties to set * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter} HSMLocalizableParameter instance */ HSMLocalizableParameter.create = function create(properties) { return new HSMLocalizableParameter(properties); }; /** * Encodes the specified HSMLocalizableParameter message. Does not implicitly {@link proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.verify|verify} messages. * @function encode * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter * @static * @param {proto.Message.HighlyStructuredMessage.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency.encode(message.currency, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.dateTime != null && Object.hasOwnProperty.call(message, "dateTime")) $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter * @static * @param {proto.Message.HighlyStructuredMessage.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.Message.HighlyStructuredMessage.HSMLocalizableParameter * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.HighlyStructuredMessage.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.Message.HighlyStructuredMessage.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency.decode(reader, reader.uint32()); break; case 3: message.dateTime = $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.HighlyStructuredMessage.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.Message.HighlyStructuredMessage.HSMLocalizableParameter * @static * @param {Object.<string,*>} 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.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter} HSMLocalizableParameter */ HSMLocalizableParameter.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter) return object; var message = new $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter(); if (object["default"] != null) message["default"] = String(object["default"]); if (object.currency != null) { if (typeof object.currency !== "object") throw TypeError(".proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.currency: object expected"); message.currency = $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency.fromObject(object.currency); } if (object.dateTime != null) { if (typeof object.dateTime !== "object") throw TypeError(".proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.dateTime: object expected"); message.dateTime = $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter} message HSMLocalizableParameter * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency.toObject(message.currency, options); if (options.oneofs) object.paramOneof = "currency"; } if (message.dateTime != null && message.hasOwnProperty("dateTime")) { object.dateTime = $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.toObject(message.dateTime, options); if (options.oneofs) object.paramOneof = "dateTime"; } return object; }; /** * Converts this HSMLocalizableParameter to JSON. * @function toJSON * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter * @instance * @returns {Object.<string,*>} JSON object */ HSMLocalizableParameter.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; HSMLocalizableParameter.HSMCurrency = (function() { /** * Properties of a HSMCurrency. * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter * @interface IHSMCurrency * @property {string|null} [currencyCode] HSMCurrency currencyCode * @property {number|Long|null} [amount1000] HSMCurrency amount1000 */ /** * Constructs a new HSMCurrency. * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter * @classdesc Represents a HSMCurrency. * @implements IHSMCurrency * @constructor * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency * @instance */ HSMCurrency.prototype.currencyCode = ""; /** * HSMCurrency amount1000. * @member {number|Long} amount1000 * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.IHSMCurrency=} [properties] Properties to set * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency} HSMCurrency instance */ HSMCurrency.create = function create(properties) { return new HSMCurrency(properties); }; /** * Encodes the specified HSMCurrency message. Does not implicitly {@link proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency.verify|verify} messages. * @function encode * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency * @static * @param {Object.<string,*>} 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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency} HSMCurrency */ HSMCurrency.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency) return object; var message = new $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency} message HSMCurrency * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency * @instance * @returns {Object.<string,*>} JSON object */ HSMCurrency.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HSMCurrency; })(); HSMLocalizableParameter.HSMDateTime = (function() { /** * Properties of a HSMDateTime. * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter * @interface IHSMDateTime * @property {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.IHSMDateTimeComponent|null} [component] HSMDateTime component * @property {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.IHSMDateTimeUnixEpoch|null} [unixEpoch] HSMDateTime unixEpoch */ /** * Constructs a new HSMDateTime. * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter * @classdesc Represents a HSMDateTime. * @implements IHSMDateTime * @constructor * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.IHSMDateTimeComponent|null|undefined} component * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @instance */ HSMDateTime.prototype.component = null; /** * HSMDateTime unixEpoch. * @member {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.IHSMDateTimeUnixEpoch|null|undefined} unixEpoch * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.IHSMDateTime=} [properties] Properties to set * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime} HSMDateTime instance */ HSMDateTime.create = function create(properties) { return new HSMDateTime(properties); }; /** * Encodes the specified HSMDateTime message. Does not implicitly {@link proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.verify|verify} messages. * @function encode * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.encode(message.component, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.unixEpoch != null && Object.hasOwnProperty.call(message, "unixEpoch")) $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.component = $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.decode(reader, reader.uint32()); break; case 2: message.unixEpoch = $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @static * @param {Object.<string,*>} 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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime} HSMDateTime */ HSMDateTime.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime) return object; var message = new $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime(); if (object.component != null) { if (typeof object.component !== "object") throw TypeError(".proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.component: object expected"); message.component = $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.fromObject(object.component); } if (object.unixEpoch != null) { if (typeof object.unixEpoch !== "object") throw TypeError(".proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.unixEpoch: object expected"); message.unixEpoch = $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime} message HSMDateTime * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ HSMDateTime.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (message.component != null && message.hasOwnProperty("component")) { object.component = $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.toObject(message.component, options); if (options.oneofs) object.datetimeOneof = "component"; } if (message.unixEpoch != null && message.hasOwnProperty("unixEpoch")) { object.unixEpoch = $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch.toObject(message.unixEpoch, options); if (options.oneofs) object.datetimeOneof = "unixEpoch"; } return object; }; /** * Converts this HSMDateTime to JSON. * @function toJSON * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @instance * @returns {Object.<string,*>} JSON object */ HSMDateTime.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; HSMDateTime.HSMDateTimeComponent = (function() { /** * Properties of a HSMDateTimeComponent. * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @interface IHSMDateTimeComponent * @property {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType|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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType|null} [calendar] HSMDateTimeComponent calendar */ /** * Constructs a new HSMDateTimeComponent. * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @classdesc Represents a HSMDateTimeComponent. * @implements IHSMDateTimeComponent * @constructor * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType} dayOfWeek * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.dayOfWeek = 1; /** * HSMDateTimeComponent year. * @member {number} year * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.year = 0; /** * HSMDateTimeComponent month. * @member {number} month * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.month = 0; /** * HSMDateTimeComponent dayOfMonth. * @member {number} dayOfMonth * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.dayOfMonth = 0; /** * HSMDateTimeComponent hour. * @member {number} hour * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.hour = 0; /** * HSMDateTimeComponent minute. * @member {number} minute * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.minute = 0; /** * HSMDateTimeComponent calendar. * @member {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType} calendar * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @instance */ HSMDateTimeComponent.prototype.calendar = 1; /** * Creates a new HSMDateTimeComponent instance using the specified properties. * @function create * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.IHSMDateTimeComponent=} [properties] Properties to set * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent} HSMDateTimeComponent instance */ HSMDateTimeComponent.create = function create(properties) { return new HSMDateTimeComponent(properties); }; /** * Encodes the specified HSMDateTimeComponent message. Does not implicitly {@link proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.verify|verify} messages. * @function encode * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @static * @param {Object.<string,*>} 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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent} HSMDateTimeComponent */ HSMDateTimeComponent.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent) return object; var message = new $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent} message HSMDateTimeComponent * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType[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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType[message.calendar] : message.calendar; return object; }; /** * Converts this HSMDateTimeComponent to JSON. * @function toJSON * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent * @instance * @returns {Object.<string,*>} JSON object */ HSMDateTimeComponent.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * CalendarType enum. * @name proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType * @enum {number} * @property {number} GREGORIAN=1 GREGORIAN value * @property {number} SOLAR_HIJRI=2 SOLAR_HIJRI value */ HSMDateTimeComponent.CalendarType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[1] = "GREGORIAN"] = 1; values[valuesById[2] = "SOLAR_HIJRI"] = 2; return values; })(); /** * DayOfWeekType enum. * @name proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType * @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.DayOfWeekType = (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; })(); return HSMDateTimeComponent; })(); HSMDateTime.HSMDateTimeUnixEpoch = (function() { /** * Properties of a HSMDateTimeUnixEpoch. * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @interface IHSMDateTimeUnixEpoch * @property {number|Long|null} [timestamp] HSMDateTimeUnixEpoch timestamp */ /** * Constructs a new HSMDateTimeUnixEpoch. * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime * @classdesc Represents a HSMDateTimeUnixEpoch. * @implements IHSMDateTimeUnixEpoch * @constructor * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.IHSMDateTimeUnixEpoch=} [properties] Properties to set * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch} HSMDateTimeUnixEpoch instance */ HSMDateTimeUnixEpoch.create = function create(properties) { return new HSMDateTimeUnixEpoch(properties); }; /** * Encodes the specified HSMDateTimeUnixEpoch message. Does not implicitly {@link proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch.verify|verify} messages. * @function encode * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch * @static * @param {Object.<string,*>} 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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch} HSMDateTimeUnixEpoch */ HSMDateTimeUnixEpoch.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch) return object; var message = new $root.proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch * @static * @param {proto.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch} message HSMDateTimeUnixEpoch * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch * @instance * @returns {Object.<string,*>} JSON object */ HSMDateTimeUnixEpoch.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HSMDateTimeUnixEpoch; })(); return HSMDateTime; })(); return HSMLocalizableParameter; })(); return HighlyStructuredMessage; })(); Message.HistorySyncNotification = (function() { /** * Properties of a HistorySyncNotification. * @memberof proto.Message * @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.Message.HistorySyncNotification.HistorySyncType|null} [syncType] HistorySyncNotification syncType * @property {number|null} [chunkOrder] HistorySyncNotification chunkOrder * @property {string|null} [originalMessageId] HistorySyncNotification originalMessageId * @property {number|null} [progress] HistorySyncNotification progress * @property {number|Long|null} [oldestMsgInChunkTimestampSec] HistorySyncNotification oldestMsgInChunkTimestampSec * @property {Uint8Array|null} [initialHistBootstrapInlinePayload] HistorySyncNotification initialHistBootstrapInlinePayload * @property {string|null} [peerDataRequestSessionId] HistorySyncNotification peerDataRequestSessionId */ /** * Constructs a new HistorySyncNotification. * @memberof proto.Message * @classdesc Represents a HistorySyncNotification. * @implements IHistorySyncNotification * @constructor * @param {proto.Message.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.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.fileSha256 = $util.newBuffer([]); /** * HistorySyncNotification fileLength. * @member {number|Long} fileLength * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * HistorySyncNotification mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.mediaKey = $util.newBuffer([]); /** * HistorySyncNotification fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.fileEncSha256 = $util.newBuffer([]); /** * HistorySyncNotification directPath. * @member {string} directPath * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.directPath = ""; /** * HistorySyncNotification syncType. * @member {proto.Message.HistorySyncNotification.HistorySyncType} syncType * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.syncType = 0; /** * HistorySyncNotification chunkOrder. * @member {number} chunkOrder * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.chunkOrder = 0; /** * HistorySyncNotification originalMessageId. * @member {string} originalMessageId * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.originalMessageId = ""; /** * HistorySyncNotification progress. * @member {number} progress * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.progress = 0; /** * HistorySyncNotification oldestMsgInChunkTimestampSec. * @member {number|Long} oldestMsgInChunkTimestampSec * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.oldestMsgInChunkTimestampSec = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * HistorySyncNotification initialHistBootstrapInlinePayload. * @member {Uint8Array} initialHistBootstrapInlinePayload * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.initialHistBootstrapInlinePayload = $util.newBuffer([]); /** * HistorySyncNotification peerDataRequestSessionId. * @member {string} peerDataRequestSessionId * @memberof proto.Message.HistorySyncNotification * @instance */ HistorySyncNotification.prototype.peerDataRequestSessionId = ""; /** * Creates a new HistorySyncNotification instance using the specified properties. * @function create * @memberof proto.Message.HistorySyncNotification * @static * @param {proto.Message.IHistorySyncNotification=} [properties] Properties to set * @returns {proto.Message.HistorySyncNotification} HistorySyncNotification instance */ HistorySyncNotification.create = function create(properties) { return new HistorySyncNotification(properties); }; /** * Encodes the specified HistorySyncNotification message. Does not implicitly {@link proto.Message.HistorySyncNotification.verify|verify} messages. * @function encode * @memberof proto.Message.HistorySyncNotification * @static * @param {proto.Message.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); if (message.progress != null && Object.hasOwnProperty.call(message, "progress")) writer.uint32(/* id 9, wireType 0 =*/72).uint32(message.progress); if (message.oldestMsgInChunkTimestampSec != null && Object.hasOwnProperty.call(message, "oldestMsgInChunkTimestampSec")) writer.uint32(/* id 10, wireType 0 =*/80).int64(message.oldestMsgInChunkTimestampSec); if (message.initialHistBootstrapInlinePayload != null && Object.hasOwnProperty.call(message, "initialHistBootstrapInlinePayload")) writer.uint32(/* id 11, wireType 2 =*/90).bytes(message.initialHistBootstrapInlinePayload); if (message.peerDataRequestSessionId != null && Object.hasOwnProperty.call(message, "peerDataRequestSessionId")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.peerDataRequestSessionId); return writer; }; /** * Encodes the specified HistorySyncNotification message, length delimited. Does not implicitly {@link proto.Message.HistorySyncNotification.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.HistorySyncNotification * @static * @param {proto.Message.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.Message.HistorySyncNotification * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 9: message.progress = reader.uint32(); break; case 10: message.oldestMsgInChunkTimestampSec = reader.int64(); break; case 11: message.initialHistBootstrapInlinePayload = reader.bytes(); break; case 12: message.peerDataRequestSessionId = 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.Message.HistorySyncNotification * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.HistorySyncNotification * @static * @param {Object.<string,*>} 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: case 4: case 5: case 6: 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"; if (message.progress != null && message.hasOwnProperty("progress")) if (!$util.isInteger(message.progress)) return "progress: integer expected"; if (message.oldestMsgInChunkTimestampSec != null && message.hasOwnProperty("oldestMsgInChunkTimestampSec")) if (!$util.isInteger(message.oldestMsgInChunkTimestampSec) && !(message.oldestMsgInChunkTimestampSec && $util.isInteger(message.oldestMsgInChunkTimestampSec.low) && $util.isInteger(message.oldestMsgInChunkTimestampSec.high))) return "oldestMsgInChunkTimestampSec: integer|Long expected"; if (message.initialHistBootstrapInlinePayload != null && message.hasOwnProperty("initialHistBootstrapInlinePayload")) if (!(message.initialHistBootstrapInlinePayload && typeof message.initialHistBootstrapInlinePayload.length === "number" || $util.isString(message.initialHistBootstrapInlinePayload))) return "initialHistBootstrapInlinePayload: buffer expected"; if (message.peerDataRequestSessionId != null && message.hasOwnProperty("peerDataRequestSessionId")) if (!$util.isString(message.peerDataRequestSessionId)) return "peerDataRequestSessionId: string expected"; return null; }; /** * Creates a HistorySyncNotification message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.HistorySyncNotification * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.HistorySyncNotification} HistorySyncNotification */ HistorySyncNotification.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.HistorySyncNotification) return object; var message = new $root.proto.Message.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; case "PUSH_NAME": case 4: message.syncType = 4; break; case "NON_BLOCKING_DATA": case 5: message.syncType = 5; break; case "ON_DEMAND": case 6: message.syncType = 6; break; } if (object.chunkOrder != null) message.chunkOrder = object.chunkOrder >>> 0; if (object.originalMessageId != null) message.originalMessageId = String(object.originalMessageId); if (object.progress != null) message.progress = object.progress >>> 0; if (object.oldestMsgInChunkTimestampSec != null) if ($util.Long) (message.oldestMsgInChunkTimestampSec = $util.Long.fromValue(object.oldestMsgInChunkTimestampSec)).unsigned = false; else if (typeof object.oldestMsgInChunkTimestampSec === "string") message.oldestMsgInChunkTimestampSec = parseInt(object.oldestMsgInChunkTimestampSec, 10); else if (typeof object.oldestMsgInChunkTimestampSec === "number") message.oldestMsgInChunkTimestampSec = object.oldestMsgInChunkTimestampSec; else if (typeof object.oldestMsgInChunkTimestampSec === "object") message.oldestMsgInChunkTimestampSec = new $util.LongBits(object.oldestMsgInChunkTimestampSec.low >>> 0, object.oldestMsgInChunkTimestampSec.high >>> 0).toNumber(); if (object.initialHistBootstrapInlinePayload != null) if (typeof object.initialHistBootstrapInlinePayload === "string") $util.base64.decode(object.initialHistBootstrapInlinePayload, message.initialHistBootstrapInlinePayload = $util.newBuffer($util.base64.length(object.initialHistBootstrapInlinePayload)), 0); else if (object.initialHistBootstrapInlinePayload.length) message.initialHistBootstrapInlinePayload = object.initialHistBootstrapInlinePayload; if (object.peerDataRequestSessionId != null) message.peerDataRequestSessionId = String(object.peerDataRequestSessionId); return message; }; /** * Creates a plain object from a HistorySyncNotification message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.HistorySyncNotification * @static * @param {proto.Message.HistorySyncNotification} message HistorySyncNotification * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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 = ""; object.progress = 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.oldestMsgInChunkTimestampSec = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.oldestMsgInChunkTimestampSec = options.longs === String ? "0" : 0; if (options.bytes === String) object.initialHistBootstrapInlinePayload = ""; else { object.initialHistBootstrapInlinePayload = []; if (options.bytes !== Array) object.initialHistBootstrapInlinePayload = $util.newBuffer(object.initialHistBootstrapInlinePayload); } object.peerDataRequestSessionId = ""; } 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.Message.HistorySyncNotification.HistorySyncType[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; if (message.progress != null && message.hasOwnProperty("progress")) object.progress = message.progress; if (message.oldestMsgInChunkTimestampSec != null && message.hasOwnProperty("oldestMsgInChunkTimestampSec")) if (typeof message.oldestMsgInChunkTimestampSec === "number") object.oldestMsgInChunkTimestampSec = options.longs === String ? String(message.oldestMsgInChunkTimestampSec) : message.oldestMsgInChunkTimestampSec; else object.oldestMsgInChunkTimestampSec = options.longs === String ? $util.Long.prototype.toString.call(message.oldestMsgInChunkTimestampSec) : options.longs === Number ? new $util.LongBits(message.oldestMsgInChunkTimestampSec.low >>> 0, message.oldestMsgInChunkTimestampSec.high >>> 0).toNumber() : message.oldestMsgInChunkTimestampSec; if (message.initialHistBootstrapInlinePayload != null && message.hasOwnProperty("initialHistBootstrapInlinePayload")) object.initialHistBootstrapInlinePayload = options.bytes === String ? $util.base64.encode(message.initialHistBootstrapInlinePayload, 0, message.initialHistBootstrapInlinePayload.length) : options.bytes === Array ? Array.prototype.slice.call(message.initialHistBootstrapInlinePayload) : message.initialHistBootstrapInlinePayload; if (message.peerDataRequestSessionId != null && message.hasOwnProperty("peerDataRequestSessionId")) object.peerDataRequestSessionId = message.peerDataRequestSessionId; return object; }; /** * Converts this HistorySyncNotification to JSON. * @function toJSON * @memberof proto.Message.HistorySyncNotification * @instance * @returns {Object.<string,*>} JSON object */ HistorySyncNotification.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * HistorySyncType enum. * @name proto.Message.HistorySyncNotification.HistorySyncType * @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 * @property {number} PUSH_NAME=4 PUSH_NAME value * @property {number} NON_BLOCKING_DATA=5 NON_BLOCKING_DATA value * @property {number} ON_DEMAND=6 ON_DEMAND value */ HistorySyncNotification.HistorySyncType = (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; values[valuesById[4] = "PUSH_NAME"] = 4; values[valuesById[5] = "NON_BLOCKING_DATA"] = 5; values[valuesById[6] = "ON_DEMAND"] = 6; return values; })(); return HistorySyncNotification; })(); Message.ImageMessage = (function() { /** * Properties of an ImageMessage. * @memberof proto.Message * @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.<proto.IInteractiveAnnotation>|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.<number>|null} [scanLengths] ImageMessage scanLengths * @property {Uint8Array|null} [midQualityFileSha256] ImageMessage midQualityFileSha256 * @property {Uint8Array|null} [midQualityFileEncSha256] ImageMessage midQualityFileEncSha256 * @property {boolean|null} [viewOnce] ImageMessage viewOnce * @property {string|null} [thumbnailDirectPath] ImageMessage thumbnailDirectPath * @property {Uint8Array|null} [thumbnailSha256] ImageMessage thumbnailSha256 * @property {Uint8Array|null} [thumbnailEncSha256] ImageMessage thumbnailEncSha256 * @property {string|null} [staticUrl] ImageMessage staticUrl */ /** * Constructs a new ImageMessage. * @memberof proto.Message * @classdesc Represents an ImageMessage. * @implements IImageMessage * @constructor * @param {proto.Message.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.Message.ImageMessage * @instance */ ImageMessage.prototype.url = ""; /** * ImageMessage mimetype. * @member {string} mimetype * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.mimetype = ""; /** * ImageMessage caption. * @member {string} caption * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.caption = ""; /** * ImageMessage fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.fileSha256 = $util.newBuffer([]); /** * ImageMessage fileLength. * @member {number|Long} fileLength * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * ImageMessage height. * @member {number} height * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.height = 0; /** * ImageMessage width. * @member {number} width * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.width = 0; /** * ImageMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.mediaKey = $util.newBuffer([]); /** * ImageMessage fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.fileEncSha256 = $util.newBuffer([]); /** * ImageMessage interactiveAnnotations. * @member {Array.<proto.IInteractiveAnnotation>} interactiveAnnotations * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.interactiveAnnotations = $util.emptyArray; /** * ImageMessage directPath. * @member {string} directPath * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.directPath = ""; /** * ImageMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * ImageMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * ImageMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.contextInfo = null; /** * ImageMessage firstScanSidecar. * @member {Uint8Array} firstScanSidecar * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.firstScanSidecar = $util.newBuffer([]); /** * ImageMessage firstScanLength. * @member {number} firstScanLength * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.firstScanLength = 0; /** * ImageMessage experimentGroupId. * @member {number} experimentGroupId * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.experimentGroupId = 0; /** * ImageMessage scansSidecar. * @member {Uint8Array} scansSidecar * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.scansSidecar = $util.newBuffer([]); /** * ImageMessage scanLengths. * @member {Array.<number>} scanLengths * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.scanLengths = $util.emptyArray; /** * ImageMessage midQualityFileSha256. * @member {Uint8Array} midQualityFileSha256 * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.midQualityFileSha256 = $util.newBuffer([]); /** * ImageMessage midQualityFileEncSha256. * @member {Uint8Array} midQualityFileEncSha256 * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.midQualityFileEncSha256 = $util.newBuffer([]); /** * ImageMessage viewOnce. * @member {boolean} viewOnce * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.viewOnce = false; /** * ImageMessage thumbnailDirectPath. * @member {string} thumbnailDirectPath * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.thumbnailDirectPath = ""; /** * ImageMessage thumbnailSha256. * @member {Uint8Array} thumbnailSha256 * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.thumbnailSha256 = $util.newBuffer([]); /** * ImageMessage thumbnailEncSha256. * @member {Uint8Array} thumbnailEncSha256 * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.thumbnailEncSha256 = $util.newBuffer([]); /** * ImageMessage staticUrl. * @member {string} staticUrl * @memberof proto.Message.ImageMessage * @instance */ ImageMessage.prototype.staticUrl = ""; /** * Creates a new ImageMessage instance using the specified properties. * @function create * @memberof proto.Message.ImageMessage * @static * @param {proto.Message.IImageMessage=} [properties] Properties to set * @returns {proto.Message.ImageMessage} ImageMessage instance */ ImageMessage.create = function create(properties) { return new ImageMessage(properties); }; /** * Encodes the specified ImageMessage message. Does not implicitly {@link proto.Message.ImageMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ImageMessage * @static * @param {proto.Message.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); if (message.thumbnailDirectPath != null && Object.hasOwnProperty.call(message, "thumbnailDirectPath")) writer.uint32(/* id 26, wireType 2 =*/210).string(message.thumbnailDirectPath); if (message.thumbnailSha256 != null && Object.hasOwnProperty.call(message, "thumbnailSha256")) writer.uint32(/* id 27, wireType 2 =*/218).bytes(message.thumbnailSha256); if (message.thumbnailEncSha256 != null && Object.hasOwnProperty.call(message, "thumbnailEncSha256")) writer.uint32(/* id 28, wireType 2 =*/226).bytes(message.thumbnailEncSha256); if (message.staticUrl != null && Object.hasOwnProperty.call(message, "staticUrl")) writer.uint32(/* id 29, wireType 2 =*/234).string(message.staticUrl); return writer; }; /** * Encodes the specified ImageMessage message, length delimited. Does not implicitly {@link proto.Message.ImageMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ImageMessage * @static * @param {proto.Message.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.Message.ImageMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 26: message.thumbnailDirectPath = reader.string(); break; case 27: message.thumbnailSha256 = reader.bytes(); break; case 28: message.thumbnailEncSha256 = reader.bytes(); break; case 29: message.staticUrl = reader.string(); 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.Message.ImageMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.ImageMessage * @static * @param {Object.<string,*>} 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"; 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.staticUrl != null && message.hasOwnProperty("staticUrl")) if (!$util.isString(message.staticUrl)) return "staticUrl: string expected"; return null; }; /** * Creates an ImageMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ImageMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ImageMessage} ImageMessage */ ImageMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ImageMessage) return object; var message = new $root.proto.Message.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.Message.ImageMessage.interactiveAnnotations: array expected"); message.interactiveAnnotations = []; for (var i = 0; i < object.interactiveAnnotations.length; ++i) { if (typeof object.interactiveAnnotations[i] !== "object") throw TypeError(".proto.Message.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.Message.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.Message.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); 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.staticUrl != null) message.staticUrl = String(object.staticUrl); return message; }; /** * Creates a plain object from an ImageMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ImageMessage * @static * @param {proto.Message.ImageMessage} message ImageMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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; 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); } object.staticUrl = ""; } 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; 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.staticUrl != null && message.hasOwnProperty("staticUrl")) object.staticUrl = message.staticUrl; return object; }; /** * Converts this ImageMessage to JSON. * @function toJSON * @memberof proto.Message.ImageMessage * @instance * @returns {Object.<string,*>} JSON object */ ImageMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ImageMessage; })(); Message.InitialSecurityNotificationSettingSync = (function() { /** * Properties of an InitialSecurityNotificationSettingSync. * @memberof proto.Message * @interface IInitialSecurityNotificationSettingSync * @property {boolean|null} [securityNotificationEnabled] InitialSecurityNotificationSettingSync securityNotificationEnabled */ /** * Constructs a new InitialSecurityNotificationSettingSync. * @memberof proto.Message * @classdesc Represents an InitialSecurityNotificationSettingSync. * @implements IInitialSecurityNotificationSettingSync * @constructor * @param {proto.Message.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.Message.InitialSecurityNotificationSettingSync * @instance */ InitialSecurityNotificationSettingSync.prototype.securityNotificationEnabled = false; /** * Creates a new InitialSecurityNotificationSettingSync instance using the specified properties. * @function create * @memberof proto.Message.InitialSecurityNotificationSettingSync * @static * @param {proto.Message.IInitialSecurityNotificationSettingSync=} [properties] Properties to set * @returns {proto.Message.InitialSecurityNotificationSettingSync} InitialSecurityNotificationSettingSync instance */ InitialSecurityNotificationSettingSync.create = function create(properties) { return new InitialSecurityNotificationSettingSync(properties); }; /** * Encodes the specified InitialSecurityNotificationSettingSync message. Does not implicitly {@link proto.Message.InitialSecurityNotificationSettingSync.verify|verify} messages. * @function encode * @memberof proto.Message.InitialSecurityNotificationSettingSync * @static * @param {proto.Message.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.Message.InitialSecurityNotificationSettingSync.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InitialSecurityNotificationSettingSync * @static * @param {proto.Message.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.Message.InitialSecurityNotificationSettingSync * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.InitialSecurityNotificationSettingSync * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.InitialSecurityNotificationSettingSync * @static * @param {Object.<string,*>} 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.Message.InitialSecurityNotificationSettingSync * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InitialSecurityNotificationSettingSync} InitialSecurityNotificationSettingSync */ InitialSecurityNotificationSettingSync.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InitialSecurityNotificationSettingSync) return object; var message = new $root.proto.Message.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.Message.InitialSecurityNotificationSettingSync * @static * @param {proto.Message.InitialSecurityNotificationSettingSync} message InitialSecurityNotificationSettingSync * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.InitialSecurityNotificationSettingSync * @instance * @returns {Object.<string,*>} JSON object */ InitialSecurityNotificationSettingSync.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return InitialSecurityNotificationSettingSync; })(); Message.InteractiveMessage = (function() { /** * Properties of an InteractiveMessage. * @memberof proto.Message * @interface IInteractiveMessage * @property {proto.Message.InteractiveMessage.IHeader|null} [header] InteractiveMessage header * @property {proto.Message.InteractiveMessage.IBody|null} [body] InteractiveMessage body * @property {proto.Message.InteractiveMessage.IFooter|null} [footer] InteractiveMessage footer * @property {proto.IContextInfo|null} [contextInfo] InteractiveMessage contextInfo * @property {proto.Message.InteractiveMessage.IShopMessage|null} [shopStorefrontMessage] InteractiveMessage shopStorefrontMessage * @property {proto.Message.InteractiveMessage.ICollectionMessage|null} [collectionMessage] InteractiveMessage collectionMessage * @property {proto.Message.InteractiveMessage.INativeFlowMessage|null} [nativeFlowMessage] InteractiveMessage nativeFlowMessage * @property {proto.Message.InteractiveMessage.ICarouselMessage|null} [carouselMessage] InteractiveMessage carouselMessage */ /** * Constructs a new InteractiveMessage. * @memberof proto.Message * @classdesc Represents an InteractiveMessage. * @implements IInteractiveMessage * @constructor * @param {proto.Message.IInteractiveMessage=} [properties] Properties to set */ function InteractiveMessage(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]]; } /** * InteractiveMessage header. * @member {proto.Message.InteractiveMessage.IHeader|null|undefined} header * @memberof proto.Message.InteractiveMessage * @instance */ InteractiveMessage.prototype.header = null; /** * InteractiveMessage body. * @member {proto.Message.InteractiveMessage.IBody|null|undefined} body * @memberof proto.Message.InteractiveMessage * @instance */ InteractiveMessage.prototype.body = null; /** * InteractiveMessage footer. * @member {proto.Message.InteractiveMessage.IFooter|null|undefined} footer * @memberof proto.Message.InteractiveMessage * @instance */ InteractiveMessage.prototype.footer = null; /** * InteractiveMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.InteractiveMessage * @instance */ InteractiveMessage.prototype.contextInfo = null; /** * InteractiveMessage shopStorefrontMessage. * @member {proto.Message.InteractiveMessage.IShopMessage|null|undefined} shopStorefrontMessage * @memberof proto.Message.InteractiveMessage * @instance */ InteractiveMessage.prototype.shopStorefrontMessage = null; /** * InteractiveMessage collectionMessage. * @member {proto.Message.InteractiveMessage.ICollectionMessage|null|undefined} collectionMessage * @memberof proto.Message.InteractiveMessage * @instance */ InteractiveMessage.prototype.collectionMessage = null; /** * InteractiveMessage nativeFlowMessage. * @member {proto.Message.InteractiveMessage.INativeFlowMessage|null|undefined} nativeFlowMessage * @memberof proto.Message.InteractiveMessage * @instance */ InteractiveMessage.prototype.nativeFlowMessage = null; /** * InteractiveMessage carouselMessage. * @member {proto.Message.InteractiveMessage.ICarouselMessage|null|undefined} carouselMessage * @memberof proto.Message.InteractiveMessage * @instance */ InteractiveMessage.prototype.carouselMessage = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * InteractiveMessage interactiveMessage. * @member {"shopStorefrontMessage"|"collectionMessage"|"nativeFlowMessage"|"carouselMessage"|undefined} interactiveMessage * @memberof proto.Message.InteractiveMessage * @instance */ Object.defineProperty(InteractiveMessage.prototype, "interactiveMessage", { get: $util.oneOfGetter($oneOfFields = ["shopStorefrontMessage", "collectionMessage", "nativeFlowMessage", "carouselMessage"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new InteractiveMessage instance using the specified properties. * @function create * @memberof proto.Message.InteractiveMessage * @static * @param {proto.Message.IInteractiveMessage=} [properties] Properties to set * @returns {proto.Message.InteractiveMessage} InteractiveMessage instance */ InteractiveMessage.create = function create(properties) { return new InteractiveMessage(properties); }; /** * Encodes the specified InteractiveMessage message. Does not implicitly {@link proto.Message.InteractiveMessage.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveMessage * @static * @param {proto.Message.IInteractiveMessage} message InteractiveMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InteractiveMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.header != null && Object.hasOwnProperty.call(message, "header")) $root.proto.Message.InteractiveMessage.Header.encode(message.header, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.body != null && Object.hasOwnProperty.call(message, "body")) $root.proto.Message.InteractiveMessage.Body.encode(message.body, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.footer != null && Object.hasOwnProperty.call(message, "footer")) $root.proto.Message.InteractiveMessage.Footer.encode(message.footer, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.shopStorefrontMessage != null && Object.hasOwnProperty.call(message, "shopStorefrontMessage")) $root.proto.Message.InteractiveMessage.ShopMessage.encode(message.shopStorefrontMessage, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.collectionMessage != null && Object.hasOwnProperty.call(message, "collectionMessage")) $root.proto.Message.InteractiveMessage.CollectionMessage.encode(message.collectionMessage, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.nativeFlowMessage != null && Object.hasOwnProperty.call(message, "nativeFlowMessage")) $root.proto.Message.InteractiveMessage.NativeFlowMessage.encode(message.nativeFlowMessage, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.carouselMessage != null && Object.hasOwnProperty.call(message, "carouselMessage")) $root.proto.Message.InteractiveMessage.CarouselMessage.encode(message.carouselMessage, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); return writer; }; /** * Encodes the specified InteractiveMessage message, length delimited. Does not implicitly {@link proto.Message.InteractiveMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveMessage * @static * @param {proto.Message.IInteractiveMessage} message InteractiveMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InteractiveMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an InteractiveMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveMessage} InteractiveMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InteractiveMessage.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.InteractiveMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.header = $root.proto.Message.InteractiveMessage.Header.decode(reader, reader.uint32()); break; case 2: message.body = $root.proto.Message.InteractiveMessage.Body.decode(reader, reader.uint32()); break; case 3: message.footer = $root.proto.Message.InteractiveMessage.Footer.decode(reader, reader.uint32()); break; case 15: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 4: message.shopStorefrontMessage = $root.proto.Message.InteractiveMessage.ShopMessage.decode(reader, reader.uint32()); break; case 5: message.collectionMessage = $root.proto.Message.InteractiveMessage.CollectionMessage.decode(reader, reader.uint32()); break; case 6: message.nativeFlowMessage = $root.proto.Message.InteractiveMessage.NativeFlowMessage.decode(reader, reader.uint32()); break; case 7: message.carouselMessage = $root.proto.Message.InteractiveMessage.CarouselMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an InteractiveMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveMessage} InteractiveMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InteractiveMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an InteractiveMessage message. * @function verify * @memberof proto.Message.InteractiveMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ InteractiveMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.header != null && message.hasOwnProperty("header")) { var error = $root.proto.Message.InteractiveMessage.Header.verify(message.header); if (error) return "header." + error; } if (message.body != null && message.hasOwnProperty("body")) { var error = $root.proto.Message.InteractiveMessage.Body.verify(message.body); if (error) return "body." + error; } if (message.footer != null && message.hasOwnProperty("footer")) { var error = $root.proto.Message.InteractiveMessage.Footer.verify(message.footer); if (error) return "footer." + error; } if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } if (message.shopStorefrontMessage != null && message.hasOwnProperty("shopStorefrontMessage")) { properties.interactiveMessage = 1; { var error = $root.proto.Message.InteractiveMessage.ShopMessage.verify(message.shopStorefrontMessage); if (error) return "shopStorefrontMessage." + error; } } if (message.collectionMessage != null && message.hasOwnProperty("collectionMessage")) { if (properties.interactiveMessage === 1) return "interactiveMessage: multiple values"; properties.interactiveMessage = 1; { var error = $root.proto.Message.InteractiveMessage.CollectionMessage.verify(message.collectionMessage); if (error) return "collectionMessage." + error; } } if (message.nativeFlowMessage != null && message.hasOwnProperty("nativeFlowMessage")) { if (properties.interactiveMessage === 1) return "interactiveMessage: multiple values"; properties.interactiveMessage = 1; { var error = $root.proto.Message.InteractiveMessage.NativeFlowMessage.verify(message.nativeFlowMessage); if (error) return "nativeFlowMessage." + error; } } if (message.carouselMessage != null && message.hasOwnProperty("carouselMessage")) { if (properties.interactiveMessage === 1) return "interactiveMessage: multiple values"; properties.interactiveMessage = 1; { var error = $root.proto.Message.InteractiveMessage.CarouselMessage.verify(message.carouselMessage); if (error) return "carouselMessage." + error; } } return null; }; /** * Creates an InteractiveMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveMessage} InteractiveMessage */ InteractiveMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveMessage) return object; var message = new $root.proto.Message.InteractiveMessage(); if (object.header != null) { if (typeof object.header !== "object") throw TypeError(".proto.Message.InteractiveMessage.header: object expected"); message.header = $root.proto.Message.InteractiveMessage.Header.fromObject(object.header); } if (object.body != null) { if (typeof object.body !== "object") throw TypeError(".proto.Message.InteractiveMessage.body: object expected"); message.body = $root.proto.Message.InteractiveMessage.Body.fromObject(object.body); } if (object.footer != null) { if (typeof object.footer !== "object") throw TypeError(".proto.Message.InteractiveMessage.footer: object expected"); message.footer = $root.proto.Message.InteractiveMessage.Footer.fromObject(object.footer); } if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.InteractiveMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.shopStorefrontMessage != null) { if (typeof object.shopStorefrontMessage !== "object") throw TypeError(".proto.Message.InteractiveMessage.shopStorefrontMessage: object expected"); message.shopStorefrontMessage = $root.proto.Message.InteractiveMessage.ShopMessage.fromObject(object.shopStorefrontMessage); } if (object.collectionMessage != null) { if (typeof object.collectionMessage !== "object") throw TypeError(".proto.Message.InteractiveMessage.collectionMessage: object expected"); message.collectionMessage = $root.proto.Message.InteractiveMessage.CollectionMessage.fromObject(object.collectionMessage); } if (object.nativeFlowMessage != null) { if (typeof object.nativeFlowMessage !== "object") throw TypeError(".proto.Message.InteractiveMessage.nativeFlowMessage: object expected"); message.nativeFlowMessage = $root.proto.Message.InteractiveMessage.NativeFlowMessage.fromObject(object.nativeFlowMessage); } if (object.carouselMessage != null) { if (typeof object.carouselMessage !== "object") throw TypeError(".proto.Message.InteractiveMessage.carouselMessage: object expected"); message.carouselMessage = $root.proto.Message.InteractiveMessage.CarouselMessage.fromObject(object.carouselMessage); } return message; }; /** * Creates a plain object from an InteractiveMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveMessage * @static * @param {proto.Message.InteractiveMessage} message InteractiveMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ InteractiveMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.header = null; object.body = null; object.footer = null; object.contextInfo = null; } if (message.header != null && message.hasOwnProperty("header")) object.header = $root.proto.Message.InteractiveMessage.Header.toObject(message.header, options); if (message.body != null && message.hasOwnProperty("body")) object.body = $root.proto.Message.InteractiveMessage.Body.toObject(message.body, options); if (message.footer != null && message.hasOwnProperty("footer")) object.footer = $root.proto.Message.InteractiveMessage.Footer.toObject(message.footer, options); if (message.shopStorefrontMessage != null && message.hasOwnProperty("shopStorefrontMessage")) { object.shopStorefrontMessage = $root.proto.Message.InteractiveMessage.ShopMessage.toObject(message.shopStorefrontMessage, options); if (options.oneofs) object.interactiveMessage = "shopStorefrontMessage"; } if (message.collectionMessage != null && message.hasOwnProperty("collectionMessage")) { object.collectionMessage = $root.proto.Message.InteractiveMessage.CollectionMessage.toObject(message.collectionMessage, options); if (options.oneofs) object.interactiveMessage = "collectionMessage"; } if (message.nativeFlowMessage != null && message.hasOwnProperty("nativeFlowMessage")) { object.nativeFlowMessage = $root.proto.Message.InteractiveMessage.NativeFlowMessage.toObject(message.nativeFlowMessage, options); if (options.oneofs) object.interactiveMessage = "nativeFlowMessage"; } if (message.carouselMessage != null && message.hasOwnProperty("carouselMessage")) { object.carouselMessage = $root.proto.Message.InteractiveMessage.CarouselMessage.toObject(message.carouselMessage, options); if (options.oneofs) object.interactiveMessage = "carouselMessage"; } if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this InteractiveMessage to JSON. * @function toJSON * @memberof proto.Message.InteractiveMessage * @instance * @returns {Object.<string,*>} JSON object */ InteractiveMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; InteractiveMessage.Body = (function() { /** * Properties of a Body. * @memberof proto.Message.InteractiveMessage * @interface IBody * @property {string|null} [text] Body text */ /** * Constructs a new Body. * @memberof proto.Message.InteractiveMessage * @classdesc Represents a Body. * @implements IBody * @constructor * @param {proto.Message.InteractiveMessage.IBody=} [properties] Properties to set */ function Body(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]]; } /** * Body text. * @member {string} text * @memberof proto.Message.InteractiveMessage.Body * @instance */ Body.prototype.text = ""; /** * Creates a new Body instance using the specified properties. * @function create * @memberof proto.Message.InteractiveMessage.Body * @static * @param {proto.Message.InteractiveMessage.IBody=} [properties] Properties to set * @returns {proto.Message.InteractiveMessage.Body} Body instance */ Body.create = function create(properties) { return new Body(properties); }; /** * Encodes the specified Body message. Does not implicitly {@link proto.Message.InteractiveMessage.Body.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveMessage.Body * @static * @param {proto.Message.InteractiveMessage.IBody} message Body message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Body.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); return writer; }; /** * Encodes the specified Body message, length delimited. Does not implicitly {@link proto.Message.InteractiveMessage.Body.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveMessage.Body * @static * @param {proto.Message.InteractiveMessage.IBody} message Body message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Body.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Body message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveMessage.Body * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveMessage.Body} Body * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Body.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.InteractiveMessage.Body(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.text = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Body message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveMessage.Body * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveMessage.Body} Body * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Body.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Body message. * @function verify * @memberof proto.Message.InteractiveMessage.Body * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Body.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"; return null; }; /** * Creates a Body message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveMessage.Body * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveMessage.Body} Body */ Body.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveMessage.Body) return object; var message = new $root.proto.Message.InteractiveMessage.Body(); if (object.text != null) message.text = String(object.text); return message; }; /** * Creates a plain object from a Body message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveMessage.Body * @static * @param {proto.Message.InteractiveMessage.Body} message Body * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Body.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.text = ""; if (message.text != null && message.hasOwnProperty("text")) object.text = message.text; return object; }; /** * Converts this Body to JSON. * @function toJSON * @memberof proto.Message.InteractiveMessage.Body * @instance * @returns {Object.<string,*>} JSON object */ Body.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Body; })(); InteractiveMessage.CarouselMessage = (function() { /** * Properties of a CarouselMessage. * @memberof proto.Message.InteractiveMessage * @interface ICarouselMessage * @property {Array.<proto.Message.IInteractiveMessage>|null} [cards] CarouselMessage cards * @property {number|null} [messageVersion] CarouselMessage messageVersion */ /** * Constructs a new CarouselMessage. * @memberof proto.Message.InteractiveMessage * @classdesc Represents a CarouselMessage. * @implements ICarouselMessage * @constructor * @param {proto.Message.InteractiveMessage.ICarouselMessage=} [properties] Properties to set */ function CarouselMessage(properties) { this.cards = []; 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]]; } /** * CarouselMessage cards. * @member {Array.<proto.Message.IInteractiveMessage>} cards * @memberof proto.Message.InteractiveMessage.CarouselMessage * @instance */ CarouselMessage.prototype.cards = $util.emptyArray; /** * CarouselMessage messageVersion. * @member {number} messageVersion * @memberof proto.Message.InteractiveMessage.CarouselMessage * @instance */ CarouselMessage.prototype.messageVersion = 0; /** * Creates a new CarouselMessage instance using the specified properties. * @function create * @memberof proto.Message.InteractiveMessage.CarouselMessage * @static * @param {proto.Message.InteractiveMessage.ICarouselMessage=} [properties] Properties to set * @returns {proto.Message.InteractiveMessage.CarouselMessage} CarouselMessage instance */ CarouselMessage.create = function create(properties) { return new CarouselMessage(properties); }; /** * Encodes the specified CarouselMessage message. Does not implicitly {@link proto.Message.InteractiveMessage.CarouselMessage.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveMessage.CarouselMessage * @static * @param {proto.Message.InteractiveMessage.ICarouselMessage} message CarouselMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CarouselMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.cards != null && message.cards.length) for (var i = 0; i < message.cards.length; ++i) $root.proto.Message.InteractiveMessage.encode(message.cards[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.messageVersion != null && Object.hasOwnProperty.call(message, "messageVersion")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.messageVersion); return writer; }; /** * Encodes the specified CarouselMessage message, length delimited. Does not implicitly {@link proto.Message.InteractiveMessage.CarouselMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveMessage.CarouselMessage * @static * @param {proto.Message.InteractiveMessage.ICarouselMessage} message CarouselMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CarouselMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a CarouselMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveMessage.CarouselMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveMessage.CarouselMessage} CarouselMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CarouselMessage.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.InteractiveMessage.CarouselMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.cards && message.cards.length)) message.cards = []; message.cards.push($root.proto.Message.InteractiveMessage.decode(reader, reader.uint32())); break; case 2: message.messageVersion = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a CarouselMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveMessage.CarouselMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveMessage.CarouselMessage} CarouselMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CarouselMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a CarouselMessage message. * @function verify * @memberof proto.Message.InteractiveMessage.CarouselMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ CarouselMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.cards != null && message.hasOwnProperty("cards")) { if (!Array.isArray(message.cards)) return "cards: array expected"; for (var i = 0; i < message.cards.length; ++i) { var error = $root.proto.Message.InteractiveMessage.verify(message.cards[i]); if (error) return "cards." + error; } } if (message.messageVersion != null && message.hasOwnProperty("messageVersion")) if (!$util.isInteger(message.messageVersion)) return "messageVersion: integer expected"; return null; }; /** * Creates a CarouselMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveMessage.CarouselMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveMessage.CarouselMessage} CarouselMessage */ CarouselMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveMessage.CarouselMessage) return object; var message = new $root.proto.Message.InteractiveMessage.CarouselMessage(); if (object.cards) { if (!Array.isArray(object.cards)) throw TypeError(".proto.Message.InteractiveMessage.CarouselMessage.cards: array expected"); message.cards = []; for (var i = 0; i < object.cards.length; ++i) { if (typeof object.cards[i] !== "object") throw TypeError(".proto.Message.InteractiveMessage.CarouselMessage.cards: object expected"); message.cards[i] = $root.proto.Message.InteractiveMessage.fromObject(object.cards[i]); } } if (object.messageVersion != null) message.messageVersion = object.messageVersion | 0; return message; }; /** * Creates a plain object from a CarouselMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveMessage.CarouselMessage * @static * @param {proto.Message.InteractiveMessage.CarouselMessage} message CarouselMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ CarouselMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.cards = []; if (options.defaults) object.messageVersion = 0; if (message.cards && message.cards.length) { object.cards = []; for (var j = 0; j < message.cards.length; ++j) object.cards[j] = $root.proto.Message.InteractiveMessage.toObject(message.cards[j], options); } if (message.messageVersion != null && message.hasOwnProperty("messageVersion")) object.messageVersion = message.messageVersion; return object; }; /** * Converts this CarouselMessage to JSON. * @function toJSON * @memberof proto.Message.InteractiveMessage.CarouselMessage * @instance * @returns {Object.<string,*>} JSON object */ CarouselMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return CarouselMessage; })(); InteractiveMessage.CollectionMessage = (function() { /** * Properties of a CollectionMessage. * @memberof proto.Message.InteractiveMessage * @interface ICollectionMessage * @property {string|null} [bizJid] CollectionMessage bizJid * @property {string|null} [id] CollectionMessage id * @property {number|null} [messageVersion] CollectionMessage messageVersion */ /** * Constructs a new CollectionMessage. * @memberof proto.Message.InteractiveMessage * @classdesc Represents a CollectionMessage. * @implements ICollectionMessage * @constructor * @param {proto.Message.InteractiveMessage.ICollectionMessage=} [properties] Properties to set */ function CollectionMessage(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]]; } /** * CollectionMessage bizJid. * @member {string} bizJid * @memberof proto.Message.InteractiveMessage.CollectionMessage * @instance */ CollectionMessage.prototype.bizJid = ""; /** * CollectionMessage id. * @member {string} id * @memberof proto.Message.InteractiveMessage.CollectionMessage * @instance */ CollectionMessage.prototype.id = ""; /** * CollectionMessage messageVersion. * @member {number} messageVersion * @memberof proto.Message.InteractiveMessage.CollectionMessage * @instance */ CollectionMessage.prototype.messageVersion = 0; /** * Creates a new CollectionMessage instance using the specified properties. * @function create * @memberof proto.Message.InteractiveMessage.CollectionMessage * @static * @param {proto.Message.InteractiveMessage.ICollectionMessage=} [properties] Properties to set * @returns {proto.Message.InteractiveMessage.CollectionMessage} CollectionMessage instance */ CollectionMessage.create = function create(properties) { return new CollectionMessage(properties); }; /** * Encodes the specified CollectionMessage message. Does not implicitly {@link proto.Message.InteractiveMessage.CollectionMessage.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveMessage.CollectionMessage * @static * @param {proto.Message.InteractiveMessage.ICollectionMessage} message CollectionMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CollectionMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.bizJid != null && Object.hasOwnProperty.call(message, "bizJid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.bizJid); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.id); if (message.messageVersion != null && Object.hasOwnProperty.call(message, "messageVersion")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.messageVersion); return writer; }; /** * Encodes the specified CollectionMessage message, length delimited. Does not implicitly {@link proto.Message.InteractiveMessage.CollectionMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveMessage.CollectionMessage * @static * @param {proto.Message.InteractiveMessage.ICollectionMessage} message CollectionMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ CollectionMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a CollectionMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveMessage.CollectionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveMessage.CollectionMessage} CollectionMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CollectionMessage.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.InteractiveMessage.CollectionMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.bizJid = reader.string(); break; case 2: message.id = reader.string(); break; case 3: message.messageVersion = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a CollectionMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveMessage.CollectionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveMessage.CollectionMessage} CollectionMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ CollectionMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a CollectionMessage message. * @function verify * @memberof proto.Message.InteractiveMessage.CollectionMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ CollectionMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.bizJid != null && message.hasOwnProperty("bizJid")) if (!$util.isString(message.bizJid)) return "bizJid: string expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; if (message.messageVersion != null && message.hasOwnProperty("messageVersion")) if (!$util.isInteger(message.messageVersion)) return "messageVersion: integer expected"; return null; }; /** * Creates a CollectionMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveMessage.CollectionMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveMessage.CollectionMessage} CollectionMessage */ CollectionMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveMessage.CollectionMessage) return object; var message = new $root.proto.Message.InteractiveMessage.CollectionMessage(); if (object.bizJid != null) message.bizJid = String(object.bizJid); if (object.id != null) message.id = String(object.id); if (object.messageVersion != null) message.messageVersion = object.messageVersion | 0; return message; }; /** * Creates a plain object from a CollectionMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveMessage.CollectionMessage * @static * @param {proto.Message.InteractiveMessage.CollectionMessage} message CollectionMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ CollectionMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.bizJid = ""; object.id = ""; object.messageVersion = 0; } if (message.bizJid != null && message.hasOwnProperty("bizJid")) object.bizJid = message.bizJid; if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; if (message.messageVersion != null && message.hasOwnProperty("messageVersion")) object.messageVersion = message.messageVersion; return object; }; /** * Converts this CollectionMessage to JSON. * @function toJSON * @memberof proto.Message.InteractiveMessage.CollectionMessage * @instance * @returns {Object.<string,*>} JSON object */ CollectionMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return CollectionMessage; })(); InteractiveMessage.Footer = (function() { /** * Properties of a Footer. * @memberof proto.Message.InteractiveMessage * @interface IFooter * @property {string|null} [text] Footer text */ /** * Constructs a new Footer. * @memberof proto.Message.InteractiveMessage * @classdesc Represents a Footer. * @implements IFooter * @constructor * @param {proto.Message.InteractiveMessage.IFooter=} [properties] Properties to set */ function Footer(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]]; } /** * Footer text. * @member {string} text * @memberof proto.Message.InteractiveMessage.Footer * @instance */ Footer.prototype.text = ""; /** * Creates a new Footer instance using the specified properties. * @function create * @memberof proto.Message.InteractiveMessage.Footer * @static * @param {proto.Message.InteractiveMessage.IFooter=} [properties] Properties to set * @returns {proto.Message.InteractiveMessage.Footer} Footer instance */ Footer.create = function create(properties) { return new Footer(properties); }; /** * Encodes the specified Footer message. Does not implicitly {@link proto.Message.InteractiveMessage.Footer.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveMessage.Footer * @static * @param {proto.Message.InteractiveMessage.IFooter} message Footer message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Footer.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); return writer; }; /** * Encodes the specified Footer message, length delimited. Does not implicitly {@link proto.Message.InteractiveMessage.Footer.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveMessage.Footer * @static * @param {proto.Message.InteractiveMessage.IFooter} message Footer message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Footer.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Footer message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveMessage.Footer * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveMessage.Footer} Footer * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Footer.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.InteractiveMessage.Footer(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.text = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Footer message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveMessage.Footer * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveMessage.Footer} Footer * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Footer.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Footer message. * @function verify * @memberof proto.Message.InteractiveMessage.Footer * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Footer.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"; return null; }; /** * Creates a Footer message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveMessage.Footer * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveMessage.Footer} Footer */ Footer.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveMessage.Footer) return object; var message = new $root.proto.Message.InteractiveMessage.Footer(); if (object.text != null) message.text = String(object.text); return message; }; /** * Creates a plain object from a Footer message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveMessage.Footer * @static * @param {proto.Message.InteractiveMessage.Footer} message Footer * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Footer.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.text = ""; if (message.text != null && message.hasOwnProperty("text")) object.text = message.text; return object; }; /** * Converts this Footer to JSON. * @function toJSON * @memberof proto.Message.InteractiveMessage.Footer * @instance * @returns {Object.<string,*>} JSON object */ Footer.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Footer; })(); InteractiveMessage.Header = (function() { /** * Properties of a Header. * @memberof proto.Message.InteractiveMessage * @interface IHeader * @property {string|null} [title] Header title * @property {string|null} [subtitle] Header subtitle * @property {boolean|null} [hasMediaAttachment] Header hasMediaAttachment * @property {proto.Message.IDocumentMessage|null} [documentMessage] Header documentMessage * @property {proto.Message.IImageMessage|null} [imageMessage] Header imageMessage * @property {Uint8Array|null} [jpegThumbnail] Header jpegThumbnail * @property {proto.Message.IVideoMessage|null} [videoMessage] Header videoMessage * @property {proto.Message.ILocationMessage|null} [locationMessage] Header locationMessage */ /** * Constructs a new Header. * @memberof proto.Message.InteractiveMessage * @classdesc Represents a Header. * @implements IHeader * @constructor * @param {proto.Message.InteractiveMessage.IHeader=} [properties] Properties to set */ function Header(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]]; } /** * Header title. * @member {string} title * @memberof proto.Message.InteractiveMessage.Header * @instance */ Header.prototype.title = ""; /** * Header subtitle. * @member {string} subtitle * @memberof proto.Message.InteractiveMessage.Header * @instance */ Header.prototype.subtitle = ""; /** * Header hasMediaAttachment. * @member {boolean} hasMediaAttachment * @memberof proto.Message.InteractiveMessage.Header * @instance */ Header.prototype.hasMediaAttachment = false; /** * Header documentMessage. * @member {proto.Message.IDocumentMessage|null|undefined} documentMessage * @memberof proto.Message.InteractiveMessage.Header * @instance */ Header.prototype.documentMessage = null; /** * Header imageMessage. * @member {proto.Message.IImageMessage|null|undefined} imageMessage * @memberof proto.Message.InteractiveMessage.Header * @instance */ Header.prototype.imageMessage = null; /** * Header jpegThumbnail. * @member {Uint8Array|null|undefined} jpegThumbnail * @memberof proto.Message.InteractiveMessage.Header * @instance */ Header.prototype.jpegThumbnail = null; /** * Header videoMessage. * @member {proto.Message.IVideoMessage|null|undefined} videoMessage * @memberof proto.Message.InteractiveMessage.Header * @instance */ Header.prototype.videoMessage = null; /** * Header locationMessage. * @member {proto.Message.ILocationMessage|null|undefined} locationMessage * @memberof proto.Message.InteractiveMessage.Header * @instance */ Header.prototype.locationMessage = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * Header media. * @member {"documentMessage"|"imageMessage"|"jpegThumbnail"|"videoMessage"|"locationMessage"|undefined} media * @memberof proto.Message.InteractiveMessage.Header * @instance */ Object.defineProperty(Header.prototype, "media", { get: $util.oneOfGetter($oneOfFields = ["documentMessage", "imageMessage", "jpegThumbnail", "videoMessage", "locationMessage"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new Header instance using the specified properties. * @function create * @memberof proto.Message.InteractiveMessage.Header * @static * @param {proto.Message.InteractiveMessage.IHeader=} [properties] Properties to set * @returns {proto.Message.InteractiveMessage.Header} Header instance */ Header.create = function create(properties) { return new Header(properties); }; /** * Encodes the specified Header message. Does not implicitly {@link proto.Message.InteractiveMessage.Header.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveMessage.Header * @static * @param {proto.Message.InteractiveMessage.IHeader} message Header message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Header.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.subtitle != null && Object.hasOwnProperty.call(message, "subtitle")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.subtitle); if (message.documentMessage != null && Object.hasOwnProperty.call(message, "documentMessage")) $root.proto.Message.DocumentMessage.encode(message.documentMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.imageMessage != null && Object.hasOwnProperty.call(message, "imageMessage")) $root.proto.Message.ImageMessage.encode(message.imageMessage, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.hasMediaAttachment != null && Object.hasOwnProperty.call(message, "hasMediaAttachment")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.hasMediaAttachment); if (message.jpegThumbnail != null && Object.hasOwnProperty.call(message, "jpegThumbnail")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.jpegThumbnail); if (message.videoMessage != null && Object.hasOwnProperty.call(message, "videoMessage")) $root.proto.Message.VideoMessage.encode(message.videoMessage, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.locationMessage != null && Object.hasOwnProperty.call(message, "locationMessage")) $root.proto.Message.LocationMessage.encode(message.locationMessage, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); return writer; }; /** * Encodes the specified Header message, length delimited. Does not implicitly {@link proto.Message.InteractiveMessage.Header.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveMessage.Header * @static * @param {proto.Message.InteractiveMessage.IHeader} message Header message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Header.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Header message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveMessage.Header * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveMessage.Header} Header * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Header.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.InteractiveMessage.Header(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.title = reader.string(); break; case 2: message.subtitle = reader.string(); break; case 5: message.hasMediaAttachment = reader.bool(); break; case 3: message.documentMessage = $root.proto.Message.DocumentMessage.decode(reader, reader.uint32()); break; case 4: message.imageMessage = $root.proto.Message.ImageMessage.decode(reader, reader.uint32()); break; case 6: message.jpegThumbnail = reader.bytes(); break; case 7: message.videoMessage = $root.proto.Message.VideoMessage.decode(reader, reader.uint32()); break; case 8: message.locationMessage = $root.proto.Message.LocationMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Header message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveMessage.Header * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveMessage.Header} Header * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Header.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Header message. * @function verify * @memberof proto.Message.InteractiveMessage.Header * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Header.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: string expected"; if (message.subtitle != null && message.hasOwnProperty("subtitle")) if (!$util.isString(message.subtitle)) return "subtitle: string expected"; if (message.hasMediaAttachment != null && message.hasOwnProperty("hasMediaAttachment")) if (typeof message.hasMediaAttachment !== "boolean") return "hasMediaAttachment: boolean expected"; if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) { properties.media = 1; { var error = $root.proto.Message.DocumentMessage.verify(message.documentMessage); if (error) return "documentMessage." + error; } } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { if (properties.media === 1) return "media: multiple values"; properties.media = 1; { var error = $root.proto.Message.ImageMessage.verify(message.imageMessage); if (error) return "imageMessage." + error; } } if (message.jpegThumbnail != null && message.hasOwnProperty("jpegThumbnail")) { if (properties.media === 1) return "media: multiple values"; properties.media = 1; if (!(message.jpegThumbnail && typeof message.jpegThumbnail.length === "number" || $util.isString(message.jpegThumbnail))) return "jpegThumbnail: buffer expected"; } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { if (properties.media === 1) return "media: multiple values"; properties.media = 1; { var error = $root.proto.Message.VideoMessage.verify(message.videoMessage); if (error) return "videoMessage." + error; } } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { if (properties.media === 1) return "media: multiple values"; properties.media = 1; { var error = $root.proto.Message.LocationMessage.verify(message.locationMessage); if (error) return "locationMessage." + error; } } return null; }; /** * Creates a Header message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveMessage.Header * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveMessage.Header} Header */ Header.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveMessage.Header) return object; var message = new $root.proto.Message.InteractiveMessage.Header(); if (object.title != null) message.title = String(object.title); if (object.subtitle != null) message.subtitle = String(object.subtitle); if (object.hasMediaAttachment != null) message.hasMediaAttachment = Boolean(object.hasMediaAttachment); if (object.documentMessage != null) { if (typeof object.documentMessage !== "object") throw TypeError(".proto.Message.InteractiveMessage.Header.documentMessage: object expected"); message.documentMessage = $root.proto.Message.DocumentMessage.fromObject(object.documentMessage); } if (object.imageMessage != null) { if (typeof object.imageMessage !== "object") throw TypeError(".proto.Message.InteractiveMessage.Header.imageMessage: object expected"); message.imageMessage = $root.proto.Message.ImageMessage.fromObject(object.imageMessage); } 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.videoMessage != null) { if (typeof object.videoMessage !== "object") throw TypeError(".proto.Message.InteractiveMessage.Header.videoMessage: object expected"); message.videoMessage = $root.proto.Message.VideoMessage.fromObject(object.videoMessage); } if (object.locationMessage != null) { if (typeof object.locationMessage !== "object") throw TypeError(".proto.Message.InteractiveMessage.Header.locationMessage: object expected"); message.locationMessage = $root.proto.Message.LocationMessage.fromObject(object.locationMessage); } return message; }; /** * Creates a plain object from a Header message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveMessage.Header * @static * @param {proto.Message.InteractiveMessage.Header} message Header * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Header.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.title = ""; object.subtitle = ""; object.hasMediaAttachment = false; } if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.subtitle != null && message.hasOwnProperty("subtitle")) object.subtitle = message.subtitle; if (message.documentMessage != null && message.hasOwnProperty("documentMessage")) { object.documentMessage = $root.proto.Message.DocumentMessage.toObject(message.documentMessage, options); if (options.oneofs) object.media = "documentMessage"; } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { object.imageMessage = $root.proto.Message.ImageMessage.toObject(message.imageMessage, options); if (options.oneofs) object.media = "imageMessage"; } if (message.hasMediaAttachment != null && message.hasOwnProperty("hasMediaAttachment")) object.hasMediaAttachment = message.hasMediaAttachment; 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 (options.oneofs) object.media = "jpegThumbnail"; } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { object.videoMessage = $root.proto.Message.VideoMessage.toObject(message.videoMessage, options); if (options.oneofs) object.media = "videoMessage"; } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { object.locationMessage = $root.proto.Message.LocationMessage.toObject(message.locationMessage, options); if (options.oneofs) object.media = "locationMessage"; } return object; }; /** * Converts this Header to JSON. * @function toJSON * @memberof proto.Message.InteractiveMessage.Header * @instance * @returns {Object.<string,*>} JSON object */ Header.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Header; })(); InteractiveMessage.NativeFlowMessage = (function() { /** * Properties of a NativeFlowMessage. * @memberof proto.Message.InteractiveMessage * @interface INativeFlowMessage * @property {Array.<proto.Message.InteractiveMessage.NativeFlowMessage.INativeFlowButton>|null} [buttons] NativeFlowMessage buttons * @property {string|null} [messageParamsJson] NativeFlowMessage messageParamsJson * @property {number|null} [messageVersion] NativeFlowMessage messageVersion */ /** * Constructs a new NativeFlowMessage. * @memberof proto.Message.InteractiveMessage * @classdesc Represents a NativeFlowMessage. * @implements INativeFlowMessage * @constructor * @param {proto.Message.InteractiveMessage.INativeFlowMessage=} [properties] Properties to set */ function NativeFlowMessage(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]]; } /** * NativeFlowMessage buttons. * @member {Array.<proto.Message.InteractiveMessage.NativeFlowMessage.INativeFlowButton>} buttons * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @instance */ NativeFlowMessage.prototype.buttons = $util.emptyArray; /** * NativeFlowMessage messageParamsJson. * @member {string} messageParamsJson * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @instance */ NativeFlowMessage.prototype.messageParamsJson = ""; /** * NativeFlowMessage messageVersion. * @member {number} messageVersion * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @instance */ NativeFlowMessage.prototype.messageVersion = 0; /** * Creates a new NativeFlowMessage instance using the specified properties. * @function create * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @static * @param {proto.Message.InteractiveMessage.INativeFlowMessage=} [properties] Properties to set * @returns {proto.Message.InteractiveMessage.NativeFlowMessage} NativeFlowMessage instance */ NativeFlowMessage.create = function create(properties) { return new NativeFlowMessage(properties); }; /** * Encodes the specified NativeFlowMessage message. Does not implicitly {@link proto.Message.InteractiveMessage.NativeFlowMessage.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @static * @param {proto.Message.InteractiveMessage.INativeFlowMessage} message NativeFlowMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NativeFlowMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.buttons != null && message.buttons.length) for (var i = 0; i < message.buttons.length; ++i) $root.proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton.encode(message.buttons[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.messageParamsJson != null && Object.hasOwnProperty.call(message, "messageParamsJson")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.messageParamsJson); if (message.messageVersion != null && Object.hasOwnProperty.call(message, "messageVersion")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.messageVersion); return writer; }; /** * Encodes the specified NativeFlowMessage message, length delimited. Does not implicitly {@link proto.Message.InteractiveMessage.NativeFlowMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @static * @param {proto.Message.InteractiveMessage.INativeFlowMessage} message NativeFlowMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NativeFlowMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a NativeFlowMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveMessage.NativeFlowMessage} NativeFlowMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NativeFlowMessage.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.InteractiveMessage.NativeFlowMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.buttons && message.buttons.length)) message.buttons = []; message.buttons.push($root.proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton.decode(reader, reader.uint32())); break; case 2: message.messageParamsJson = reader.string(); break; case 3: message.messageVersion = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a NativeFlowMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveMessage.NativeFlowMessage} NativeFlowMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NativeFlowMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a NativeFlowMessage message. * @function verify * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ NativeFlowMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; 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.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton.verify(message.buttons[i]); if (error) return "buttons." + error; } } if (message.messageParamsJson != null && message.hasOwnProperty("messageParamsJson")) if (!$util.isString(message.messageParamsJson)) return "messageParamsJson: string expected"; if (message.messageVersion != null && message.hasOwnProperty("messageVersion")) if (!$util.isInteger(message.messageVersion)) return "messageVersion: integer expected"; return null; }; /** * Creates a NativeFlowMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveMessage.NativeFlowMessage} NativeFlowMessage */ NativeFlowMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveMessage.NativeFlowMessage) return object; var message = new $root.proto.Message.InteractiveMessage.NativeFlowMessage(); if (object.buttons) { if (!Array.isArray(object.buttons)) throw TypeError(".proto.Message.InteractiveMessage.NativeFlowMessage.buttons: array expected"); message.buttons = []; for (var i = 0; i < object.buttons.length; ++i) { if (typeof object.buttons[i] !== "object") throw TypeError(".proto.Message.InteractiveMessage.NativeFlowMessage.buttons: object expected"); message.buttons[i] = $root.proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton.fromObject(object.buttons[i]); } } if (object.messageParamsJson != null) message.messageParamsJson = String(object.messageParamsJson); if (object.messageVersion != null) message.messageVersion = object.messageVersion | 0; return message; }; /** * Creates a plain object from a NativeFlowMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @static * @param {proto.Message.InteractiveMessage.NativeFlowMessage} message NativeFlowMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ NativeFlowMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.buttons = []; if (options.defaults) { object.messageParamsJson = ""; object.messageVersion = 0; } if (message.buttons && message.buttons.length) { object.buttons = []; for (var j = 0; j < message.buttons.length; ++j) object.buttons[j] = $root.proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton.toObject(message.buttons[j], options); } if (message.messageParamsJson != null && message.hasOwnProperty("messageParamsJson")) object.messageParamsJson = message.messageParamsJson; if (message.messageVersion != null && message.hasOwnProperty("messageVersion")) object.messageVersion = message.messageVersion; return object; }; /** * Converts this NativeFlowMessage to JSON. * @function toJSON * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @instance * @returns {Object.<string,*>} JSON object */ NativeFlowMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; NativeFlowMessage.NativeFlowButton = (function() { /** * Properties of a NativeFlowButton. * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @interface INativeFlowButton * @property {string|null} [name] NativeFlowButton name * @property {string|null} [buttonParamsJson] NativeFlowButton buttonParamsJson */ /** * Constructs a new NativeFlowButton. * @memberof proto.Message.InteractiveMessage.NativeFlowMessage * @classdesc Represents a NativeFlowButton. * @implements INativeFlowButton * @constructor * @param {proto.Message.InteractiveMessage.NativeFlowMessage.INativeFlowButton=} [properties] Properties to set */ function NativeFlowButton(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]]; } /** * NativeFlowButton name. * @member {string} name * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @instance */ NativeFlowButton.prototype.name = ""; /** * NativeFlowButton buttonParamsJson. * @member {string} buttonParamsJson * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @instance */ NativeFlowButton.prototype.buttonParamsJson = ""; /** * Creates a new NativeFlowButton instance using the specified properties. * @function create * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @static * @param {proto.Message.InteractiveMessage.NativeFlowMessage.INativeFlowButton=} [properties] Properties to set * @returns {proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton} NativeFlowButton instance */ NativeFlowButton.create = function create(properties) { return new NativeFlowButton(properties); }; /** * Encodes the specified NativeFlowButton message. Does not implicitly {@link proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @static * @param {proto.Message.InteractiveMessage.NativeFlowMessage.INativeFlowButton} message NativeFlowButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NativeFlowButton.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.buttonParamsJson != null && Object.hasOwnProperty.call(message, "buttonParamsJson")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.buttonParamsJson); return writer; }; /** * Encodes the specified NativeFlowButton message, length delimited. Does not implicitly {@link proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @static * @param {proto.Message.InteractiveMessage.NativeFlowMessage.INativeFlowButton} message NativeFlowButton message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NativeFlowButton.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a NativeFlowButton message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton} NativeFlowButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NativeFlowButton.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.InteractiveMessage.NativeFlowMessage.NativeFlowButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; case 2: message.buttonParamsJson = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a NativeFlowButton message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton} NativeFlowButton * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NativeFlowButton.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a NativeFlowButton message. * @function verify * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ NativeFlowButton.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.buttonParamsJson != null && message.hasOwnProperty("buttonParamsJson")) if (!$util.isString(message.buttonParamsJson)) return "buttonParamsJson: string expected"; return null; }; /** * Creates a NativeFlowButton message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton} NativeFlowButton */ NativeFlowButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton) return object; var message = new $root.proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton(); if (object.name != null) message.name = String(object.name); if (object.buttonParamsJson != null) message.buttonParamsJson = String(object.buttonParamsJson); return message; }; /** * Creates a plain object from a NativeFlowButton message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @static * @param {proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton} message NativeFlowButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ NativeFlowButton.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.name = ""; object.buttonParamsJson = ""; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.buttonParamsJson != null && message.hasOwnProperty("buttonParamsJson")) object.buttonParamsJson = message.buttonParamsJson; return object; }; /** * Converts this NativeFlowButton to JSON. * @function toJSON * @memberof proto.Message.InteractiveMessage.NativeFlowMessage.NativeFlowButton * @instance * @returns {Object.<string,*>} JSON object */ NativeFlowButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return NativeFlowButton; })(); return NativeFlowMessage; })(); InteractiveMessage.ShopMessage = (function() { /** * Properties of a ShopMessage. * @memberof proto.Message.InteractiveMessage * @interface IShopMessage * @property {string|null} [id] ShopMessage id * @property {proto.Message.InteractiveMessage.ShopMessage.Surface|null} [surface] ShopMessage surface * @property {number|null} [messageVersion] ShopMessage messageVersion */ /** * Constructs a new ShopMessage. * @memberof proto.Message.InteractiveMessage * @classdesc Represents a ShopMessage. * @implements IShopMessage * @constructor * @param {proto.Message.InteractiveMessage.IShopMessage=} [properties] Properties to set */ function ShopMessage(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]]; } /** * ShopMessage id. * @member {string} id * @memberof proto.Message.InteractiveMessage.ShopMessage * @instance */ ShopMessage.prototype.id = ""; /** * ShopMessage surface. * @member {proto.Message.InteractiveMessage.ShopMessage.Surface} surface * @memberof proto.Message.InteractiveMessage.ShopMessage * @instance */ ShopMessage.prototype.surface = 0; /** * ShopMessage messageVersion. * @member {number} messageVersion * @memberof proto.Message.InteractiveMessage.ShopMessage * @instance */ ShopMessage.prototype.messageVersion = 0; /** * Creates a new ShopMessage instance using the specified properties. * @function create * @memberof proto.Message.InteractiveMessage.ShopMessage * @static * @param {proto.Message.InteractiveMessage.IShopMessage=} [properties] Properties to set * @returns {proto.Message.InteractiveMessage.ShopMessage} ShopMessage instance */ ShopMessage.create = function create(properties) { return new ShopMessage(properties); }; /** * Encodes the specified ShopMessage message. Does not implicitly {@link proto.Message.InteractiveMessage.ShopMessage.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveMessage.ShopMessage * @static * @param {proto.Message.InteractiveMessage.IShopMessage} message ShopMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ShopMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.id); if (message.surface != null && Object.hasOwnProperty.call(message, "surface")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.surface); if (message.messageVersion != null && Object.hasOwnProperty.call(message, "messageVersion")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.messageVersion); return writer; }; /** * Encodes the specified ShopMessage message, length delimited. Does not implicitly {@link proto.Message.InteractiveMessage.ShopMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveMessage.ShopMessage * @static * @param {proto.Message.InteractiveMessage.IShopMessage} message ShopMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ShopMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ShopMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveMessage.ShopMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveMessage.ShopMessage} ShopMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ShopMessage.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.InteractiveMessage.ShopMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.surface = reader.int32(); break; case 3: message.messageVersion = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ShopMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveMessage.ShopMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveMessage.ShopMessage} ShopMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ShopMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ShopMessage message. * @function verify * @memberof proto.Message.InteractiveMessage.ShopMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ShopMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; if (message.surface != null && message.hasOwnProperty("surface")) switch (message.surface) { default: return "surface: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.messageVersion != null && message.hasOwnProperty("messageVersion")) if (!$util.isInteger(message.messageVersion)) return "messageVersion: integer expected"; return null; }; /** * Creates a ShopMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveMessage.ShopMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveMessage.ShopMessage} ShopMessage */ ShopMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveMessage.ShopMessage) return object; var message = new $root.proto.Message.InteractiveMessage.ShopMessage(); if (object.id != null) message.id = String(object.id); switch (object.surface) { case "UNKNOWN_SURFACE": case 0: message.surface = 0; break; case "FB": case 1: message.surface = 1; break; case "IG": case 2: message.surface = 2; break; case "WA": case 3: message.surface = 3; break; } if (object.messageVersion != null) message.messageVersion = object.messageVersion | 0; return message; }; /** * Creates a plain object from a ShopMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveMessage.ShopMessage * @static * @param {proto.Message.InteractiveMessage.ShopMessage} message ShopMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ShopMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.id = ""; object.surface = options.enums === String ? "UNKNOWN_SURFACE" : 0; object.messageVersion = 0; } if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; if (message.surface != null && message.hasOwnProperty("surface")) object.surface = options.enums === String ? $root.proto.Message.InteractiveMessage.ShopMessage.Surface[message.surface] : message.surface; if (message.messageVersion != null && message.hasOwnProperty("messageVersion")) object.messageVersion = message.messageVersion; return object; }; /** * Converts this ShopMessage to JSON. * @function toJSON * @memberof proto.Message.InteractiveMessage.ShopMessage * @instance * @returns {Object.<string,*>} JSON object */ ShopMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Surface enum. * @name proto.Message.InteractiveMessage.ShopMessage.Surface * @enum {number} * @property {number} UNKNOWN_SURFACE=0 UNKNOWN_SURFACE value * @property {number} FB=1 FB value * @property {number} IG=2 IG value * @property {number} WA=3 WA value */ ShopMessage.Surface = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN_SURFACE"] = 0; values[valuesById[1] = "FB"] = 1; values[valuesById[2] = "IG"] = 2; values[valuesById[3] = "WA"] = 3; return values; })(); return ShopMessage; })(); return InteractiveMessage; })(); Message.InteractiveResponseMessage = (function() { /** * Properties of an InteractiveResponseMessage. * @memberof proto.Message * @interface IInteractiveResponseMessage * @property {proto.Message.InteractiveResponseMessage.IBody|null} [body] InteractiveResponseMessage body * @property {proto.IContextInfo|null} [contextInfo] InteractiveResponseMessage contextInfo * @property {proto.Message.InteractiveResponseMessage.INativeFlowResponseMessage|null} [nativeFlowResponseMessage] InteractiveResponseMessage nativeFlowResponseMessage */ /** * Constructs a new InteractiveResponseMessage. * @memberof proto.Message * @classdesc Represents an InteractiveResponseMessage. * @implements IInteractiveResponseMessage * @constructor * @param {proto.Message.IInteractiveResponseMessage=} [properties] Properties to set */ function InteractiveResponseMessage(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]]; } /** * InteractiveResponseMessage body. * @member {proto.Message.InteractiveResponseMessage.IBody|null|undefined} body * @memberof proto.Message.InteractiveResponseMessage * @instance */ InteractiveResponseMessage.prototype.body = null; /** * InteractiveResponseMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.InteractiveResponseMessage * @instance */ InteractiveResponseMessage.prototype.contextInfo = null; /** * InteractiveResponseMessage nativeFlowResponseMessage. * @member {proto.Message.InteractiveResponseMessage.INativeFlowResponseMessage|null|undefined} nativeFlowResponseMessage * @memberof proto.Message.InteractiveResponseMessage * @instance */ InteractiveResponseMessage.prototype.nativeFlowResponseMessage = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * InteractiveResponseMessage interactiveResponseMessage. * @member {"nativeFlowResponseMessage"|undefined} interactiveResponseMessage * @memberof proto.Message.InteractiveResponseMessage * @instance */ Object.defineProperty(InteractiveResponseMessage.prototype, "interactiveResponseMessage", { get: $util.oneOfGetter($oneOfFields = ["nativeFlowResponseMessage"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new InteractiveResponseMessage instance using the specified properties. * @function create * @memberof proto.Message.InteractiveResponseMessage * @static * @param {proto.Message.IInteractiveResponseMessage=} [properties] Properties to set * @returns {proto.Message.InteractiveResponseMessage} InteractiveResponseMessage instance */ InteractiveResponseMessage.create = function create(properties) { return new InteractiveResponseMessage(properties); }; /** * Encodes the specified InteractiveResponseMessage message. Does not implicitly {@link proto.Message.InteractiveResponseMessage.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveResponseMessage * @static * @param {proto.Message.IInteractiveResponseMessage} message InteractiveResponseMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InteractiveResponseMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.body != null && Object.hasOwnProperty.call(message, "body")) $root.proto.Message.InteractiveResponseMessage.Body.encode(message.body, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.nativeFlowResponseMessage != null && Object.hasOwnProperty.call(message, "nativeFlowResponseMessage")) $root.proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage.encode(message.nativeFlowResponseMessage, 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 15, wireType 2 =*/122).fork()).ldelim(); return writer; }; /** * Encodes the specified InteractiveResponseMessage message, length delimited. Does not implicitly {@link proto.Message.InteractiveResponseMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveResponseMessage * @static * @param {proto.Message.IInteractiveResponseMessage} message InteractiveResponseMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InteractiveResponseMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an InteractiveResponseMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveResponseMessage} InteractiveResponseMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InteractiveResponseMessage.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.InteractiveResponseMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.body = $root.proto.Message.InteractiveResponseMessage.Body.decode(reader, reader.uint32()); break; case 15: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 2: message.nativeFlowResponseMessage = $root.proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an InteractiveResponseMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveResponseMessage} InteractiveResponseMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InteractiveResponseMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an InteractiveResponseMessage message. * @function verify * @memberof proto.Message.InteractiveResponseMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ InteractiveResponseMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; var properties = {}; if (message.body != null && message.hasOwnProperty("body")) { var error = $root.proto.Message.InteractiveResponseMessage.Body.verify(message.body); if (error) return "body." + error; } if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) { var error = $root.proto.ContextInfo.verify(message.contextInfo); if (error) return "contextInfo." + error; } if (message.nativeFlowResponseMessage != null && message.hasOwnProperty("nativeFlowResponseMessage")) { properties.interactiveResponseMessage = 1; { var error = $root.proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage.verify(message.nativeFlowResponseMessage); if (error) return "nativeFlowResponseMessage." + error; } } return null; }; /** * Creates an InteractiveResponseMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveResponseMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveResponseMessage} InteractiveResponseMessage */ InteractiveResponseMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveResponseMessage) return object; var message = new $root.proto.Message.InteractiveResponseMessage(); if (object.body != null) { if (typeof object.body !== "object") throw TypeError(".proto.Message.InteractiveResponseMessage.body: object expected"); message.body = $root.proto.Message.InteractiveResponseMessage.Body.fromObject(object.body); } if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.InteractiveResponseMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.nativeFlowResponseMessage != null) { if (typeof object.nativeFlowResponseMessage !== "object") throw TypeError(".proto.Message.InteractiveResponseMessage.nativeFlowResponseMessage: object expected"); message.nativeFlowResponseMessage = $root.proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage.fromObject(object.nativeFlowResponseMessage); } return message; }; /** * Creates a plain object from an InteractiveResponseMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveResponseMessage * @static * @param {proto.Message.InteractiveResponseMessage} message InteractiveResponseMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ InteractiveResponseMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.body = null; object.contextInfo = null; } if (message.body != null && message.hasOwnProperty("body")) object.body = $root.proto.Message.InteractiveResponseMessage.Body.toObject(message.body, options); if (message.nativeFlowResponseMessage != null && message.hasOwnProperty("nativeFlowResponseMessage")) { object.nativeFlowResponseMessage = $root.proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage.toObject(message.nativeFlowResponseMessage, options); if (options.oneofs) object.interactiveResponseMessage = "nativeFlowResponseMessage"; } if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this InteractiveResponseMessage to JSON. * @function toJSON * @memberof proto.Message.InteractiveResponseMessage * @instance * @returns {Object.<string,*>} JSON object */ InteractiveResponseMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; InteractiveResponseMessage.Body = (function() { /** * Properties of a Body. * @memberof proto.Message.InteractiveResponseMessage * @interface IBody * @property {string|null} [text] Body text * @property {proto.Message.InteractiveResponseMessage.Body.Format|null} [format] Body format */ /** * Constructs a new Body. * @memberof proto.Message.InteractiveResponseMessage * @classdesc Represents a Body. * @implements IBody * @constructor * @param {proto.Message.InteractiveResponseMessage.IBody=} [properties] Properties to set */ function Body(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]]; } /** * Body text. * @member {string} text * @memberof proto.Message.InteractiveResponseMessage.Body * @instance */ Body.prototype.text = ""; /** * Body format. * @member {proto.Message.InteractiveResponseMessage.Body.Format} format * @memberof proto.Message.InteractiveResponseMessage.Body * @instance */ Body.prototype.format = 0; /** * Creates a new Body instance using the specified properties. * @function create * @memberof proto.Message.InteractiveResponseMessage.Body * @static * @param {proto.Message.InteractiveResponseMessage.IBody=} [properties] Properties to set * @returns {proto.Message.InteractiveResponseMessage.Body} Body instance */ Body.create = function create(properties) { return new Body(properties); }; /** * Encodes the specified Body message. Does not implicitly {@link proto.Message.InteractiveResponseMessage.Body.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveResponseMessage.Body * @static * @param {proto.Message.InteractiveResponseMessage.IBody} message Body message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Body.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.format != null && Object.hasOwnProperty.call(message, "format")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.format); return writer; }; /** * Encodes the specified Body message, length delimited. Does not implicitly {@link proto.Message.InteractiveResponseMessage.Body.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveResponseMessage.Body * @static * @param {proto.Message.InteractiveResponseMessage.IBody} message Body message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Body.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Body message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveResponseMessage.Body * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveResponseMessage.Body} Body * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Body.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.InteractiveResponseMessage.Body(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.text = reader.string(); break; case 2: message.format = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Body message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveResponseMessage.Body * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveResponseMessage.Body} Body * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Body.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Body message. * @function verify * @memberof proto.Message.InteractiveResponseMessage.Body * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Body.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.format != null && message.hasOwnProperty("format")) switch (message.format) { default: return "format: enum value expected"; case 0: case 1: break; } return null; }; /** * Creates a Body message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveResponseMessage.Body * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveResponseMessage.Body} Body */ Body.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveResponseMessage.Body) return object; var message = new $root.proto.Message.InteractiveResponseMessage.Body(); if (object.text != null) message.text = String(object.text); switch (object.format) { case "DEFAULT": case 0: message.format = 0; break; case "EXTENSIONS_1": case 1: message.format = 1; break; } return message; }; /** * Creates a plain object from a Body message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveResponseMessage.Body * @static * @param {proto.Message.InteractiveResponseMessage.Body} message Body * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Body.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.text = ""; object.format = options.enums === String ? "DEFAULT" : 0; } if (message.text != null && message.hasOwnProperty("text")) object.text = message.text; if (message.format != null && message.hasOwnProperty("format")) object.format = options.enums === String ? $root.proto.Message.InteractiveResponseMessage.Body.Format[message.format] : message.format; return object; }; /** * Converts this Body to JSON. * @function toJSON * @memberof proto.Message.InteractiveResponseMessage.Body * @instance * @returns {Object.<string,*>} JSON object */ Body.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Format enum. * @name proto.Message.InteractiveResponseMessage.Body.Format * @enum {number} * @property {number} DEFAULT=0 DEFAULT value * @property {number} EXTENSIONS_1=1 EXTENSIONS_1 value */ Body.Format = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "DEFAULT"] = 0; values[valuesById[1] = "EXTENSIONS_1"] = 1; return values; })(); return Body; })(); InteractiveResponseMessage.NativeFlowResponseMessage = (function() { /** * Properties of a NativeFlowResponseMessage. * @memberof proto.Message.InteractiveResponseMessage * @interface INativeFlowResponseMessage * @property {string|null} [name] NativeFlowResponseMessage name * @property {string|null} [paramsJson] NativeFlowResponseMessage paramsJson * @property {number|null} [version] NativeFlowResponseMessage version */ /** * Constructs a new NativeFlowResponseMessage. * @memberof proto.Message.InteractiveResponseMessage * @classdesc Represents a NativeFlowResponseMessage. * @implements INativeFlowResponseMessage * @constructor * @param {proto.Message.InteractiveResponseMessage.INativeFlowResponseMessage=} [properties] Properties to set */ function NativeFlowResponseMessage(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]]; } /** * NativeFlowResponseMessage name. * @member {string} name * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @instance */ NativeFlowResponseMessage.prototype.name = ""; /** * NativeFlowResponseMessage paramsJson. * @member {string} paramsJson * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @instance */ NativeFlowResponseMessage.prototype.paramsJson = ""; /** * NativeFlowResponseMessage version. * @member {number} version * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @instance */ NativeFlowResponseMessage.prototype.version = 0; /** * Creates a new NativeFlowResponseMessage instance using the specified properties. * @function create * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @static * @param {proto.Message.InteractiveResponseMessage.INativeFlowResponseMessage=} [properties] Properties to set * @returns {proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage} NativeFlowResponseMessage instance */ NativeFlowResponseMessage.create = function create(properties) { return new NativeFlowResponseMessage(properties); }; /** * Encodes the specified NativeFlowResponseMessage message. Does not implicitly {@link proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage.verify|verify} messages. * @function encode * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @static * @param {proto.Message.InteractiveResponseMessage.INativeFlowResponseMessage} message NativeFlowResponseMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NativeFlowResponseMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.paramsJson != null && Object.hasOwnProperty.call(message, "paramsJson")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.paramsJson); if (message.version != null && Object.hasOwnProperty.call(message, "version")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.version); return writer; }; /** * Encodes the specified NativeFlowResponseMessage message, length delimited. Does not implicitly {@link proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @static * @param {proto.Message.InteractiveResponseMessage.INativeFlowResponseMessage} message NativeFlowResponseMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NativeFlowResponseMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a NativeFlowResponseMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage} NativeFlowResponseMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NativeFlowResponseMessage.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.InteractiveResponseMessage.NativeFlowResponseMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; case 2: message.paramsJson = reader.string(); break; case 3: message.version = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a NativeFlowResponseMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage} NativeFlowResponseMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NativeFlowResponseMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a NativeFlowResponseMessage message. * @function verify * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ NativeFlowResponseMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.paramsJson != null && message.hasOwnProperty("paramsJson")) if (!$util.isString(message.paramsJson)) return "paramsJson: string expected"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isInteger(message.version)) return "version: integer expected"; return null; }; /** * Creates a NativeFlowResponseMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage} NativeFlowResponseMessage */ NativeFlowResponseMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage) return object; var message = new $root.proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage(); if (object.name != null) message.name = String(object.name); if (object.paramsJson != null) message.paramsJson = String(object.paramsJson); if (object.version != null) message.version = object.version | 0; return message; }; /** * Creates a plain object from a NativeFlowResponseMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @static * @param {proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage} message NativeFlowResponseMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ NativeFlowResponseMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.name = ""; object.paramsJson = ""; object.version = 0; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.paramsJson != null && message.hasOwnProperty("paramsJson")) object.paramsJson = message.paramsJson; if (message.version != null && message.hasOwnProperty("version")) object.version = message.version; return object; }; /** * Converts this NativeFlowResponseMessage to JSON. * @function toJSON * @memberof proto.Message.InteractiveResponseMessage.NativeFlowResponseMessage * @instance * @returns {Object.<string,*>} JSON object */ NativeFlowResponseMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return NativeFlowResponseMessage; })(); return InteractiveResponseMessage; })(); Message.InvoiceMessage = (function() { /** * Properties of an InvoiceMessage. * @memberof proto.Message * @interface IInvoiceMessage * @property {string|null} [note] InvoiceMessage note * @property {string|null} [token] InvoiceMessage token * @property {proto.Message.InvoiceMessage.AttachmentType|null} [attachmentType] InvoiceMessage attachmentType * @property {string|null} [attachmentMimetype] InvoiceMessage attachmentMimetype * @property {Uint8Array|null} [attachmentMediaKey] InvoiceMessage attachmentMediaKey * @property {number|Long|null} [attachmentMediaKeyTimestamp] InvoiceMessage attachmentMediaKeyTimestamp * @property {Uint8Array|null} [attachmentFileSha256] InvoiceMessage attachmentFileSha256 * @property {Uint8Array|null} [attachmentFileEncSha256] InvoiceMessage attachmentFileEncSha256 * @property {string|null} [attachmentDirectPath] InvoiceMessage attachmentDirectPath * @property {Uint8Array|null} [attachmentJpegThumbnail] InvoiceMessage attachmentJpegThumbnail */ /** * Constructs a new InvoiceMessage. * @memberof proto.Message * @classdesc Represents an InvoiceMessage. * @implements IInvoiceMessage * @constructor * @param {proto.Message.IInvoiceMessage=} [properties] Properties to set */ function InvoiceMessage(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]]; } /** * InvoiceMessage note. * @member {string} note * @memberof proto.Message.InvoiceMessage * @instance */ InvoiceMessage.prototype.note = ""; /** * InvoiceMessage token. * @member {string} token * @memberof proto.Message.InvoiceMessage * @instance */ InvoiceMessage.prototype.token = ""; /** * InvoiceMessage attachmentType. * @member {proto.Message.InvoiceMessage.AttachmentType} attachmentType * @memberof proto.Message.InvoiceMessage * @instance */ InvoiceMessage.prototype.attachmentType = 0; /** * InvoiceMessage attachmentMimetype. * @member {string} attachmentMimetype * @memberof proto.Message.InvoiceMessage * @instance */ InvoiceMessage.prototype.attachmentMimetype = ""; /** * InvoiceMessage attachmentMediaKey. * @member {Uint8Array} attachmentMediaKey * @memberof proto.Message.InvoiceMessage * @instance */ InvoiceMessage.prototype.attachmentMediaKey = $util.newBuffer([]); /** * InvoiceMessage attachmentMediaKeyTimestamp. * @member {number|Long} attachmentMediaKeyTimestamp * @memberof proto.Message.InvoiceMessage * @instance */ InvoiceMessage.prototype.attachmentMediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * InvoiceMessage attachmentFileSha256. * @member {Uint8Array} attachmentFileSha256 * @memberof proto.Message.InvoiceMessage * @instance */ InvoiceMessage.prototype.attachmentFileSha256 = $util.newBuffer([]); /** * InvoiceMessage attachmentFileEncSha256. * @member {Uint8Array} attachmentFileEncSha256 * @memberof proto.Message.InvoiceMessage * @instance */ InvoiceMessage.prototype.attachmentFileEncSha256 = $util.newBuffer([]); /** * InvoiceMessage attachmentDirectPath. * @member {string} attachmentDirectPath * @memberof proto.Message.InvoiceMessage * @instance */ InvoiceMessage.prototype.attachmentDirectPath = ""; /** * InvoiceMessage attachmentJpegThumbnail. * @member {Uint8Array} attachmentJpegThumbnail * @memberof proto.Message.InvoiceMessage * @instance */ InvoiceMessage.prototype.attachmentJpegThumbnail = $util.newBuffer([]); /** * Creates a new InvoiceMessage instance using the specified properties. * @function create * @memberof proto.Message.InvoiceMessage * @static * @param {proto.Message.IInvoiceMessage=} [properties] Properties to set * @returns {proto.Message.InvoiceMessage} InvoiceMessage instance */ InvoiceMessage.create = function create(properties) { return new InvoiceMessage(properties); }; /** * Encodes the specified InvoiceMessage message. Does not implicitly {@link proto.Message.InvoiceMessage.verify|verify} messages. * @function encode * @memberof proto.Message.InvoiceMessage * @static * @param {proto.Message.IInvoiceMessage} message InvoiceMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InvoiceMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.note != null && Object.hasOwnProperty.call(message, "note")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.note); if (message.token != null && Object.hasOwnProperty.call(message, "token")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.token); if (message.attachmentType != null && Object.hasOwnProperty.call(message, "attachmentType")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.attachmentType); if (message.attachmentMimetype != null && Object.hasOwnProperty.call(message, "attachmentMimetype")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.attachmentMimetype); if (message.attachmentMediaKey != null && Object.hasOwnProperty.call(message, "attachmentMediaKey")) writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.attachmentMediaKey); if (message.attachmentMediaKeyTimestamp != null && Object.hasOwnProperty.call(message, "attachmentMediaKeyTimestamp")) writer.uint32(/* id 6, wireType 0 =*/48).int64(message.attachmentMediaKeyTimestamp); if (message.attachmentFileSha256 != null && Object.hasOwnProperty.call(message, "attachmentFileSha256")) writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.attachmentFileSha256); if (message.attachmentFileEncSha256 != null && Object.hasOwnProperty.call(message, "attachmentFileEncSha256")) writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.attachmentFileEncSha256); if (message.attachmentDirectPath != null && Object.hasOwnProperty.call(message, "attachmentDirectPath")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.attachmentDirectPath); if (message.attachmentJpegThumbnail != null && Object.hasOwnProperty.call(message, "attachmentJpegThumbnail")) writer.uint32(/* id 10, wireType 2 =*/82).bytes(message.attachmentJpegThumbnail); return writer; }; /** * Encodes the specified InvoiceMessage message, length delimited. Does not implicitly {@link proto.Message.InvoiceMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.InvoiceMessage * @static * @param {proto.Message.IInvoiceMessage} message InvoiceMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ InvoiceMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an InvoiceMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.InvoiceMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.InvoiceMessage} InvoiceMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InvoiceMessage.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.InvoiceMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.note = reader.string(); break; case 2: message.token = reader.string(); break; case 3: message.attachmentType = reader.int32(); break; case 4: message.attachmentMimetype = reader.string(); break; case 5: message.attachmentMediaKey = reader.bytes(); break; case 6: message.attachmentMediaKeyTimestamp = reader.int64(); break; case 7: message.attachmentFileSha256 = reader.bytes(); break; case 8: message.attachmentFileEncSha256 = reader.bytes(); break; case 9: message.attachmentDirectPath = reader.string(); break; case 10: message.attachmentJpegThumbnail = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an InvoiceMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.InvoiceMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.InvoiceMessage} InvoiceMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ InvoiceMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an InvoiceMessage message. * @function verify * @memberof proto.Message.InvoiceMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ InvoiceMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.note != null && message.hasOwnProperty("note")) if (!$util.isString(message.note)) return "note: string expected"; if (message.token != null && message.hasOwnProperty("token")) if (!$util.isString(message.token)) return "token: string expected"; if (message.attachmentType != null && message.hasOwnProperty("attachmentType")) switch (message.attachmentType) { default: return "attachmentType: enum value expected"; case 0: case 1: break; } if (message.attachmentMimetype != null && message.hasOwnProperty("attachmentMimetype")) if (!$util.isString(message.attachmentMimetype)) return "attachmentMimetype: string expected"; if (message.attachmentMediaKey != null && message.hasOwnProperty("attachmentMediaKey")) if (!(message.attachmentMediaKey && typeof message.attachmentMediaKey.length === "number" || $util.isString(message.attachmentMediaKey))) return "attachmentMediaKey: buffer expected"; if (message.attachmentMediaKeyTimestamp != null && message.hasOwnProperty("attachmentMediaKeyTimestamp")) if (!$util.isInteger(message.attachmentMediaKeyTimestamp) && !(message.attachmentMediaKeyTimestamp && $util.isInteger(message.attachmentMediaKeyTimestamp.low) && $util.isInteger(message.attachmentMediaKeyTimestamp.high))) return "attachmentMediaKeyTimestamp: integer|Long expected"; if (message.attachmentFileSha256 != null && message.hasOwnProperty("attachmentFileSha256")) if (!(message.attachmentFileSha256 && typeof message.attachmentFileSha256.length === "number" || $util.isString(message.attachmentFileSha256))) return "attachmentFileSha256: buffer expected"; if (message.attachmentFileEncSha256 != null && message.hasOwnProperty("attachmentFileEncSha256")) if (!(message.attachmentFileEncSha256 && typeof message.attachmentFileEncSha256.length === "number" || $util.isString(message.attachmentFileEncSha256))) return "attachmentFileEncSha256: buffer expected"; if (message.attachmentDirectPath != null && message.hasOwnProperty("attachmentDirectPath")) if (!$util.isString(message.attachmentDirectPath)) return "attachmentDirectPath: string expected"; if (message.attachmentJpegThumbnail != null && message.hasOwnProperty("attachmentJpegThumbnail")) if (!(message.attachmentJpegThumbnail && typeof message.attachmentJpegThumbnail.length === "number" || $util.isString(message.attachmentJpegThumbnail))) return "attachmentJpegThumbnail: buffer expected"; return null; }; /** * Creates an InvoiceMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.InvoiceMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.InvoiceMessage} InvoiceMessage */ InvoiceMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.InvoiceMessage) return object; var message = new $root.proto.Message.InvoiceMessage(); if (object.note != null) message.note = String(object.note); if (object.token != null) message.token = String(object.token); switch (object.attachmentType) { case "IMAGE": case 0: message.attachmentType = 0; break; case "PDF": case 1: message.attachmentType = 1; break; } if (object.attachmentMimetype != null) message.attachmentMimetype = String(object.attachmentMimetype); if (object.attachmentMediaKey != null) if (typeof object.attachmentMediaKey === "string") $util.base64.decode(object.attachmentMediaKey, message.attachmentMediaKey = $util.newBuffer($util.base64.length(object.attachmentMediaKey)), 0); else if (object.attachmentMediaKey.length) message.attachmentMediaKey = object.attachmentMediaKey; if (object.attachmentMediaKeyTimestamp != null) if ($util.Long) (message.attachmentMediaKeyTimestamp = $util.Long.fromValue(object.attachmentMediaKeyTimestamp)).unsigned = false; else if (typeof object.attachmentMediaKeyTimestamp === "string") message.attachmentMediaKeyTimestamp = parseInt(object.attachmentMediaKeyTimestamp, 10); else if (typeof object.attachmentMediaKeyTimestamp === "number") message.attachmentMediaKeyTimestamp = object.attachmentMediaKeyTimestamp; else if (typeof object.attachmentMediaKeyTimestamp === "object") message.attachmentMediaKeyTimestamp = new $util.LongBits(object.attachmentMediaKeyTimestamp.low >>> 0, object.attachmentMediaKeyTimestamp.high >>> 0).toNumber(); if (object.attachmentFileSha256 != null) if (typeof object.attachmentFileSha256 === "string") $util.base64.decode(object.attachmentFileSha256, message.attachmentFileSha256 = $util.newBuffer($util.base64.length(object.attachmentFileSha256)), 0); else if (object.attachmentFileSha256.length) message.attachmentFileSha256 = object.attachmentFileSha256; if (object.attachmentFileEncSha256 != null) if (typeof object.attachmentFileEncSha256 === "string") $util.base64.decode(object.attachmentFileEncSha256, message.attachmentFileEncSha256 = $util.newBuffer($util.base64.length(object.attachmentFileEncSha256)), 0); else if (object.attachmentFileEncSha256.length) message.attachmentFileEncSha256 = object.attachmentFileEncSha256; if (object.attachmentDirectPath != null) message.attachmentDirectPath = String(object.attachmentDirectPath); if (object.attachmentJpegThumbnail != null) if (typeof object.attachmentJpegThumbnail === "string") $util.base64.decode(object.attachmentJpegThumbnail, message.attachmentJpegThumbnail = $util.newBuffer($util.base64.length(object.attachmentJpegThumbnail)), 0); else if (object.attachmentJpegThumbnail.length) message.attachmentJpegThumbnail = object.attachmentJpegThumbnail; return message; }; /** * Creates a plain object from an InvoiceMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.InvoiceMessage * @static * @param {proto.Message.InvoiceMessage} message InvoiceMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ InvoiceMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.note = ""; object.token = ""; object.attachmentType = options.enums === String ? "IMAGE" : 0; object.attachmentMimetype = ""; if (options.bytes === String) object.attachmentMediaKey = ""; else { object.attachmentMediaKey = []; if (options.bytes !== Array) object.attachmentMediaKey = $util.newBuffer(object.attachmentMediaKey); } if ($util.Long) { var long = new $util.Long(0, 0, false); object.attachmentMediaKeyTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.attachmentMediaKeyTimestamp = options.longs === String ? "0" : 0; if (options.bytes === String) object.attachmentFileSha256 = ""; else { object.attachmentFileSha256 = []; if (options.bytes !== Array) object.attachmentFileSha256 = $util.newBuffer(object.attachmentFileSha256); } if (options.bytes === String) object.attachmentFileEncSha256 = ""; else { object.attachmentFileEncSha256 = []; if (options.bytes !== Array) object.attachmentFileEncSha256 = $util.newBuffer(object.attachmentFileEncSha256); } object.attachmentDirectPath = ""; if (options.bytes === String) object.attachmentJpegThumbnail = ""; else { object.attachmentJpegThumbnail = []; if (options.bytes !== Array) object.attachmentJpegThumbnail = $util.newBuffer(object.attachmentJpegThumbnail); } } if (message.note != null && message.hasOwnProperty("note")) object.note = message.note; if (message.token != null && message.hasOwnProperty("token")) object.token = message.token; if (message.attachmentType != null && message.hasOwnProperty("attachmentType")) object.attachmentType = options.enums === String ? $root.proto.Message.InvoiceMessage.AttachmentType[message.attachmentType] : message.attachmentType; if (message.attachmentMimetype != null && message.hasOwnProperty("attachmentMimetype")) object.attachmentMimetype = message.attachmentMimetype; if (message.attachmentMediaKey != null && message.hasOwnProperty("attachmentMediaKey")) object.attachmentMediaKey = options.bytes === String ? $util.base64.encode(message.attachmentMediaKey, 0, message.attachmentMediaKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.attachmentMediaKey) : message.attachmentMediaKey; if (message.attachmentMediaKeyTimestamp != null && message.hasOwnProperty("attachmentMediaKeyTimestamp")) if (typeof message.attachmentMediaKeyTimestamp === "number") object.attachmentMediaKeyTimestamp = options.longs === String ? String(message.attachmentMediaKeyTimestamp) : message.attachmentMediaKeyTimestamp; else object.attachmentMediaKeyTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.attachmentMediaKeyTimestamp) : options.longs === Number ? new $util.LongBits(message.attachmentMediaKeyTimestamp.low >>> 0, message.attachmentMediaKeyTimestamp.high >>> 0).toNumber() : message.attachmentMediaKeyTimestamp; if (message.attachmentFileSha256 != null && message.hasOwnProperty("attachmentFileSha256")) object.attachmentFileSha256 = options.bytes === String ? $util.base64.encode(message.attachmentFileSha256, 0, message.attachmentFileSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.attachmentFileSha256) : message.attachmentFileSha256; if (message.attachmentFileEncSha256 != null && message.hasOwnProperty("attachmentFileEncSha256")) object.attachmentFileEncSha256 = options.bytes === String ? $util.base64.encode(message.attachmentFileEncSha256, 0, message.attachmentFileEncSha256.length) : options.bytes === Array ? Array.prototype.slice.call(message.attachmentFileEncSha256) : message.attachmentFileEncSha256; if (message.attachmentDirectPath != null && message.hasOwnProperty("attachmentDirectPath")) object.attachmentDirectPath = message.attachmentDirectPath; if (message.attachmentJpegThumbnail != null && message.hasOwnProperty("attachmentJpegThumbnail")) object.attachmentJpegThumbnail = options.bytes === String ? $util.base64.encode(message.attachmentJpegThumbnail, 0, message.attachmentJpegThumbnail.length) : options.bytes === Array ? Array.prototype.slice.call(message.attachmentJpegThumbnail) : message.attachmentJpegThumbnail; return object; }; /** * Converts this InvoiceMessage to JSON. * @function toJSON * @memberof proto.Message.InvoiceMessage * @instance * @returns {Object.<string,*>} JSON object */ InvoiceMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * AttachmentType enum. * @name proto.Message.InvoiceMessage.AttachmentType * @enum {number} * @property {number} IMAGE=0 IMAGE value * @property {number} PDF=1 PDF value */ InvoiceMessage.AttachmentType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "IMAGE"] = 0; values[valuesById[1] = "PDF"] = 1; return values; })(); return InvoiceMessage; })(); Message.KeepInChatMessage = (function() { /** * Properties of a KeepInChatMessage. * @memberof proto.Message * @interface IKeepInChatMessage * @property {proto.IMessageKey|null} [key] KeepInChatMessage key * @property {proto.KeepType|null} [keepType] KeepInChatMessage keepType * @property {number|Long|null} [timestampMs] KeepInChatMessage timestampMs */ /** * Constructs a new KeepInChatMessage. * @memberof proto.Message * @classdesc Represents a KeepInChatMessage. * @implements IKeepInChatMessage * @constructor * @param {proto.Message.IKeepInChatMessage=} [properties] Properties to set */ function KeepInChatMessage(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]]; } /** * KeepInChatMessage key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.Message.KeepInChatMessage * @instance */ KeepInChatMessage.prototype.key = null; /** * KeepInChatMessage keepType. * @member {proto.KeepType} keepType * @memberof proto.Message.KeepInChatMessage * @instance */ KeepInChatMessage.prototype.keepType = 0; /** * KeepInChatMessage timestampMs. * @member {number|Long} timestampMs * @memberof proto.Message.KeepInChatMessage * @instance */ KeepInChatMessage.prototype.timestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new KeepInChatMessage instance using the specified properties. * @function create * @memberof proto.Message.KeepInChatMessage * @static * @param {proto.Message.IKeepInChatMessage=} [properties] Properties to set * @returns {proto.Message.KeepInChatMessage} KeepInChatMessage instance */ KeepInChatMessage.create = function create(properties) { return new KeepInChatMessage(properties); }; /** * Encodes the specified KeepInChatMessage message. Does not implicitly {@link proto.Message.KeepInChatMessage.verify|verify} messages. * @function encode * @memberof proto.Message.KeepInChatMessage * @static * @param {proto.Message.IKeepInChatMessage} message KeepInChatMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ KeepInChatMessage.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.keepType != null && Object.hasOwnProperty.call(message, "keepType")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.keepType); if (message.timestampMs != null && Object.hasOwnProperty.call(message, "timestampMs")) writer.uint32(/* id 3, wireType 0 =*/24).int64(message.timestampMs); return writer; }; /** * Encodes the specified KeepInChatMessage message, length delimited. Does not implicitly {@link proto.Message.KeepInChatMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.KeepInChatMessage * @static * @param {proto.Message.IKeepInChatMessage} message KeepInChatMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ KeepInChatMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a KeepInChatMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.KeepInChatMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.KeepInChatMessage} KeepInChatMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ KeepInChatMessage.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.KeepInChatMessage(); 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.keepType = reader.int32(); break; case 3: message.timestampMs = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a KeepInChatMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.KeepInChatMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.KeepInChatMessage} KeepInChatMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ KeepInChatMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a KeepInChatMessage message. * @function verify * @memberof proto.Message.KeepInChatMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ KeepInChatMessage.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.keepType != null && message.hasOwnProperty("keepType")) switch (message.keepType) { default: return "keepType: enum value expected"; case 0: case 1: case 2: break; } if (message.timestampMs != null && message.hasOwnProperty("timestampMs")) if (!$util.isInteger(message.timestampMs) && !(message.timestampMs && $util.isInteger(message.timestampMs.low) && $util.isInteger(message.timestampMs.high))) return "timestampMs: integer|Long expected"; return null; }; /** * Creates a KeepInChatMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.KeepInChatMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.KeepInChatMessage} KeepInChatMessage */ KeepInChatMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.KeepInChatMessage) return object; var message = new $root.proto.Message.KeepInChatMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.Message.KeepInChatMessage.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } switch (object.keepType) { case "UNKNOWN": case 0: message.keepType = 0; break; case "KEEP_FOR_ALL": case 1: message.keepType = 1; break; case "UNDO_KEEP_FOR_ALL": case 2: message.keepType = 2; break; } if (object.timestampMs != null) if ($util.Long) (message.timestampMs = $util.Long.fromValue(object.timestampMs)).unsigned = false; else if (typeof object.timestampMs === "string") message.timestampMs = parseInt(object.timestampMs, 10); else if (typeof object.timestampMs === "number") message.timestampMs = object.timestampMs; else if (typeof object.timestampMs === "object") message.timestampMs = new $util.LongBits(object.timestampMs.low >>> 0, object.timestampMs.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a KeepInChatMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.KeepInChatMessage * @static * @param {proto.Message.KeepInChatMessage} message KeepInChatMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ KeepInChatMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.key = null; object.keepType = options.enums === String ? "UNKNOWN" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.timestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.timestampMs = options.longs === String ? "0" : 0; } if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); if (message.keepType != null && message.hasOwnProperty("keepType")) object.keepType = options.enums === String ? $root.proto.KeepType[message.keepType] : message.keepType; if (message.timestampMs != null && message.hasOwnProperty("timestampMs")) if (typeof message.timestampMs === "number") object.timestampMs = options.longs === String ? String(message.timestampMs) : message.timestampMs; else object.timestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.timestampMs) : options.longs === Number ? new $util.LongBits(message.timestampMs.low >>> 0, message.timestampMs.high >>> 0).toNumber() : message.timestampMs; return object; }; /** * Converts this KeepInChatMessage to JSON. * @function toJSON * @memberof proto.Message.KeepInChatMessage * @instance * @returns {Object.<string,*>} JSON object */ KeepInChatMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return KeepInChatMessage; })(); Message.ListMessage = (function() { /** * Properties of a ListMessage. * @memberof proto.Message * @interface IListMessage * @property {string|null} [title] ListMessage title * @property {string|null} [description] ListMessage description * @property {string|null} [buttonText] ListMessage buttonText * @property {proto.Message.ListMessage.ListType|null} [listType] ListMessage listType * @property {Array.<proto.Message.ListMessage.ISection>|null} [sections] ListMessage sections * @property {proto.Message.ListMessage.IProductListInfo|null} [productListInfo] ListMessage productListInfo * @property {string|null} [footerText] ListMessage footerText * @property {proto.IContextInfo|null} [contextInfo] ListMessage contextInfo */ /** * Constructs a new ListMessage. * @memberof proto.Message * @classdesc Represents a ListMessage. * @implements IListMessage * @constructor * @param {proto.Message.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.Message.ListMessage * @instance */ ListMessage.prototype.title = ""; /** * ListMessage description. * @member {string} description * @memberof proto.Message.ListMessage * @instance */ ListMessage.prototype.description = ""; /** * ListMessage buttonText. * @member {string} buttonText * @memberof proto.Message.ListMessage * @instance */ ListMessage.prototype.buttonText = ""; /** * ListMessage listType. * @member {proto.Message.ListMessage.ListType} listType * @memberof proto.Message.ListMessage * @instance */ ListMessage.prototype.listType = 0; /** * ListMessage sections. * @member {Array.<proto.Message.ListMessage.ISection>} sections * @memberof proto.Message.ListMessage * @instance */ ListMessage.prototype.sections = $util.emptyArray; /** * ListMessage productListInfo. * @member {proto.Message.ListMessage.IProductListInfo|null|undefined} productListInfo * @memberof proto.Message.ListMessage * @instance */ ListMessage.prototype.productListInfo = null; /** * ListMessage footerText. * @member {string} footerText * @memberof proto.Message.ListMessage * @instance */ ListMessage.prototype.footerText = ""; /** * ListMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.ListMessage * @instance */ ListMessage.prototype.contextInfo = null; /** * Creates a new ListMessage instance using the specified properties. * @function create * @memberof proto.Message.ListMessage * @static * @param {proto.Message.IListMessage=} [properties] Properties to set * @returns {proto.Message.ListMessage} ListMessage instance */ ListMessage.create = function create(properties) { return new ListMessage(properties); }; /** * Encodes the specified ListMessage message. Does not implicitly {@link proto.Message.ListMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ListMessage * @static * @param {proto.Message.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.Message.ListMessage.Section.encode(message.sections[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.productListInfo != null && Object.hasOwnProperty.call(message, "productListInfo")) $root.proto.Message.ListMessage.ProductListInfo.encode(message.productListInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.footerText != null && Object.hasOwnProperty.call(message, "footerText")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.footerText); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); return writer; }; /** * Encodes the specified ListMessage message, length delimited. Does not implicitly {@link proto.Message.ListMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ListMessage * @static * @param {proto.Message.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.Message.ListMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.ListMessage.Section.decode(reader, reader.uint32())); break; case 6: message.productListInfo = $root.proto.Message.ListMessage.ProductListInfo.decode(reader, reader.uint32()); break; case 7: message.footerText = reader.string(); break; case 8: message.contextInfo = $root.proto.ContextInfo.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.Message.ListMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.ListMessage * @static * @param {Object.<string,*>} 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: case 2: 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.Message.ListMessage.Section.verify(message.sections[i]); if (error) return "sections." + error; } } if (message.productListInfo != null && message.hasOwnProperty("productListInfo")) { var error = $root.proto.Message.ListMessage.ProductListInfo.verify(message.productListInfo); if (error) return "productListInfo." + error; } if (message.footerText != null && message.hasOwnProperty("footerText")) if (!$util.isString(message.footerText)) return "footerText: 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 ListMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ListMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ListMessage} ListMessage */ ListMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ListMessage) return object; var message = new $root.proto.Message.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; case "PRODUCT_LIST": case 2: message.listType = 2; break; } if (object.sections) { if (!Array.isArray(object.sections)) throw TypeError(".proto.Message.ListMessage.sections: array expected"); message.sections = []; for (var i = 0; i < object.sections.length; ++i) { if (typeof object.sections[i] !== "object") throw TypeError(".proto.Message.ListMessage.sections: object expected"); message.sections[i] = $root.proto.Message.ListMessage.Section.fromObject(object.sections[i]); } } if (object.productListInfo != null) { if (typeof object.productListInfo !== "object") throw TypeError(".proto.Message.ListMessage.productListInfo: object expected"); message.productListInfo = $root.proto.Message.ListMessage.ProductListInfo.fromObject(object.productListInfo); } if (object.footerText != null) message.footerText = String(object.footerText); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.ListMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a ListMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ListMessage * @static * @param {proto.Message.ListMessage} message ListMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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; object.productListInfo = null; object.footerText = ""; object.contextInfo = null; } 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.Message.ListMessage.ListType[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.Message.ListMessage.Section.toObject(message.sections[j], options); } if (message.productListInfo != null && message.hasOwnProperty("productListInfo")) object.productListInfo = $root.proto.Message.ListMessage.ProductListInfo.toObject(message.productListInfo, options); if (message.footerText != null && message.hasOwnProperty("footerText")) object.footerText = message.footerText; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this ListMessage to JSON. * @function toJSON * @memberof proto.Message.ListMessage * @instance * @returns {Object.<string,*>} JSON object */ ListMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ListType enum. * @name proto.Message.ListMessage.ListType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SINGLE_SELECT=1 SINGLE_SELECT value * @property {number} PRODUCT_LIST=2 PRODUCT_LIST value */ ListMessage.ListType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "SINGLE_SELECT"] = 1; values[valuesById[2] = "PRODUCT_LIST"] = 2; return values; })(); ListMessage.Product = (function() { /** * Properties of a Product. * @memberof proto.Message.ListMessage * @interface IProduct * @property {string|null} [productId] Product productId */ /** * Constructs a new Product. * @memberof proto.Message.ListMessage * @classdesc Represents a Product. * @implements IProduct * @constructor * @param {proto.Message.ListMessage.IProduct=} [properties] Properties to set */ function Product(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]]; } /** * Product productId. * @member {string} productId * @memberof proto.Message.ListMessage.Product * @instance */ Product.prototype.productId = ""; /** * Creates a new Product instance using the specified properties. * @function create * @memberof proto.Message.ListMessage.Product * @static * @param {proto.Message.ListMessage.IProduct=} [properties] Properties to set * @returns {proto.Message.ListMessage.Product} Product instance */ Product.create = function create(properties) { return new Product(properties); }; /** * Encodes the specified Product message. Does not implicitly {@link proto.Message.ListMessage.Product.verify|verify} messages. * @function encode * @memberof proto.Message.ListMessage.Product * @static * @param {proto.Message.ListMessage.IProduct} message Product message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Product.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productId); return writer; }; /** * Encodes the specified Product message, length delimited. Does not implicitly {@link proto.Message.ListMessage.Product.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ListMessage.Product * @static * @param {proto.Message.ListMessage.IProduct} message Product message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Product.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Product message from the specified reader or buffer. * @function decode * @memberof proto.Message.ListMessage.Product * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ListMessage.Product} Product * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Product.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.ListMessage.Product(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.productId = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Product message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ListMessage.Product * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ListMessage.Product} Product * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Product.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Product message. * @function verify * @memberof proto.Message.ListMessage.Product * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Product.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.productId != null && message.hasOwnProperty("productId")) if (!$util.isString(message.productId)) return "productId: string expected"; return null; }; /** * Creates a Product message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ListMessage.Product * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ListMessage.Product} Product */ Product.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ListMessage.Product) return object; var message = new $root.proto.Message.ListMessage.Product(); if (object.productId != null) message.productId = String(object.productId); return message; }; /** * Creates a plain object from a Product message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ListMessage.Product * @static * @param {proto.Message.ListMessage.Product} message Product * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Product.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.productId = ""; if (message.productId != null && message.hasOwnProperty("productId")) object.productId = message.productId; return object; }; /** * Converts this Product to JSON. * @function toJSON * @memberof proto.Message.ListMessage.Product * @instance * @returns {Object.<string,*>} JSON object */ Product.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Product; })(); ListMessage.ProductListHeaderImage = (function() { /** * Properties of a ProductListHeaderImage. * @memberof proto.Message.ListMessage * @interface IProductListHeaderImage * @property {string|null} [productId] ProductListHeaderImage productId * @property {Uint8Array|null} [jpegThumbnail] ProductListHeaderImage jpegThumbnail */ /** * Constructs a new ProductListHeaderImage. * @memberof proto.Message.ListMessage * @classdesc Represents a ProductListHeaderImage. * @implements IProductListHeaderImage * @constructor * @param {proto.Message.ListMessage.IProductListHeaderImage=} [properties] Properties to set */ function ProductListHeaderImage(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]]; } /** * ProductListHeaderImage productId. * @member {string} productId * @memberof proto.Message.ListMessage.ProductListHeaderImage * @instance */ ProductListHeaderImage.prototype.productId = ""; /** * ProductListHeaderImage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.Message.ListMessage.ProductListHeaderImage * @instance */ ProductListHeaderImage.prototype.jpegThumbnail = $util.newBuffer([]); /** * Creates a new ProductListHeaderImage instance using the specified properties. * @function create * @memberof proto.Message.ListMessage.ProductListHeaderImage * @static * @param {proto.Message.ListMessage.IProductListHeaderImage=} [properties] Properties to set * @returns {proto.Message.ListMessage.ProductListHeaderImage} ProductListHeaderImage instance */ ProductListHeaderImage.create = function create(properties) { return new ProductListHeaderImage(properties); }; /** * Encodes the specified ProductListHeaderImage message. Does not implicitly {@link proto.Message.ListMessage.ProductListHeaderImage.verify|verify} messages. * @function encode * @memberof proto.Message.ListMessage.ProductListHeaderImage * @static * @param {proto.Message.ListMessage.IProductListHeaderImage} message ProductListHeaderImage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProductListHeaderImage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.productId != null && Object.hasOwnProperty.call(message, "productId")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.productId); if (message.jpegThumbnail != null && Object.hasOwnProperty.call(message, "jpegThumbnail")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.jpegThumbnail); return writer; }; /** * Encodes the specified ProductListHeaderImage message, length delimited. Does not implicitly {@link proto.Message.ListMessage.ProductListHeaderImage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ListMessage.ProductListHeaderImage * @static * @param {proto.Message.ListMessage.IProductListHeaderImage} message ProductListHeaderImage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProductListHeaderImage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ProductListHeaderImage message from the specified reader or buffer. * @function decode * @memberof proto.Message.ListMessage.ProductListHeaderImage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ListMessage.ProductListHeaderImage} ProductListHeaderImage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProductListHeaderImage.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.ListMessage.ProductListHeaderImage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.productId = reader.string(); break; case 2: message.jpegThumbnail = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ProductListHeaderImage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ListMessage.ProductListHeaderImage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ListMessage.ProductListHeaderImage} ProductListHeaderImage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProductListHeaderImage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ProductListHeaderImage message. * @function verify * @memberof proto.Message.ListMessage.ProductListHeaderImage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ProductListHeaderImage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.productId != null && message.hasOwnProperty("productId")) if (!$util.isString(message.productId)) return "productId: 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"; return null; }; /** * Creates a ProductListHeaderImage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ListMessage.ProductListHeaderImage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ListMessage.ProductListHeaderImage} ProductListHeaderImage */ ProductListHeaderImage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ListMessage.ProductListHeaderImage) return object; var message = new $root.proto.Message.ListMessage.ProductListHeaderImage(); if (object.productId != null) message.productId = String(object.productId); 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; return message; }; /** * Creates a plain object from a ProductListHeaderImage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ListMessage.ProductListHeaderImage * @static * @param {proto.Message.ListMessage.ProductListHeaderImage} message ProductListHeaderImage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ProductListHeaderImage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.productId = ""; if (options.bytes === String) object.jpegThumbnail = ""; else { object.jpegThumbnail = []; if (options.bytes !== Array) object.jpegThumbnail = $util.newBuffer(object.jpegThumbnail); } } if (message.productId != null && message.hasOwnProperty("productId")) object.productId = message.productId; 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; return object; }; /** * Converts this ProductListHeaderImage to JSON. * @function toJSON * @memberof proto.Message.ListMessage.ProductListHeaderImage * @instance * @returns {Object.<string,*>} JSON object */ ProductListHeaderImage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ProductListHeaderImage; })(); ListMessage.ProductListInfo = (function() { /** * Properties of a ProductListInfo. * @memberof proto.Message.ListMessage * @interface IProductListInfo * @property {Array.<proto.Message.ListMessage.IProductSection>|null} [productSections] ProductListInfo productSections * @property {proto.Message.ListMessage.IProductListHeaderImage|null} [headerImage] ProductListInfo headerImage * @property {string|null} [businessOwnerJid] ProductListInfo businessOwnerJid */ /** * Constructs a new ProductListInfo. * @memberof proto.Message.ListMessage * @classdesc Represents a ProductListInfo. * @implements IProductListInfo * @constructor * @param {proto.Message.ListMessage.IProductListInfo=} [properties] Properties to set */ function ProductListInfo(properties) { this.productSections = []; 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]]; } /** * ProductListInfo productSections. * @member {Array.<proto.Message.ListMessage.IProductSection>} productSections * @memberof proto.Message.ListMessage.ProductListInfo * @instance */ ProductListInfo.prototype.productSections = $util.emptyArray; /** * ProductListInfo headerImage. * @member {proto.Message.ListMessage.IProductListHeaderImage|null|undefined} headerImage * @memberof proto.Message.ListMessage.ProductListInfo * @instance */ ProductListInfo.prototype.headerImage = null; /** * ProductListInfo businessOwnerJid. * @member {string} businessOwnerJid * @memberof proto.Message.ListMessage.ProductListInfo * @instance */ ProductListInfo.prototype.businessOwnerJid = ""; /** * Creates a new ProductListInfo instance using the specified properties. * @function create * @memberof proto.Message.ListMessage.ProductListInfo * @static * @param {proto.Message.ListMessage.IProductListInfo=} [properties] Properties to set * @returns {proto.Message.ListMessage.ProductListInfo} ProductListInfo instance */ ProductListInfo.create = function create(properties) { return new ProductListInfo(properties); }; /** * Encodes the specified ProductListInfo message. Does not implicitly {@link proto.Message.ListMessage.ProductListInfo.verify|verify} messages. * @function encode * @memberof proto.Message.ListMessage.ProductListInfo * @static * @param {proto.Message.ListMessage.IProductListInfo} message ProductListInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProductListInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.productSections != null && message.productSections.length) for (var i = 0; i < message.productSections.length; ++i) $root.proto.Message.ListMessage.ProductSection.encode(message.productSections[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.headerImage != null && Object.hasOwnProperty.call(message, "headerImage")) $root.proto.Message.ListMessage.ProductListHeaderImage.encode(message.headerImage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.businessOwnerJid != null && Object.hasOwnProperty.call(message, "businessOwnerJid")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.businessOwnerJid); return writer; }; /** * Encodes the specified ProductListInfo message, length delimited. Does not implicitly {@link proto.Message.ListMessage.ProductListInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ListMessage.ProductListInfo * @static * @param {proto.Message.ListMessage.IProductListInfo} message ProductListInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProductListInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ProductListInfo message from the specified reader or buffer. * @function decode * @memberof proto.Message.ListMessage.ProductListInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ListMessage.ProductListInfo} ProductListInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProductListInfo.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.ListMessage.ProductListInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.productSections && message.productSections.length)) message.productSections = []; message.productSections.push($root.proto.Message.ListMessage.ProductSection.decode(reader, reader.uint32())); break; case 2: message.headerImage = $root.proto.Message.ListMessage.ProductListHeaderImage.decode(reader, reader.uint32()); break; case 3: message.businessOwnerJid = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ProductListInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ListMessage.ProductListInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ListMessage.ProductListInfo} ProductListInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProductListInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ProductListInfo message. * @function verify * @memberof proto.Message.ListMessage.ProductListInfo * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ProductListInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.productSections != null && message.hasOwnProperty("productSections")) { if (!Array.isArray(message.productSections)) return "productSections: array expected"; for (var i = 0; i < message.productSections.length; ++i) { var error = $root.proto.Message.ListMessage.ProductSection.verify(message.productSections[i]); if (error) return "productSections." + error; } } if (message.headerImage != null && message.hasOwnProperty("headerImage")) { var error = $root.proto.Message.ListMessage.ProductListHeaderImage.verify(message.headerImage); if (error) return "headerImage." + error; } if (message.businessOwnerJid != null && message.hasOwnProperty("businessOwnerJid")) if (!$util.isString(message.businessOwnerJid)) return "businessOwnerJid: string expected"; return null; }; /** * Creates a ProductListInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ListMessage.ProductListInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ListMessage.ProductListInfo} ProductListInfo */ ProductListInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ListMessage.ProductListInfo) return object; var message = new $root.proto.Message.ListMessage.ProductListInfo(); if (object.productSections) { if (!Array.isArray(object.productSections)) throw TypeError(".proto.Message.ListMessage.ProductListInfo.productSections: array expected"); message.productSections = []; for (var i = 0; i < object.productSections.length; ++i) { if (typeof object.productSections[i] !== "object") throw TypeError(".proto.Message.ListMessage.ProductListInfo.productSections: object expected"); message.productSections[i] = $root.proto.Message.ListMessage.ProductSection.fromObject(object.productSections[i]); } } if (object.headerImage != null) { if (typeof object.headerImage !== "object") throw TypeError(".proto.Message.ListMessage.ProductListInfo.headerImage: object expected"); message.headerImage = $root.proto.Message.ListMessage.ProductListHeaderImage.fromObject(object.headerImage); } if (object.businessOwnerJid != null) message.businessOwnerJid = String(object.businessOwnerJid); return message; }; /** * Creates a plain object from a ProductListInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ListMessage.ProductListInfo * @static * @param {proto.Message.ListMessage.ProductListInfo} message ProductListInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ProductListInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.productSections = []; if (options.defaults) { object.headerImage = null; object.businessOwnerJid = ""; } if (message.productSections && message.productSections.length) { object.productSections = []; for (var j = 0; j < message.productSections.length; ++j) object.productSections[j] = $root.proto.Message.ListMessage.ProductSection.toObject(message.productSections[j], options); } if (message.headerImage != null && message.hasOwnProperty("headerImage")) object.headerImage = $root.proto.Message.ListMessage.ProductListHeaderImage.toObject(message.headerImage, options); if (message.businessOwnerJid != null && message.hasOwnProperty("businessOwnerJid")) object.businessOwnerJid = message.businessOwnerJid; return object; }; /** * Converts this ProductListInfo to JSON. * @function toJSON * @memberof proto.Message.ListMessage.ProductListInfo * @instance * @returns {Object.<string,*>} JSON object */ ProductListInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ProductListInfo; })(); ListMessage.ProductSection = (function() { /** * Properties of a ProductSection. * @memberof proto.Message.ListMessage * @interface IProductSection * @property {string|null} [title] ProductSection title * @property {Array.<proto.Message.ListMessage.IProduct>|null} [products] ProductSection products */ /** * Constructs a new ProductSection. * @memberof proto.Message.ListMessage * @classdesc Represents a ProductSection. * @implements IProductSection * @constructor * @param {proto.Message.ListMessage.IProductSection=} [properties] Properties to set */ function ProductSection(properties) { this.products = []; 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]]; } /** * ProductSection title. * @member {string} title * @memberof proto.Message.ListMessage.ProductSection * @instance */ ProductSection.prototype.title = ""; /** * ProductSection products. * @member {Array.<proto.Message.ListMessage.IProduct>} products * @memberof proto.Message.ListMessage.ProductSection * @instance */ ProductSection.prototype.products = $util.emptyArray; /** * Creates a new ProductSection instance using the specified properties. * @function create * @memberof proto.Message.ListMessage.ProductSection * @static * @param {proto.Message.ListMessage.IProductSection=} [properties] Properties to set * @returns {proto.Message.ListMessage.ProductSection} ProductSection instance */ ProductSection.create = function create(properties) { return new ProductSection(properties); }; /** * Encodes the specified ProductSection message. Does not implicitly {@link proto.Message.ListMessage.ProductSection.verify|verify} messages. * @function encode * @memberof proto.Message.ListMessage.ProductSection * @static * @param {proto.Message.ListMessage.IProductSection} message ProductSection message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProductSection.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.products != null && message.products.length) for (var i = 0; i < message.products.length; ++i) $root.proto.Message.ListMessage.Product.encode(message.products[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified ProductSection message, length delimited. Does not implicitly {@link proto.Message.ListMessage.ProductSection.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ListMessage.ProductSection * @static * @param {proto.Message.ListMessage.IProductSection} message ProductSection message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ProductSection.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ProductSection message from the specified reader or buffer. * @function decode * @memberof proto.Message.ListMessage.ProductSection * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ListMessage.ProductSection} ProductSection * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProductSection.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.ListMessage.ProductSection(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.title = reader.string(); break; case 2: if (!(message.products && message.products.length)) message.products = []; message.products.push($root.proto.Message.ListMessage.Product.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ProductSection message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ListMessage.ProductSection * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ListMessage.ProductSection} ProductSection * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ProductSection.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ProductSection message. * @function verify * @memberof proto.Message.ListMessage.ProductSection * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ProductSection.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.products != null && message.hasOwnProperty("products")) { if (!Array.isArray(message.products)) return "products: array expected"; for (var i = 0; i < message.products.length; ++i) { var error = $root.proto.Message.ListMessage.Product.verify(message.products[i]); if (error) return "products." + error; } } return null; }; /** * Creates a ProductSection message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ListMessage.ProductSection * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ListMessage.ProductSection} ProductSection */ ProductSection.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ListMessage.ProductSection) return object; var message = new $root.proto.Message.ListMessage.ProductSection(); if (object.title != null) message.title = String(object.title); if (object.products) { if (!Array.isArray(object.products)) throw TypeError(".proto.Message.ListMessage.ProductSection.products: array expected"); message.products = []; for (var i = 0; i < object.products.length; ++i) { if (typeof object.products[i] !== "object") throw TypeError(".proto.Message.ListMessage.ProductSection.products: object expected"); message.products[i] = $root.proto.Message.ListMessage.Product.fromObject(object.products[i]); } } return message; }; /** * Creates a plain object from a ProductSection message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ListMessage.ProductSection * @static * @param {proto.Message.ListMessage.ProductSection} message ProductSection * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ProductSection.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.products = []; if (options.defaults) object.title = ""; if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.products && message.products.length) { object.products = []; for (var j = 0; j < message.products.length; ++j) object.products[j] = $root.proto.Message.ListMessage.Product.toObject(message.products[j], options); } return object; }; /** * Converts this ProductSection to JSON. * @function toJSON * @memberof proto.Message.ListMessage.ProductSection * @instance * @returns {Object.<string,*>} JSON object */ ProductSection.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ProductSection; })(); ListMessage.Row = (function() { /** * Properties of a Row. * @memberof proto.Message.ListMessage * @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.Message.ListMessage * @classdesc Represents a Row. * @implements IRow * @constructor * @param {proto.Message.ListMessage.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.Message.ListMessage.Row * @instance */ Row.prototype.title = ""; /** * Row description. * @member {string} description * @memberof proto.Message.ListMessage.Row * @instance */ Row.prototype.description = ""; /** * Row rowId. * @member {string} rowId * @memberof proto.Message.ListMessage.Row * @instance */ Row.prototype.rowId = ""; /** * Creates a new Row instance using the specified properties. * @function create * @memberof proto.Message.ListMessage.Row * @static * @param {proto.Message.ListMessage.IRow=} [properties] Properties to set * @returns {proto.Message.ListMessage.Row} Row instance */ Row.create = function create(properties) { return new Row(properties); }; /** * Encodes the specified Row message. Does not implicitly {@link proto.Message.ListMessage.Row.verify|verify} messages. * @function encode * @memberof proto.Message.ListMessage.Row * @static * @param {proto.Message.ListMessage.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.Message.ListMessage.Row.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ListMessage.Row * @static * @param {proto.Message.ListMessage.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.Message.ListMessage.Row * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ListMessage.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.Message.ListMessage.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.Message.ListMessage.Row * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ListMessage.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.Message.ListMessage.Row * @static * @param {Object.<string,*>} 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.Message.ListMessage.Row * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ListMessage.Row} Row */ Row.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ListMessage.Row) return object; var message = new $root.proto.Message.ListMessage.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.Message.ListMessage.Row * @static * @param {proto.Message.ListMessage.Row} message Row * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.ListMessage.Row * @instance * @returns {Object.<string,*>} JSON object */ Row.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Row; })(); ListMessage.Section = (function() { /** * Properties of a Section. * @memberof proto.Message.ListMessage * @interface ISection * @property {string|null} [title] Section title * @property {Array.<proto.Message.ListMessage.IRow>|null} [rows] Section rows */ /** * Constructs a new Section. * @memberof proto.Message.ListMessage * @classdesc Represents a Section. * @implements ISection * @constructor * @param {proto.Message.ListMessage.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.Message.ListMessage.Section * @instance */ Section.prototype.title = ""; /** * Section rows. * @member {Array.<proto.Message.ListMessage.IRow>} rows * @memberof proto.Message.ListMessage.Section * @instance */ Section.prototype.rows = $util.emptyArray; /** * Creates a new Section instance using the specified properties. * @function create * @memberof proto.Message.ListMessage.Section * @static * @param {proto.Message.ListMessage.ISection=} [properties] Properties to set * @returns {proto.Message.ListMessage.Section} Section instance */ Section.create = function create(properties) { return new Section(properties); }; /** * Encodes the specified Section message. Does not implicitly {@link proto.Message.ListMessage.Section.verify|verify} messages. * @function encode * @memberof proto.Message.ListMessage.Section * @static * @param {proto.Message.ListMessage.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.Message.ListMessage.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.Message.ListMessage.Section.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ListMessage.Section * @static * @param {proto.Message.ListMessage.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.Message.ListMessage.Section * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ListMessage.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.Message.ListMessage.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.Message.ListMessage.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.Message.ListMessage.Section * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ListMessage.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.Message.ListMessage.Section * @static * @param {Object.<string,*>} 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.Message.ListMessage.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.Message.ListMessage.Section * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ListMessage.Section} Section */ Section.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ListMessage.Section) return object; var message = new $root.proto.Message.ListMessage.Section(); if (object.title != null) message.title = String(object.title); if (object.rows) { if (!Array.isArray(object.rows)) throw TypeError(".proto.Message.ListMessage.Section.rows: array expected"); message.rows = []; for (var i = 0; i < object.rows.length; ++i) { if (typeof object.rows[i] !== "object") throw TypeError(".proto.Message.ListMessage.Section.rows: object expected"); message.rows[i] = $root.proto.Message.ListMessage.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.Message.ListMessage.Section * @static * @param {proto.Message.ListMessage.Section} message Section * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.ListMessage.Row.toObject(message.rows[j], options); } return object; }; /** * Converts this Section to JSON. * @function toJSON * @memberof proto.Message.ListMessage.Section * @instance * @returns {Object.<string,*>} JSON object */ Section.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Section; })(); return ListMessage; })(); Message.ListResponseMessage = (function() { /** * Properties of a ListResponseMessage. * @memberof proto.Message * @interface IListResponseMessage * @property {string|null} [title] ListResponseMessage title * @property {proto.Message.ListResponseMessage.ListType|null} [listType] ListResponseMessage listType * @property {proto.Message.ListResponseMessage.ISingleSelectReply|null} [singleSelectReply] ListResponseMessage singleSelectReply * @property {proto.IContextInfo|null} [contextInfo] ListResponseMessage contextInfo * @property {string|null} [description] ListResponseMessage description */ /** * Constructs a new ListResponseMessage. * @memberof proto.Message * @classdesc Represents a ListResponseMessage. * @implements IListResponseMessage * @constructor * @param {proto.Message.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 title. * @member {string} title * @memberof proto.Message.ListResponseMessage * @instance */ ListResponseMessage.prototype.title = ""; /** * ListResponseMessage listType. * @member {proto.Message.ListResponseMessage.ListType} listType * @memberof proto.Message.ListResponseMessage * @instance */ ListResponseMessage.prototype.listType = 0; /** * ListResponseMessage singleSelectReply. * @member {proto.Message.ListResponseMessage.ISingleSelectReply|null|undefined} singleSelectReply * @memberof proto.Message.ListResponseMessage * @instance */ ListResponseMessage.prototype.singleSelectReply = null; /** * ListResponseMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.ListResponseMessage * @instance */ ListResponseMessage.prototype.contextInfo = null; /** * ListResponseMessage description. * @member {string} description * @memberof proto.Message.ListResponseMessage * @instance */ ListResponseMessage.prototype.description = ""; /** * Creates a new ListResponseMessage instance using the specified properties. * @function create * @memberof proto.Message.ListResponseMessage * @static * @param {proto.Message.IListResponseMessage=} [properties] Properties to set * @returns {proto.Message.ListResponseMessage} ListResponseMessage instance */ ListResponseMessage.create = function create(properties) { return new ListResponseMessage(properties); }; /** * Encodes the specified ListResponseMessage message. Does not implicitly {@link proto.Message.ListResponseMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ListResponseMessage * @static * @param {proto.Message.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.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.title); 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.Message.ListResponseMessage.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(); if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.description); return writer; }; /** * Encodes the specified ListResponseMessage message, length delimited. Does not implicitly {@link proto.Message.ListResponseMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ListResponseMessage * @static * @param {proto.Message.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.Message.ListResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.ListResponseMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.title = reader.string(); break; case 2: message.listType = reader.int32(); break; case 3: message.singleSelectReply = $root.proto.Message.ListResponseMessage.SingleSelectReply.decode(reader, reader.uint32()); break; case 4: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; case 5: message.description = reader.string(); 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.Message.ListResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.ListResponseMessage * @static * @param {Object.<string,*>} 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.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: 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.Message.ListResponseMessage.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; } if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) return "description: string expected"; return null; }; /** * Creates a ListResponseMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ListResponseMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ListResponseMessage} ListResponseMessage */ ListResponseMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ListResponseMessage) return object; var message = new $root.proto.Message.ListResponseMessage(); if (object.title != null) message.title = String(object.title); 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.Message.ListResponseMessage.singleSelectReply: object expected"); message.singleSelectReply = $root.proto.Message.ListResponseMessage.SingleSelectReply.fromObject(object.singleSelectReply); } if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.ListResponseMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.description != null) message.description = String(object.description); return message; }; /** * Creates a plain object from a ListResponseMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ListResponseMessage * @static * @param {proto.Message.ListResponseMessage} message ListResponseMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ListResponseMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.title = ""; object.listType = options.enums === String ? "UNKNOWN" : 0; object.singleSelectReply = null; object.contextInfo = null; object.description = ""; } if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.listType != null && message.hasOwnProperty("listType")) object.listType = options.enums === String ? $root.proto.Message.ListResponseMessage.ListType[message.listType] : message.listType; if (message.singleSelectReply != null && message.hasOwnProperty("singleSelectReply")) object.singleSelectReply = $root.proto.Message.ListResponseMessage.SingleSelectReply.toObject(message.singleSelectReply, options); if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; return object; }; /** * Converts this ListResponseMessage to JSON. * @function toJSON * @memberof proto.Message.ListResponseMessage * @instance * @returns {Object.<string,*>} JSON object */ ListResponseMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ListType enum. * @name proto.Message.ListResponseMessage.ListType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} SINGLE_SELECT=1 SINGLE_SELECT value */ ListResponseMessage.ListType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "SINGLE_SELECT"] = 1; return values; })(); ListResponseMessage.SingleSelectReply = (function() { /** * Properties of a SingleSelectReply. * @memberof proto.Message.ListResponseMessage * @interface ISingleSelectReply * @property {string|null} [selectedRowId] SingleSelectReply selectedRowId */ /** * Constructs a new SingleSelectReply. * @memberof proto.Message.ListResponseMessage * @classdesc Represents a SingleSelectReply. * @implements ISingleSelectReply * @constructor * @param {proto.Message.ListResponseMessage.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.Message.ListResponseMessage.SingleSelectReply * @instance */ SingleSelectReply.prototype.selectedRowId = ""; /** * Creates a new SingleSelectReply instance using the specified properties. * @function create * @memberof proto.Message.ListResponseMessage.SingleSelectReply * @static * @param {proto.Message.ListResponseMessage.ISingleSelectReply=} [properties] Properties to set * @returns {proto.Message.ListResponseMessage.SingleSelectReply} SingleSelectReply instance */ SingleSelectReply.create = function create(properties) { return new SingleSelectReply(properties); }; /** * Encodes the specified SingleSelectReply message. Does not implicitly {@link proto.Message.ListResponseMessage.SingleSelectReply.verify|verify} messages. * @function encode * @memberof proto.Message.ListResponseMessage.SingleSelectReply * @static * @param {proto.Message.ListResponseMessage.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.Message.ListResponseMessage.SingleSelectReply.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ListResponseMessage.SingleSelectReply * @static * @param {proto.Message.ListResponseMessage.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.Message.ListResponseMessage.SingleSelectReply * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ListResponseMessage.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.Message.ListResponseMessage.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.Message.ListResponseMessage.SingleSelectReply * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ListResponseMessage.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.Message.ListResponseMessage.SingleSelectReply * @static * @param {Object.<string,*>} 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.Message.ListResponseMessage.SingleSelectReply * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ListResponseMessage.SingleSelectReply} SingleSelectReply */ SingleSelectReply.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ListResponseMessage.SingleSelectReply) return object; var message = new $root.proto.Message.ListResponseMessage.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.Message.ListResponseMessage.SingleSelectReply * @static * @param {proto.Message.ListResponseMessage.SingleSelectReply} message SingleSelectReply * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.ListResponseMessage.SingleSelectReply * @instance * @returns {Object.<string,*>} JSON object */ SingleSelectReply.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SingleSelectReply; })(); return ListResponseMessage; })(); Message.LiveLocationMessage = (function() { /** * Properties of a LiveLocationMessage. * @memberof proto.Message * @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.Message * @classdesc Represents a LiveLocationMessage. * @implements ILiveLocationMessage * @constructor * @param {proto.Message.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.Message.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.degreesLatitude = 0; /** * LiveLocationMessage degreesLongitude. * @member {number} degreesLongitude * @memberof proto.Message.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.degreesLongitude = 0; /** * LiveLocationMessage accuracyInMeters. * @member {number} accuracyInMeters * @memberof proto.Message.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.accuracyInMeters = 0; /** * LiveLocationMessage speedInMps. * @member {number} speedInMps * @memberof proto.Message.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.speedInMps = 0; /** * LiveLocationMessage degreesClockwiseFromMagneticNorth. * @member {number} degreesClockwiseFromMagneticNorth * @memberof proto.Message.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.degreesClockwiseFromMagneticNorth = 0; /** * LiveLocationMessage caption. * @member {string} caption * @memberof proto.Message.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.caption = ""; /** * LiveLocationMessage sequenceNumber. * @member {number|Long} sequenceNumber * @memberof proto.Message.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.sequenceNumber = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * LiveLocationMessage timeOffset. * @member {number} timeOffset * @memberof proto.Message.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.timeOffset = 0; /** * LiveLocationMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.Message.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * LiveLocationMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.LiveLocationMessage * @instance */ LiveLocationMessage.prototype.contextInfo = null; /** * Creates a new LiveLocationMessage instance using the specified properties. * @function create * @memberof proto.Message.LiveLocationMessage * @static * @param {proto.Message.ILiveLocationMessage=} [properties] Properties to set * @returns {proto.Message.LiveLocationMessage} LiveLocationMessage instance */ LiveLocationMessage.create = function create(properties) { return new LiveLocationMessage(properties); }; /** * Encodes the specified LiveLocationMessage message. Does not implicitly {@link proto.Message.LiveLocationMessage.verify|verify} messages. * @function encode * @memberof proto.Message.LiveLocationMessage * @static * @param {proto.Message.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.Message.LiveLocationMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.LiveLocationMessage * @static * @param {proto.Message.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.Message.LiveLocationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.LiveLocationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.LiveLocationMessage * @static * @param {Object.<string,*>} 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.Message.LiveLocationMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.LiveLocationMessage} LiveLocationMessage */ LiveLocationMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.LiveLocationMessage) return object; var message = new $root.proto.Message.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.Message.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.Message.LiveLocationMessage * @static * @param {proto.Message.LiveLocationMessage} message LiveLocationMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.LiveLocationMessage * @instance * @returns {Object.<string,*>} JSON object */ LiveLocationMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return LiveLocationMessage; })(); Message.LocationMessage = (function() { /** * Properties of a LocationMessage. * @memberof proto.Message * @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.Message * @classdesc Represents a LocationMessage. * @implements ILocationMessage * @constructor * @param {proto.Message.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.Message.LocationMessage * @instance */ LocationMessage.prototype.degreesLatitude = 0; /** * LocationMessage degreesLongitude. * @member {number} degreesLongitude * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.degreesLongitude = 0; /** * LocationMessage name. * @member {string} name * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.name = ""; /** * LocationMessage address. * @member {string} address * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.address = ""; /** * LocationMessage url. * @member {string} url * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.url = ""; /** * LocationMessage isLive. * @member {boolean} isLive * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.isLive = false; /** * LocationMessage accuracyInMeters. * @member {number} accuracyInMeters * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.accuracyInMeters = 0; /** * LocationMessage speedInMps. * @member {number} speedInMps * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.speedInMps = 0; /** * LocationMessage degreesClockwiseFromMagneticNorth. * @member {number} degreesClockwiseFromMagneticNorth * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.degreesClockwiseFromMagneticNorth = 0; /** * LocationMessage comment. * @member {string} comment * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.comment = ""; /** * LocationMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * LocationMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.LocationMessage * @instance */ LocationMessage.prototype.contextInfo = null; /** * Creates a new LocationMessage instance using the specified properties. * @function create * @memberof proto.Message.LocationMessage * @static * @param {proto.Message.ILocationMessage=} [properties] Properties to set * @returns {proto.Message.LocationMessage} LocationMessage instance */ LocationMessage.create = function create(properties) { return new LocationMessage(properties); }; /** * Encodes the specified LocationMessage message. Does not implicitly {@link proto.Message.LocationMessage.verify|verify} messages. * @function encode * @memberof proto.Message.LocationMessage * @static * @param {proto.Message.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.Message.LocationMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.LocationMessage * @static * @param {proto.Message.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.Message.LocationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.LocationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.LocationMessage * @static * @param {Object.<string,*>} 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.Message.LocationMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.LocationMessage} LocationMessage */ LocationMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.LocationMessage) return object; var message = new $root.proto.Message.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.Message.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.Message.LocationMessage * @static * @param {proto.Message.LocationMessage} message LocationMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.LocationMessage * @instance * @returns {Object.<string,*>} JSON object */ LocationMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return LocationMessage; })(); Message.OrderMessage = (function() { /** * Properties of an OrderMessage. * @memberof proto.Message * @interface IOrderMessage * @property {string|null} [orderId] OrderMessage orderId * @property {Uint8Array|null} [thumbnail] OrderMessage thumbnail * @property {number|null} [itemCount] OrderMessage itemCount * @property {proto.Message.OrderMessage.OrderStatus|null} [status] OrderMessage status * @property {proto.Message.OrderMessage.OrderSurface|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 {number|Long|null} [totalAmount1000] OrderMessage totalAmount1000 * @property {string|null} [totalCurrencyCode] OrderMessage totalCurrencyCode * @property {proto.IContextInfo|null} [contextInfo] OrderMessage contextInfo */ /** * Constructs a new OrderMessage. * @memberof proto.Message * @classdesc Represents an OrderMessage. * @implements IOrderMessage * @constructor * @param {proto.Message.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.Message.OrderMessage * @instance */ OrderMessage.prototype.orderId = ""; /** * OrderMessage thumbnail. * @member {Uint8Array} thumbnail * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.thumbnail = $util.newBuffer([]); /** * OrderMessage itemCount. * @member {number} itemCount * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.itemCount = 0; /** * OrderMessage status. * @member {proto.Message.OrderMessage.OrderStatus} status * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.status = 1; /** * OrderMessage surface. * @member {proto.Message.OrderMessage.OrderSurface} surface * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.surface = 1; /** * OrderMessage message. * @member {string} message * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.message = ""; /** * OrderMessage orderTitle. * @member {string} orderTitle * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.orderTitle = ""; /** * OrderMessage sellerJid. * @member {string} sellerJid * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.sellerJid = ""; /** * OrderMessage token. * @member {string} token * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.token = ""; /** * OrderMessage totalAmount1000. * @member {number|Long} totalAmount1000 * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.totalAmount1000 = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * OrderMessage totalCurrencyCode. * @member {string} totalCurrencyCode * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.totalCurrencyCode = ""; /** * OrderMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.OrderMessage * @instance */ OrderMessage.prototype.contextInfo = null; /** * Creates a new OrderMessage instance using the specified properties. * @function create * @memberof proto.Message.OrderMessage * @static * @param {proto.Message.IOrderMessage=} [properties] Properties to set * @returns {proto.Message.OrderMessage} OrderMessage instance */ OrderMessage.create = function create(properties) { return new OrderMessage(properties); }; /** * Encodes the specified OrderMessage message. Does not implicitly {@link proto.Message.OrderMessage.verify|verify} messages. * @function encode * @memberof proto.Message.OrderMessage * @static * @param {proto.Message.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.totalAmount1000 != null && Object.hasOwnProperty.call(message, "totalAmount1000")) writer.uint32(/* id 10, wireType 0 =*/80).int64(message.totalAmount1000); if (message.totalCurrencyCode != null && Object.hasOwnProperty.call(message, "totalCurrencyCode")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.totalCurrencyCode); 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.Message.OrderMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.OrderMessage * @static * @param {proto.Message.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.Message.OrderMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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 10: message.totalAmount1000 = reader.int64(); break; case 11: message.totalCurrencyCode = 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.Message.OrderMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.OrderMessage * @static * @param {Object.<string,*>} 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.totalAmount1000 != null && message.hasOwnProperty("totalAmount1000")) if (!$util.isInteger(message.totalAmount1000) && !(message.totalAmount1000 && $util.isInteger(message.totalAmount1000.low) && $util.isInteger(message.totalAmount1000.high))) return "totalAmount1000: integer|Long expected"; if (message.totalCurrencyCode != null && message.hasOwnProperty("totalCurrencyCode")) if (!$util.isString(message.totalCurrencyCode)) return "totalCurrencyCode: 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.Message.OrderMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.OrderMessage} OrderMessage */ OrderMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.OrderMessage) return object; var message = new $root.proto.Message.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.totalAmount1000 != null) if ($util.Long) (message.totalAmount1000 = $util.Long.fromValue(object.totalAmount1000)).unsigned = false; else if (typeof object.totalAmount1000 === "string") message.totalAmount1000 = parseInt(object.totalAmount1000, 10); else if (typeof object.totalAmount1000 === "number") message.totalAmount1000 = object.totalAmount1000; else if (typeof object.totalAmount1000 === "object") message.totalAmount1000 = new $util.LongBits(object.totalAmount1000.low >>> 0, object.totalAmount1000.high >>> 0).toNumber(); if (object.totalCurrencyCode != null) message.totalCurrencyCode = String(object.totalCurrencyCode); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.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.Message.OrderMessage * @static * @param {proto.Message.OrderMessage} message OrderMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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 = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.totalAmount1000 = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.totalAmount1000 = options.longs === String ? "0" : 0; object.totalCurrencyCode = ""; 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.Message.OrderMessage.OrderStatus[message.status] : message.status; if (message.surface != null && message.hasOwnProperty("surface")) object.surface = options.enums === String ? $root.proto.Message.OrderMessage.OrderSurface[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.totalAmount1000 != null && message.hasOwnProperty("totalAmount1000")) if (typeof message.totalAmount1000 === "number") object.totalAmount1000 = options.longs === String ? String(message.totalAmount1000) : message.totalAmount1000; else object.totalAmount1000 = options.longs === String ? $util.Long.prototype.toString.call(message.totalAmount1000) : options.longs === Number ? new $util.LongBits(message.totalAmount1000.low >>> 0, message.totalAmount1000.high >>> 0).toNumber() : message.totalAmount1000; if (message.totalCurrencyCode != null && message.hasOwnProperty("totalCurrencyCode")) object.totalCurrencyCode = message.totalCurrencyCode; 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.Message.OrderMessage * @instance * @returns {Object.<string,*>} JSON object */ OrderMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * OrderStatus enum. * @name proto.Message.OrderMessage.OrderStatus * @enum {number} * @property {number} INQUIRY=1 INQUIRY value */ OrderMessage.OrderStatus = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[1] = "INQUIRY"] = 1; return values; })(); /** * OrderSurface enum. * @name proto.Message.OrderMessage.OrderSurface * @enum {number} * @property {number} CATALOG=1 CATALOG value */ OrderMessage.OrderSurface = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[1] = "CATALOG"] = 1; return values; })(); return OrderMessage; })(); Message.PaymentInviteMessage = (function() { /** * Properties of a PaymentInviteMessage. * @memberof proto.Message * @interface IPaymentInviteMessage * @property {proto.Message.PaymentInviteMessage.ServiceType|null} [serviceType] PaymentInviteMessage serviceType * @property {number|Long|null} [expiryTimestamp] PaymentInviteMessage expiryTimestamp */ /** * Constructs a new PaymentInviteMessage. * @memberof proto.Message * @classdesc Represents a PaymentInviteMessage. * @implements IPaymentInviteMessage * @constructor * @param {proto.Message.IPaymentInviteMessage=} [properties] Properties to set */ function PaymentInviteMessage(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]]; } /** * PaymentInviteMessage serviceType. * @member {proto.Message.PaymentInviteMessage.ServiceType} serviceType * @memberof proto.Message.PaymentInviteMessage * @instance */ PaymentInviteMessage.prototype.serviceType = 0; /** * PaymentInviteMessage expiryTimestamp. * @member {number|Long} expiryTimestamp * @memberof proto.Message.PaymentInviteMessage * @instance */ PaymentInviteMessage.prototype.expiryTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new PaymentInviteMessage instance using the specified properties. * @function create * @memberof proto.Message.PaymentInviteMessage * @static * @param {proto.Message.IPaymentInviteMessage=} [properties] Properties to set * @returns {proto.Message.PaymentInviteMessage} PaymentInviteMessage instance */ PaymentInviteMessage.create = function create(properties) { return new PaymentInviteMessage(properties); }; /** * Encodes the specified PaymentInviteMessage message. Does not implicitly {@link proto.Message.PaymentInviteMessage.verify|verify} messages. * @function encode * @memberof proto.Message.PaymentInviteMessage * @static * @param {proto.Message.IPaymentInviteMessage} message PaymentInviteMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PaymentInviteMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.serviceType != null && Object.hasOwnProperty.call(message, "serviceType")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.serviceType); if (message.expiryTimestamp != null && Object.hasOwnProperty.call(message, "expiryTimestamp")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.expiryTimestamp); return writer; }; /** * Encodes the specified PaymentInviteMessage message, length delimited. Does not implicitly {@link proto.Message.PaymentInviteMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PaymentInviteMessage * @static * @param {proto.Message.IPaymentInviteMessage} message PaymentInviteMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PaymentInviteMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PaymentInviteMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.PaymentInviteMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PaymentInviteMessage} PaymentInviteMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PaymentInviteMessage.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.PaymentInviteMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.serviceType = reader.int32(); break; case 2: message.expiryTimestamp = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PaymentInviteMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PaymentInviteMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PaymentInviteMessage} PaymentInviteMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PaymentInviteMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PaymentInviteMessage message. * @function verify * @memberof proto.Message.PaymentInviteMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PaymentInviteMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.serviceType != null && message.hasOwnProperty("serviceType")) switch (message.serviceType) { default: return "serviceType: enum value expected"; case 0: case 1: case 2: case 3: break; } 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 PaymentInviteMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PaymentInviteMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PaymentInviteMessage} PaymentInviteMessage */ PaymentInviteMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PaymentInviteMessage) return object; var message = new $root.proto.Message.PaymentInviteMessage(); switch (object.serviceType) { case "UNKNOWN": case 0: message.serviceType = 0; break; case "FBPAY": case 1: message.serviceType = 1; break; case "NOVI": case 2: message.serviceType = 2; break; case "UPI": case 3: message.serviceType = 3; break; } 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 PaymentInviteMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PaymentInviteMessage * @static * @param {proto.Message.PaymentInviteMessage} message PaymentInviteMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PaymentInviteMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.serviceType = options.enums === String ? "UNKNOWN" : 0; 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.serviceType != null && message.hasOwnProperty("serviceType")) object.serviceType = options.enums === String ? $root.proto.Message.PaymentInviteMessage.ServiceType[message.serviceType] : message.serviceType; 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 PaymentInviteMessage to JSON. * @function toJSON * @memberof proto.Message.PaymentInviteMessage * @instance * @returns {Object.<string,*>} JSON object */ PaymentInviteMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ServiceType enum. * @name proto.Message.PaymentInviteMessage.ServiceType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} FBPAY=1 FBPAY value * @property {number} NOVI=2 NOVI value * @property {number} UPI=3 UPI value */ PaymentInviteMessage.ServiceType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "FBPAY"] = 1; values[valuesById[2] = "NOVI"] = 2; values[valuesById[3] = "UPI"] = 3; return values; })(); return PaymentInviteMessage; })(); Message.PeerDataOperationRequestMessage = (function() { /** * Properties of a PeerDataOperationRequestMessage. * @memberof proto.Message * @interface IPeerDataOperationRequestMessage * @property {proto.Message.PeerDataOperationRequestType|null} [peerDataOperationRequestType] PeerDataOperationRequestMessage peerDataOperationRequestType * @property {Array.<proto.Message.PeerDataOperationRequestMessage.IRequestStickerReupload>|null} [requestStickerReupload] PeerDataOperationRequestMessage requestStickerReupload * @property {Array.<proto.Message.PeerDataOperationRequestMessage.IRequestUrlPreview>|null} [requestUrlPreview] PeerDataOperationRequestMessage requestUrlPreview * @property {proto.Message.PeerDataOperationRequestMessage.IHistorySyncOnDemandRequest|null} [historySyncOnDemandRequest] PeerDataOperationRequestMessage historySyncOnDemandRequest * @property {Array.<proto.Message.PeerDataOperationRequestMessage.IPlaceholderMessageResendRequest>|null} [placeholderMessageResendRequest] PeerDataOperationRequestMessage placeholderMessageResendRequest */ /** * Constructs a new PeerDataOperationRequestMessage. * @memberof proto.Message * @classdesc Represents a PeerDataOperationRequestMessage. * @implements IPeerDataOperationRequestMessage * @constructor * @param {proto.Message.IPeerDataOperationRequestMessage=} [properties] Properties to set */ function PeerDataOperationRequestMessage(properties) { this.requestStickerReupload = []; this.requestUrlPreview = []; this.placeholderMessageResendRequest = []; 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]]; } /** * PeerDataOperationRequestMessage peerDataOperationRequestType. * @member {proto.Message.PeerDataOperationRequestType} peerDataOperationRequestType * @memberof proto.Message.PeerDataOperationRequestMessage * @instance */ PeerDataOperationRequestMessage.prototype.peerDataOperationRequestType = 0; /** * PeerDataOperationRequestMessage requestStickerReupload. * @member {Array.<proto.Message.PeerDataOperationRequestMessage.IRequestStickerReupload>} requestStickerReupload * @memberof proto.Message.PeerDataOperationRequestMessage * @instance */ PeerDataOperationRequestMessage.prototype.requestStickerReupload = $util.emptyArray; /** * PeerDataOperationRequestMessage requestUrlPreview. * @member {Array.<proto.Message.PeerDataOperationRequestMessage.IRequestUrlPreview>} requestUrlPreview * @memberof proto.Message.PeerDataOperationRequestMessage * @instance */ PeerDataOperationRequestMessage.prototype.requestUrlPreview = $util.emptyArray; /** * PeerDataOperationRequestMessage historySyncOnDemandRequest. * @member {proto.Message.PeerDataOperationRequestMessage.IHistorySyncOnDemandRequest|null|undefined} historySyncOnDemandRequest * @memberof proto.Message.PeerDataOperationRequestMessage * @instance */ PeerDataOperationRequestMessage.prototype.historySyncOnDemandRequest = null; /** * PeerDataOperationRequestMessage placeholderMessageResendRequest. * @member {Array.<proto.Message.PeerDataOperationRequestMessage.IPlaceholderMessageResendRequest>} placeholderMessageResendRequest * @memberof proto.Message.PeerDataOperationRequestMessage * @instance */ PeerDataOperationRequestMessage.prototype.placeholderMessageResendRequest = $util.emptyArray; /** * Creates a new PeerDataOperationRequestMessage instance using the specified properties. * @function create * @memberof proto.Message.PeerDataOperationRequestMessage * @static * @param {proto.Message.IPeerDataOperationRequestMessage=} [properties] Properties to set * @returns {proto.Message.PeerDataOperationRequestMessage} PeerDataOperationRequestMessage instance */ PeerDataOperationRequestMessage.create = function create(properties) { return new PeerDataOperationRequestMessage(properties); }; /** * Encodes the specified PeerDataOperationRequestMessage message. Does not implicitly {@link proto.Message.PeerDataOperationRequestMessage.verify|verify} messages. * @function encode * @memberof proto.Message.PeerDataOperationRequestMessage * @static * @param {proto.Message.IPeerDataOperationRequestMessage} message PeerDataOperationRequestMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PeerDataOperationRequestMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.peerDataOperationRequestType != null && Object.hasOwnProperty.call(message, "peerDataOperationRequestType")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.peerDataOperationRequestType); if (message.requestStickerReupload != null && message.requestStickerReupload.length) for (var i = 0; i < message.requestStickerReupload.length; ++i) $root.proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload.encode(message.requestStickerReupload[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.requestUrlPreview != null && message.requestUrlPreview.length) for (var i = 0; i < message.requestUrlPreview.length; ++i) $root.proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview.encode(message.requestUrlPreview[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.historySyncOnDemandRequest != null && Object.hasOwnProperty.call(message, "historySyncOnDemandRequest")) $root.proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest.encode(message.historySyncOnDemandRequest, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.placeholderMessageResendRequest != null && message.placeholderMessageResendRequest.length) for (var i = 0; i < message.placeholderMessageResendRequest.length; ++i) $root.proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.encode(message.placeholderMessageResendRequest[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; /** * Encodes the specified PeerDataOperationRequestMessage message, length delimited. Does not implicitly {@link proto.Message.PeerDataOperationRequestMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PeerDataOperationRequestMessage * @static * @param {proto.Message.IPeerDataOperationRequestMessage} message PeerDataOperationRequestMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PeerDataOperationRequestMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PeerDataOperationRequestMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.PeerDataOperationRequestMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PeerDataOperationRequestMessage} PeerDataOperationRequestMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PeerDataOperationRequestMessage.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.PeerDataOperationRequestMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.peerDataOperationRequestType = reader.int32(); break; case 2: if (!(message.requestStickerReupload && message.requestStickerReupload.length)) message.requestStickerReupload = []; message.requestStickerReupload.push($root.proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload.decode(reader, reader.uint32())); break; case 3: if (!(message.requestUrlPreview && message.requestUrlPreview.length)) message.requestUrlPreview = []; message.requestUrlPreview.push($root.proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview.decode(reader, reader.uint32())); break; case 4: message.historySyncOnDemandRequest = $root.proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest.decode(reader, reader.uint32()); break; case 5: if (!(message.placeholderMessageResendRequest && message.placeholderMessageResendRequest.length)) message.placeholderMessageResendRequest = []; message.placeholderMessageResendRequest.push($root.proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PeerDataOperationRequestMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PeerDataOperationRequestMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PeerDataOperationRequestMessage} PeerDataOperationRequestMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PeerDataOperationRequestMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PeerDataOperationRequestMessage message. * @function verify * @memberof proto.Message.PeerDataOperationRequestMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PeerDataOperationRequestMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.peerDataOperationRequestType != null && message.hasOwnProperty("peerDataOperationRequestType")) switch (message.peerDataOperationRequestType) { default: return "peerDataOperationRequestType: enum value expected"; case 0: case 1: case 2: case 3: case 4: break; } if (message.requestStickerReupload != null && message.hasOwnProperty("requestStickerReupload")) { if (!Array.isArray(message.requestStickerReupload)) return "requestStickerReupload: array expected"; for (var i = 0; i < message.requestStickerReupload.length; ++i) { var error = $root.proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload.verify(message.requestStickerReupload[i]); if (error) return "requestStickerReupload." + error; } } if (message.requestUrlPreview != null && message.hasOwnProperty("requestUrlPreview")) { if (!Array.isArray(message.requestUrlPreview)) return "requestUrlPreview: array expected"; for (var i = 0; i < message.requestUrlPreview.length; ++i) { var error = $root.proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview.verify(message.requestUrlPreview[i]); if (error) return "requestUrlPreview." + error; } } if (message.historySyncOnDemandRequest != null && message.hasOwnProperty("historySyncOnDemandRequest")) { var error = $root.proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest.verify(message.historySyncOnDemandRequest); if (error) return "historySyncOnDemandRequest." + error; } if (message.placeholderMessageResendRequest != null && message.hasOwnProperty("placeholderMessageResendRequest")) { if (!Array.isArray(message.placeholderMessageResendRequest)) return "placeholderMessageResendRequest: array expected"; for (var i = 0; i < message.placeholderMessageResendRequest.length; ++i) { var error = $root.proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.verify(message.placeholderMessageResendRequest[i]); if (error) return "placeholderMessageResendRequest." + error; } } return null; }; /** * Creates a PeerDataOperationRequestMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PeerDataOperationRequestMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PeerDataOperationRequestMessage} PeerDataOperationRequestMessage */ PeerDataOperationRequestMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PeerDataOperationRequestMessage) return object; var message = new $root.proto.Message.PeerDataOperationRequestMessage(); switch (object.peerDataOperationRequestType) { case "UPLOAD_STICKER": case 0: message.peerDataOperationRequestType = 0; break; case "SEND_RECENT_STICKER_BOOTSTRAP": case 1: message.peerDataOperationRequestType = 1; break; case "GENERATE_LINK_PREVIEW": case 2: message.peerDataOperationRequestType = 2; break; case "HISTORY_SYNC_ON_DEMAND": case 3: message.peerDataOperationRequestType = 3; break; case "PLACEHOLDER_MESSAGE_RESEND": case 4: message.peerDataOperationRequestType = 4; break; } if (object.requestStickerReupload) { if (!Array.isArray(object.requestStickerReupload)) throw TypeError(".proto.Message.PeerDataOperationRequestMessage.requestStickerReupload: array expected"); message.requestStickerReupload = []; for (var i = 0; i < object.requestStickerReupload.length; ++i) { if (typeof object.requestStickerReupload[i] !== "object") throw TypeError(".proto.Message.PeerDataOperationRequestMessage.requestStickerReupload: object expected"); message.requestStickerReupload[i] = $root.proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload.fromObject(object.requestStickerReupload[i]); } } if (object.requestUrlPreview) { if (!Array.isArray(object.requestUrlPreview)) throw TypeError(".proto.Message.PeerDataOperationRequestMessage.requestUrlPreview: array expected"); message.requestUrlPreview = []; for (var i = 0; i < object.requestUrlPreview.length; ++i) { if (typeof object.requestUrlPreview[i] !== "object") throw TypeError(".proto.Message.PeerDataOperationRequestMessage.requestUrlPreview: object expected"); message.requestUrlPreview[i] = $root.proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview.fromObject(object.requestUrlPreview[i]); } } if (object.historySyncOnDemandRequest != null) { if (typeof object.historySyncOnDemandRequest !== "object") throw TypeError(".proto.Message.PeerDataOperationRequestMessage.historySyncOnDemandRequest: object expected"); message.historySyncOnDemandRequest = $root.proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest.fromObject(object.historySyncOnDemandRequest); } if (object.placeholderMessageResendRequest) { if (!Array.isArray(object.placeholderMessageResendRequest)) throw TypeError(".proto.Message.PeerDataOperationRequestMessage.placeholderMessageResendRequest: array expected"); message.placeholderMessageResendRequest = []; for (var i = 0; i < object.placeholderMessageResendRequest.length; ++i) { if (typeof object.placeholderMessageResendRequest[i] !== "object") throw TypeError(".proto.Message.PeerDataOperationRequestMessage.placeholderMessageResendRequest: object expected"); message.placeholderMessageResendRequest[i] = $root.proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.fromObject(object.placeholderMessageResendRequest[i]); } } return message; }; /** * Creates a plain object from a PeerDataOperationRequestMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PeerDataOperationRequestMessage * @static * @param {proto.Message.PeerDataOperationRequestMessage} message PeerDataOperationRequestMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PeerDataOperationRequestMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.requestStickerReupload = []; object.requestUrlPreview = []; object.placeholderMessageResendRequest = []; } if (options.defaults) { object.peerDataOperationRequestType = options.enums === String ? "UPLOAD_STICKER" : 0; object.historySyncOnDemandRequest = null; } if (message.peerDataOperationRequestType != null && message.hasOwnProperty("peerDataOperationRequestType")) object.peerDataOperationRequestType = options.enums === String ? $root.proto.Message.PeerDataOperationRequestType[message.peerDataOperationRequestType] : message.peerDataOperationRequestType; if (message.requestStickerReupload && message.requestStickerReupload.length) { object.requestStickerReupload = []; for (var j = 0; j < message.requestStickerReupload.length; ++j) object.requestStickerReupload[j] = $root.proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload.toObject(message.requestStickerReupload[j], options); } if (message.requestUrlPreview && message.requestUrlPreview.length) { object.requestUrlPreview = []; for (var j = 0; j < message.requestUrlPreview.length; ++j) object.requestUrlPreview[j] = $root.proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview.toObject(message.requestUrlPreview[j], options); } if (message.historySyncOnDemandRequest != null && message.hasOwnProperty("historySyncOnDemandRequest")) object.historySyncOnDemandRequest = $root.proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest.toObject(message.historySyncOnDemandRequest, options); if (message.placeholderMessageResendRequest && message.placeholderMessageResendRequest.length) { object.placeholderMessageResendRequest = []; for (var j = 0; j < message.placeholderMessageResendRequest.length; ++j) object.placeholderMessageResendRequest[j] = $root.proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.toObject(message.placeholderMessageResendRequest[j], options); } return object; }; /** * Converts this PeerDataOperationRequestMessage to JSON. * @function toJSON * @memberof proto.Message.PeerDataOperationRequestMessage * @instance * @returns {Object.<string,*>} JSON object */ PeerDataOperationRequestMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; PeerDataOperationRequestMessage.HistorySyncOnDemandRequest = (function() { /** * Properties of a HistorySyncOnDemandRequest. * @memberof proto.Message.PeerDataOperationRequestMessage * @interface IHistorySyncOnDemandRequest * @property {string|null} [chatJid] HistorySyncOnDemandRequest chatJid * @property {string|null} [oldestMsgId] HistorySyncOnDemandRequest oldestMsgId * @property {boolean|null} [oldestMsgFromMe] HistorySyncOnDemandRequest oldestMsgFromMe * @property {number|null} [onDemandMsgCount] HistorySyncOnDemandRequest onDemandMsgCount * @property {number|Long|null} [oldestMsgTimestampMs] HistorySyncOnDemandRequest oldestMsgTimestampMs */ /** * Constructs a new HistorySyncOnDemandRequest. * @memberof proto.Message.PeerDataOperationRequestMessage * @classdesc Represents a HistorySyncOnDemandRequest. * @implements IHistorySyncOnDemandRequest * @constructor * @param {proto.Message.PeerDataOperationRequestMessage.IHistorySyncOnDemandRequest=} [properties] Properties to set */ function HistorySyncOnDemandRequest(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]]; } /** * HistorySyncOnDemandRequest chatJid. * @member {string} chatJid * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @instance */ HistorySyncOnDemandRequest.prototype.chatJid = ""; /** * HistorySyncOnDemandRequest oldestMsgId. * @member {string} oldestMsgId * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @instance */ HistorySyncOnDemandRequest.prototype.oldestMsgId = ""; /** * HistorySyncOnDemandRequest oldestMsgFromMe. * @member {boolean} oldestMsgFromMe * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @instance */ HistorySyncOnDemandRequest.prototype.oldestMsgFromMe = false; /** * HistorySyncOnDemandRequest onDemandMsgCount. * @member {number} onDemandMsgCount * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @instance */ HistorySyncOnDemandRequest.prototype.onDemandMsgCount = 0; /** * HistorySyncOnDemandRequest oldestMsgTimestampMs. * @member {number|Long} oldestMsgTimestampMs * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @instance */ HistorySyncOnDemandRequest.prototype.oldestMsgTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new HistorySyncOnDemandRequest instance using the specified properties. * @function create * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @static * @param {proto.Message.PeerDataOperationRequestMessage.IHistorySyncOnDemandRequest=} [properties] Properties to set * @returns {proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest} HistorySyncOnDemandRequest instance */ HistorySyncOnDemandRequest.create = function create(properties) { return new HistorySyncOnDemandRequest(properties); }; /** * Encodes the specified HistorySyncOnDemandRequest message. Does not implicitly {@link proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest.verify|verify} messages. * @function encode * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @static * @param {proto.Message.PeerDataOperationRequestMessage.IHistorySyncOnDemandRequest} message HistorySyncOnDemandRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HistorySyncOnDemandRequest.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.oldestMsgId != null && Object.hasOwnProperty.call(message, "oldestMsgId")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.oldestMsgId); if (message.oldestMsgFromMe != null && Object.hasOwnProperty.call(message, "oldestMsgFromMe")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.oldestMsgFromMe); if (message.onDemandMsgCount != null && Object.hasOwnProperty.call(message, "onDemandMsgCount")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.onDemandMsgCount); if (message.oldestMsgTimestampMs != null && Object.hasOwnProperty.call(message, "oldestMsgTimestampMs")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.oldestMsgTimestampMs); return writer; }; /** * Encodes the specified HistorySyncOnDemandRequest message, length delimited. Does not implicitly {@link proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @static * @param {proto.Message.PeerDataOperationRequestMessage.IHistorySyncOnDemandRequest} message HistorySyncOnDemandRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ HistorySyncOnDemandRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a HistorySyncOnDemandRequest message from the specified reader or buffer. * @function decode * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest} HistorySyncOnDemandRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HistorySyncOnDemandRequest.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.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.chatJid = reader.string(); break; case 2: message.oldestMsgId = reader.string(); break; case 3: message.oldestMsgFromMe = reader.bool(); break; case 4: message.onDemandMsgCount = reader.int32(); break; case 5: message.oldestMsgTimestampMs = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a HistorySyncOnDemandRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest} HistorySyncOnDemandRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ HistorySyncOnDemandRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a HistorySyncOnDemandRequest message. * @function verify * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ HistorySyncOnDemandRequest.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.oldestMsgId != null && message.hasOwnProperty("oldestMsgId")) if (!$util.isString(message.oldestMsgId)) return "oldestMsgId: string expected"; if (message.oldestMsgFromMe != null && message.hasOwnProperty("oldestMsgFromMe")) if (typeof message.oldestMsgFromMe !== "boolean") return "oldestMsgFromMe: boolean expected"; if (message.onDemandMsgCount != null && message.hasOwnProperty("onDemandMsgCount")) if (!$util.isInteger(message.onDemandMsgCount)) return "onDemandMsgCount: integer expected"; if (message.oldestMsgTimestampMs != null && message.hasOwnProperty("oldestMsgTimestampMs")) if (!$util.isInteger(message.oldestMsgTimestampMs) && !(message.oldestMsgTimestampMs && $util.isInteger(message.oldestMsgTimestampMs.low) && $util.isInteger(message.oldestMsgTimestampMs.high))) return "oldestMsgTimestampMs: integer|Long expected"; return null; }; /** * Creates a HistorySyncOnDemandRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest} HistorySyncOnDemandRequest */ HistorySyncOnDemandRequest.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest) return object; var message = new $root.proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest(); if (object.chatJid != null) message.chatJid = String(object.chatJid); if (object.oldestMsgId != null) message.oldestMsgId = String(object.oldestMsgId); if (object.oldestMsgFromMe != null) message.oldestMsgFromMe = Boolean(object.oldestMsgFromMe); if (object.onDemandMsgCount != null) message.onDemandMsgCount = object.onDemandMsgCount | 0; if (object.oldestMsgTimestampMs != null) if ($util.Long) (message.oldestMsgTimestampMs = $util.Long.fromValue(object.oldestMsgTimestampMs)).unsigned = false; else if (typeof object.oldestMsgTimestampMs === "string") message.oldestMsgTimestampMs = parseInt(object.oldestMsgTimestampMs, 10); else if (typeof object.oldestMsgTimestampMs === "number") message.oldestMsgTimestampMs = object.oldestMsgTimestampMs; else if (typeof object.oldestMsgTimestampMs === "object") message.oldestMsgTimestampMs = new $util.LongBits(object.oldestMsgTimestampMs.low >>> 0, object.oldestMsgTimestampMs.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a HistorySyncOnDemandRequest message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @static * @param {proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest} message HistorySyncOnDemandRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ HistorySyncOnDemandRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.chatJid = ""; object.oldestMsgId = ""; object.oldestMsgFromMe = false; object.onDemandMsgCount = 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.oldestMsgTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.oldestMsgTimestampMs = options.longs === String ? "0" : 0; } if (message.chatJid != null && message.hasOwnProperty("chatJid")) object.chatJid = message.chatJid; if (message.oldestMsgId != null && message.hasOwnProperty("oldestMsgId")) object.oldestMsgId = message.oldestMsgId; if (message.oldestMsgFromMe != null && message.hasOwnProperty("oldestMsgFromMe")) object.oldestMsgFromMe = message.oldestMsgFromMe; if (message.onDemandMsgCount != null && message.hasOwnProperty("onDemandMsgCount")) object.onDemandMsgCount = message.onDemandMsgCount; if (message.oldestMsgTimestampMs != null && message.hasOwnProperty("oldestMsgTimestampMs")) if (typeof message.oldestMsgTimestampMs === "number") object.oldestMsgTimestampMs = options.longs === String ? String(message.oldestMsgTimestampMs) : message.oldestMsgTimestampMs; else object.oldestMsgTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.oldestMsgTimestampMs) : options.longs === Number ? new $util.LongBits(message.oldestMsgTimestampMs.low >>> 0, message.oldestMsgTimestampMs.high >>> 0).toNumber() : message.oldestMsgTimestampMs; return object; }; /** * Converts this HistorySyncOnDemandRequest to JSON. * @function toJSON * @memberof proto.Message.PeerDataOperationRequestMessage.HistorySyncOnDemandRequest * @instance * @returns {Object.<string,*>} JSON object */ HistorySyncOnDemandRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HistorySyncOnDemandRequest; })(); PeerDataOperationRequestMessage.PlaceholderMessageResendRequest = (function() { /** * Properties of a PlaceholderMessageResendRequest. * @memberof proto.Message.PeerDataOperationRequestMessage * @interface IPlaceholderMessageResendRequest * @property {proto.IMessageKey|null} [messageKey] PlaceholderMessageResendRequest messageKey */ /** * Constructs a new PlaceholderMessageResendRequest. * @memberof proto.Message.PeerDataOperationRequestMessage * @classdesc Represents a PlaceholderMessageResendRequest. * @implements IPlaceholderMessageResendRequest * @constructor * @param {proto.Message.PeerDataOperationRequestMessage.IPlaceholderMessageResendRequest=} [properties] Properties to set */ function PlaceholderMessageResendRequest(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]]; } /** * PlaceholderMessageResendRequest messageKey. * @member {proto.IMessageKey|null|undefined} messageKey * @memberof proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest * @instance */ PlaceholderMessageResendRequest.prototype.messageKey = null; /** * Creates a new PlaceholderMessageResendRequest instance using the specified properties. * @function create * @memberof proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest * @static * @param {proto.Message.PeerDataOperationRequestMessage.IPlaceholderMessageResendRequest=} [properties] Properties to set * @returns {proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest} PlaceholderMessageResendRequest instance */ PlaceholderMessageResendRequest.create = function create(properties) { return new PlaceholderMessageResendRequest(properties); }; /** * Encodes the specified PlaceholderMessageResendRequest message. Does not implicitly {@link proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.verify|verify} messages. * @function encode * @memberof proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest * @static * @param {proto.Message.PeerDataOperationRequestMessage.IPlaceholderMessageResendRequest} message PlaceholderMessageResendRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PlaceholderMessageResendRequest.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.messageKey != null && Object.hasOwnProperty.call(message, "messageKey")) $root.proto.MessageKey.encode(message.messageKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified PlaceholderMessageResendRequest message, length delimited. Does not implicitly {@link proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest * @static * @param {proto.Message.PeerDataOperationRequestMessage.IPlaceholderMessageResendRequest} message PlaceholderMessageResendRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PlaceholderMessageResendRequest.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PlaceholderMessageResendRequest message from the specified reader or buffer. * @function decode * @memberof proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest} PlaceholderMessageResendRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PlaceholderMessageResendRequest.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.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.messageKey = $root.proto.MessageKey.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PlaceholderMessageResendRequest message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest} PlaceholderMessageResendRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PlaceholderMessageResendRequest.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PlaceholderMessageResendRequest message. * @function verify * @memberof proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PlaceholderMessageResendRequest.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.messageKey != null && message.hasOwnProperty("messageKey")) { var error = $root.proto.MessageKey.verify(message.messageKey); if (error) return "messageKey." + error; } return null; }; /** * Creates a PlaceholderMessageResendRequest message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest} PlaceholderMessageResendRequest */ PlaceholderMessageResendRequest.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest) return object; var message = new $root.proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest(); if (object.messageKey != null) { if (typeof object.messageKey !== "object") throw TypeError(".proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest.messageKey: object expected"); message.messageKey = $root.proto.MessageKey.fromObject(object.messageKey); } return message; }; /** * Creates a plain object from a PlaceholderMessageResendRequest message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest * @static * @param {proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest} message PlaceholderMessageResendRequest * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PlaceholderMessageResendRequest.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.messageKey = null; if (message.messageKey != null && message.hasOwnProperty("messageKey")) object.messageKey = $root.proto.MessageKey.toObject(message.messageKey, options); return object; }; /** * Converts this PlaceholderMessageResendRequest to JSON. * @function toJSON * @memberof proto.Message.PeerDataOperationRequestMessage.PlaceholderMessageResendRequest * @instance * @returns {Object.<string,*>} JSON object */ PlaceholderMessageResendRequest.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PlaceholderMessageResendRequest; })(); PeerDataOperationRequestMessage.RequestStickerReupload = (function() { /** * Properties of a RequestStickerReupload. * @memberof proto.Message.PeerDataOperationRequestMessage * @interface IRequestStickerReupload * @property {string|null} [fileSha256] RequestStickerReupload fileSha256 */ /** * Constructs a new RequestStickerReupload. * @memberof proto.Message.PeerDataOperationRequestMessage * @classdesc Represents a RequestStickerReupload. * @implements IRequestStickerReupload * @constructor * @param {proto.Message.PeerDataOperationRequestMessage.IRequestStickerReupload=} [properties] Properties to set */ function RequestStickerReupload(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]]; } /** * RequestStickerReupload fileSha256. * @member {string} fileSha256 * @memberof proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload * @instance */ RequestStickerReupload.prototype.fileSha256 = ""; /** * Creates a new RequestStickerReupload instance using the specified properties. * @function create * @memberof proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload * @static * @param {proto.Message.PeerDataOperationRequestMessage.IRequestStickerReupload=} [properties] Properties to set * @returns {proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload} RequestStickerReupload instance */ RequestStickerReupload.create = function create(properties) { return new RequestStickerReupload(properties); }; /** * Encodes the specified RequestStickerReupload message. Does not implicitly {@link proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload.verify|verify} messages. * @function encode * @memberof proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload * @static * @param {proto.Message.PeerDataOperationRequestMessage.IRequestStickerReupload} message RequestStickerReupload message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RequestStickerReupload.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).string(message.fileSha256); return writer; }; /** * Encodes the specified RequestStickerReupload message, length delimited. Does not implicitly {@link proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload * @static * @param {proto.Message.PeerDataOperationRequestMessage.IRequestStickerReupload} message RequestStickerReupload message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RequestStickerReupload.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a RequestStickerReupload message from the specified reader or buffer. * @function decode * @memberof proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload} RequestStickerReupload * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RequestStickerReupload.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.PeerDataOperationRequestMessage.RequestStickerReupload(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.fileSha256 = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a RequestStickerReupload message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload} RequestStickerReupload * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RequestStickerReupload.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a RequestStickerReupload message. * @function verify * @memberof proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ RequestStickerReupload.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) if (!$util.isString(message.fileSha256)) return "fileSha256: string expected"; return null; }; /** * Creates a RequestStickerReupload message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload} RequestStickerReupload */ RequestStickerReupload.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload) return object; var message = new $root.proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload(); if (object.fileSha256 != null) message.fileSha256 = String(object.fileSha256); return message; }; /** * Creates a plain object from a RequestStickerReupload message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload * @static * @param {proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload} message RequestStickerReupload * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ RequestStickerReupload.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.fileSha256 = ""; if (message.fileSha256 != null && message.hasOwnProperty("fileSha256")) object.fileSha256 = message.fileSha256; return object; }; /** * Converts this RequestStickerReupload to JSON. * @function toJSON * @memberof proto.Message.PeerDataOperationRequestMessage.RequestStickerReupload * @instance * @returns {Object.<string,*>} JSON object */ RequestStickerReupload.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return RequestStickerReupload; })(); PeerDataOperationRequestMessage.RequestUrlPreview = (function() { /** * Properties of a RequestUrlPreview. * @memberof proto.Message.PeerDataOperationRequestMessage * @interface IRequestUrlPreview * @property {string|null} [url] RequestUrlPreview url * @property {boolean|null} [includeHqThumbnail] RequestUrlPreview includeHqThumbnail */ /** * Constructs a new RequestUrlPreview. * @memberof proto.Message.PeerDataOperationRequestMessage * @classdesc Represents a RequestUrlPreview. * @implements IRequestUrlPreview * @constructor * @param {proto.Message.PeerDataOperationRequestMessage.IRequestUrlPreview=} [properties] Properties to set */ function RequestUrlPreview(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]]; } /** * RequestUrlPreview url. * @member {string} url * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @instance */ RequestUrlPreview.prototype.url = ""; /** * RequestUrlPreview includeHqThumbnail. * @member {boolean} includeHqThumbnail * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @instance */ RequestUrlPreview.prototype.includeHqThumbnail = false; /** * Creates a new RequestUrlPreview instance using the specified properties. * @function create * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @static * @param {proto.Message.PeerDataOperationRequestMessage.IRequestUrlPreview=} [properties] Properties to set * @returns {proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview} RequestUrlPreview instance */ RequestUrlPreview.create = function create(properties) { return new RequestUrlPreview(properties); }; /** * Encodes the specified RequestUrlPreview message. Does not implicitly {@link proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview.verify|verify} messages. * @function encode * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @static * @param {proto.Message.PeerDataOperationRequestMessage.IRequestUrlPreview} message RequestUrlPreview message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RequestUrlPreview.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.includeHqThumbnail != null && Object.hasOwnProperty.call(message, "includeHqThumbnail")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.includeHqThumbnail); return writer; }; /** * Encodes the specified RequestUrlPreview message, length delimited. Does not implicitly {@link proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @static * @param {proto.Message.PeerDataOperationRequestMessage.IRequestUrlPreview} message RequestUrlPreview message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RequestUrlPreview.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a RequestUrlPreview message from the specified reader or buffer. * @function decode * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview} RequestUrlPreview * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RequestUrlPreview.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.PeerDataOperationRequestMessage.RequestUrlPreview(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.url = reader.string(); break; case 2: message.includeHqThumbnail = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a RequestUrlPreview message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview} RequestUrlPreview * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RequestUrlPreview.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a RequestUrlPreview message. * @function verify * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ RequestUrlPreview.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.includeHqThumbnail != null && message.hasOwnProperty("includeHqThumbnail")) if (typeof message.includeHqThumbnail !== "boolean") return "includeHqThumbnail: boolean expected"; return null; }; /** * Creates a RequestUrlPreview message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview} RequestUrlPreview */ RequestUrlPreview.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview) return object; var message = new $root.proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview(); if (object.url != null) message.url = String(object.url); if (object.includeHqThumbnail != null) message.includeHqThumbnail = Boolean(object.includeHqThumbnail); return message; }; /** * Creates a plain object from a RequestUrlPreview message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @static * @param {proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview} message RequestUrlPreview * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ RequestUrlPreview.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.url = ""; object.includeHqThumbnail = false; } if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; if (message.includeHqThumbnail != null && message.hasOwnProperty("includeHqThumbnail")) object.includeHqThumbnail = message.includeHqThumbnail; return object; }; /** * Converts this RequestUrlPreview to JSON. * @function toJSON * @memberof proto.Message.PeerDataOperationRequestMessage.RequestUrlPreview * @instance * @returns {Object.<string,*>} JSON object */ RequestUrlPreview.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return RequestUrlPreview; })(); return PeerDataOperationRequestMessage; })(); Message.PeerDataOperationRequestResponseMessage = (function() { /** * Properties of a PeerDataOperationRequestResponseMessage. * @memberof proto.Message * @interface IPeerDataOperationRequestResponseMessage * @property {proto.Message.PeerDataOperationRequestType|null} [peerDataOperationRequestType] PeerDataOperationRequestResponseMessage peerDataOperationRequestType * @property {string|null} [stanzaId] PeerDataOperationRequestResponseMessage stanzaId * @property {Array.<proto.Message.PeerDataOperationRequestResponseMessage.IPeerDataOperationResult>|null} [peerDataOperationResult] PeerDataOperationRequestResponseMessage peerDataOperationResult */ /** * Constructs a new PeerDataOperationRequestResponseMessage. * @memberof proto.Message * @classdesc Represents a PeerDataOperationRequestResponseMessage. * @implements IPeerDataOperationRequestResponseMessage * @constructor * @param {proto.Message.IPeerDataOperationRequestResponseMessage=} [properties] Properties to set */ function PeerDataOperationRequestResponseMessage(properties) { this.peerDataOperationResult = []; 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]]; } /** * PeerDataOperationRequestResponseMessage peerDataOperationRequestType. * @member {proto.Message.PeerDataOperationRequestType} peerDataOperationRequestType * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @instance */ PeerDataOperationRequestResponseMessage.prototype.peerDataOperationRequestType = 0; /** * PeerDataOperationRequestResponseMessage stanzaId. * @member {string} stanzaId * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @instance */ PeerDataOperationRequestResponseMessage.prototype.stanzaId = ""; /** * PeerDataOperationRequestResponseMessage peerDataOperationResult. * @member {Array.<proto.Message.PeerDataOperationRequestResponseMessage.IPeerDataOperationResult>} peerDataOperationResult * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @instance */ PeerDataOperationRequestResponseMessage.prototype.peerDataOperationResult = $util.emptyArray; /** * Creates a new PeerDataOperationRequestResponseMessage instance using the specified properties. * @function create * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @static * @param {proto.Message.IPeerDataOperationRequestResponseMessage=} [properties] Properties to set * @returns {proto.Message.PeerDataOperationRequestResponseMessage} PeerDataOperationRequestResponseMessage instance */ PeerDataOperationRequestResponseMessage.create = function create(properties) { return new PeerDataOperationRequestResponseMessage(properties); }; /** * Encodes the specified PeerDataOperationRequestResponseMessage message. Does not implicitly {@link proto.Message.PeerDataOperationRequestResponseMessage.verify|verify} messages. * @function encode * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @static * @param {proto.Message.IPeerDataOperationRequestResponseMessage} message PeerDataOperationRequestResponseMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PeerDataOperationRequestResponseMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.peerDataOperationRequestType != null && Object.hasOwnProperty.call(message, "peerDataOperationRequestType")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.peerDataOperationRequestType); if (message.stanzaId != null && Object.hasOwnProperty.call(message, "stanzaId")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.stanzaId); if (message.peerDataOperationResult != null && message.peerDataOperationResult.length) for (var i = 0; i < message.peerDataOperationResult.length; ++i) $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.encode(message.peerDataOperationResult[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** * Encodes the specified PeerDataOperationRequestResponseMessage message, length delimited. Does not implicitly {@link proto.Message.PeerDataOperationRequestResponseMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @static * @param {proto.Message.IPeerDataOperationRequestResponseMessage} message PeerDataOperationRequestResponseMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PeerDataOperationRequestResponseMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PeerDataOperationRequestResponseMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PeerDataOperationRequestResponseMessage} PeerDataOperationRequestResponseMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PeerDataOperationRequestResponseMessage.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.PeerDataOperationRequestResponseMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.peerDataOperationRequestType = reader.int32(); break; case 2: message.stanzaId = reader.string(); break; case 3: if (!(message.peerDataOperationResult && message.peerDataOperationResult.length)) message.peerDataOperationResult = []; message.peerDataOperationResult.push($root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PeerDataOperationRequestResponseMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PeerDataOperationRequestResponseMessage} PeerDataOperationRequestResponseMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PeerDataOperationRequestResponseMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PeerDataOperationRequestResponseMessage message. * @function verify * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PeerDataOperationRequestResponseMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.peerDataOperationRequestType != null && message.hasOwnProperty("peerDataOperationRequestType")) switch (message.peerDataOperationRequestType) { default: return "peerDataOperationRequestType: enum value expected"; case 0: case 1: case 2: case 3: case 4: break; } if (message.stanzaId != null && message.hasOwnProperty("stanzaId")) if (!$util.isString(message.stanzaId)) return "stanzaId: string expected"; if (message.peerDataOperationResult != null && message.hasOwnProperty("peerDataOperationResult")) { if (!Array.isArray(message.peerDataOperationResult)) return "peerDataOperationResult: array expected"; for (var i = 0; i < message.peerDataOperationResult.length; ++i) { var error = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.verify(message.peerDataOperationResult[i]); if (error) return "peerDataOperationResult." + error; } } return null; }; /** * Creates a PeerDataOperationRequestResponseMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PeerDataOperationRequestResponseMessage} PeerDataOperationRequestResponseMessage */ PeerDataOperationRequestResponseMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PeerDataOperationRequestResponseMessage) return object; var message = new $root.proto.Message.PeerDataOperationRequestResponseMessage(); switch (object.peerDataOperationRequestType) { case "UPLOAD_STICKER": case 0: message.peerDataOperationRequestType = 0; break; case "SEND_RECENT_STICKER_BOOTSTRAP": case 1: message.peerDataOperationRequestType = 1; break; case "GENERATE_LINK_PREVIEW": case 2: message.peerDataOperationRequestType = 2; break; case "HISTORY_SYNC_ON_DEMAND": case 3: message.peerDataOperationRequestType = 3; break; case "PLACEHOLDER_MESSAGE_RESEND": case 4: message.peerDataOperationRequestType = 4; break; } if (object.stanzaId != null) message.stanzaId = String(object.stanzaId); if (object.peerDataOperationResult) { if (!Array.isArray(object.peerDataOperationResult)) throw TypeError(".proto.Message.PeerDataOperationRequestResponseMessage.peerDataOperationResult: array expected"); message.peerDataOperationResult = []; for (var i = 0; i < object.peerDataOperationResult.length; ++i) { if (typeof object.peerDataOperationResult[i] !== "object") throw TypeError(".proto.Message.PeerDataOperationRequestResponseMessage.peerDataOperationResult: object expected"); message.peerDataOperationResult[i] = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.fromObject(object.peerDataOperationResult[i]); } } return message; }; /** * Creates a plain object from a PeerDataOperationRequestResponseMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage} message PeerDataOperationRequestResponseMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PeerDataOperationRequestResponseMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.peerDataOperationResult = []; if (options.defaults) { object.peerDataOperationRequestType = options.enums === String ? "UPLOAD_STICKER" : 0; object.stanzaId = ""; } if (message.peerDataOperationRequestType != null && message.hasOwnProperty("peerDataOperationRequestType")) object.peerDataOperationRequestType = options.enums === String ? $root.proto.Message.PeerDataOperationRequestType[message.peerDataOperationRequestType] : message.peerDataOperationRequestType; if (message.stanzaId != null && message.hasOwnProperty("stanzaId")) object.stanzaId = message.stanzaId; if (message.peerDataOperationResult && message.peerDataOperationResult.length) { object.peerDataOperationResult = []; for (var j = 0; j < message.peerDataOperationResult.length; ++j) object.peerDataOperationResult[j] = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.toObject(message.peerDataOperationResult[j], options); } return object; }; /** * Converts this PeerDataOperationRequestResponseMessage to JSON. * @function toJSON * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @instance * @returns {Object.<string,*>} JSON object */ PeerDataOperationRequestResponseMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; PeerDataOperationRequestResponseMessage.PeerDataOperationResult = (function() { /** * Properties of a PeerDataOperationResult. * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @interface IPeerDataOperationResult * @property {proto.MediaRetryNotification.ResultType|null} [mediaUploadResult] PeerDataOperationResult mediaUploadResult * @property {proto.Message.IStickerMessage|null} [stickerMessage] PeerDataOperationResult stickerMessage * @property {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.ILinkPreviewResponse|null} [linkPreviewResponse] PeerDataOperationResult linkPreviewResponse * @property {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IPlaceholderMessageResendResponse|null} [placeholderMessageResendResponse] PeerDataOperationResult placeholderMessageResendResponse */ /** * Constructs a new PeerDataOperationResult. * @memberof proto.Message.PeerDataOperationRequestResponseMessage * @classdesc Represents a PeerDataOperationResult. * @implements IPeerDataOperationResult * @constructor * @param {proto.Message.PeerDataOperationRequestResponseMessage.IPeerDataOperationResult=} [properties] Properties to set */ function PeerDataOperationResult(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]]; } /** * PeerDataOperationResult mediaUploadResult. * @member {proto.MediaRetryNotification.ResultType} mediaUploadResult * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @instance */ PeerDataOperationResult.prototype.mediaUploadResult = 0; /** * PeerDataOperationResult stickerMessage. * @member {proto.Message.IStickerMessage|null|undefined} stickerMessage * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @instance */ PeerDataOperationResult.prototype.stickerMessage = null; /** * PeerDataOperationResult linkPreviewResponse. * @member {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.ILinkPreviewResponse|null|undefined} linkPreviewResponse * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @instance */ PeerDataOperationResult.prototype.linkPreviewResponse = null; /** * PeerDataOperationResult placeholderMessageResendResponse. * @member {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IPlaceholderMessageResendResponse|null|undefined} placeholderMessageResendResponse * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @instance */ PeerDataOperationResult.prototype.placeholderMessageResendResponse = null; /** * Creates a new PeerDataOperationResult instance using the specified properties. * @function create * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.IPeerDataOperationResult=} [properties] Properties to set * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult} PeerDataOperationResult instance */ PeerDataOperationResult.create = function create(properties) { return new PeerDataOperationResult(properties); }; /** * Encodes the specified PeerDataOperationResult message. Does not implicitly {@link proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.verify|verify} messages. * @function encode * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.IPeerDataOperationResult} message PeerDataOperationResult message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PeerDataOperationResult.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.mediaUploadResult != null && Object.hasOwnProperty.call(message, "mediaUploadResult")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.mediaUploadResult); if (message.stickerMessage != null && Object.hasOwnProperty.call(message, "stickerMessage")) $root.proto.Message.StickerMessage.encode(message.stickerMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.linkPreviewResponse != null && Object.hasOwnProperty.call(message, "linkPreviewResponse")) $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.encode(message.linkPreviewResponse, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.placeholderMessageResendResponse != null && Object.hasOwnProperty.call(message, "placeholderMessageResendResponse")) $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse.encode(message.placeholderMessageResendResponse, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** * Encodes the specified PeerDataOperationResult message, length delimited. Does not implicitly {@link proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.IPeerDataOperationResult} message PeerDataOperationResult message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PeerDataOperationResult.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PeerDataOperationResult message from the specified reader or buffer. * @function decode * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult} PeerDataOperationResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PeerDataOperationResult.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.PeerDataOperationRequestResponseMessage.PeerDataOperationResult(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.mediaUploadResult = reader.int32(); break; case 2: message.stickerMessage = $root.proto.Message.StickerMessage.decode(reader, reader.uint32()); break; case 3: message.linkPreviewResponse = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.decode(reader, reader.uint32()); break; case 4: message.placeholderMessageResendResponse = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PeerDataOperationResult message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult} PeerDataOperationResult * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PeerDataOperationResult.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PeerDataOperationResult message. * @function verify * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PeerDataOperationResult.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.mediaUploadResult != null && message.hasOwnProperty("mediaUploadResult")) switch (message.mediaUploadResult) { default: return "mediaUploadResult: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.stickerMessage != null && message.hasOwnProperty("stickerMessage")) { var error = $root.proto.Message.StickerMessage.verify(message.stickerMessage); if (error) return "stickerMessage." + error; } if (message.linkPreviewResponse != null && message.hasOwnProperty("linkPreviewResponse")) { var error = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.verify(message.linkPreviewResponse); if (error) return "linkPreviewResponse." + error; } if (message.placeholderMessageResendResponse != null && message.hasOwnProperty("placeholderMessageResendResponse")) { var error = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse.verify(message.placeholderMessageResendResponse); if (error) return "placeholderMessageResendResponse." + error; } return null; }; /** * Creates a PeerDataOperationResult message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult} PeerDataOperationResult */ PeerDataOperationResult.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult) return object; var message = new $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult(); switch (object.mediaUploadResult) { case "GENERAL_ERROR": case 0: message.mediaUploadResult = 0; break; case "SUCCESS": case 1: message.mediaUploadResult = 1; break; case "NOT_FOUND": case 2: message.mediaUploadResult = 2; break; case "DECRYPTION_ERROR": case 3: message.mediaUploadResult = 3; break; } if (object.stickerMessage != null) { if (typeof object.stickerMessage !== "object") throw TypeError(".proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.stickerMessage: object expected"); message.stickerMessage = $root.proto.Message.StickerMessage.fromObject(object.stickerMessage); } if (object.linkPreviewResponse != null) { if (typeof object.linkPreviewResponse !== "object") throw TypeError(".proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.linkPreviewResponse: object expected"); message.linkPreviewResponse = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.fromObject(object.linkPreviewResponse); } if (object.placeholderMessageResendResponse != null) { if (typeof object.placeholderMessageResendResponse !== "object") throw TypeError(".proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.placeholderMessageResendResponse: object expected"); message.placeholderMessageResendResponse = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse.fromObject(object.placeholderMessageResendResponse); } return message; }; /** * Creates a plain object from a PeerDataOperationResult message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult} message PeerDataOperationResult * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PeerDataOperationResult.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.mediaUploadResult = options.enums === String ? "GENERAL_ERROR" : 0; object.stickerMessage = null; object.linkPreviewResponse = null; object.placeholderMessageResendResponse = null; } if (message.mediaUploadResult != null && message.hasOwnProperty("mediaUploadResult")) object.mediaUploadResult = options.enums === String ? $root.proto.MediaRetryNotification.ResultType[message.mediaUploadResult] : message.mediaUploadResult; if (message.stickerMessage != null && message.hasOwnProperty("stickerMessage")) object.stickerMessage = $root.proto.Message.StickerMessage.toObject(message.stickerMessage, options); if (message.linkPreviewResponse != null && message.hasOwnProperty("linkPreviewResponse")) object.linkPreviewResponse = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.toObject(message.linkPreviewResponse, options); if (message.placeholderMessageResendResponse != null && message.hasOwnProperty("placeholderMessageResendResponse")) object.placeholderMessageResendResponse = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse.toObject(message.placeholderMessageResendResponse, options); return object; }; /** * Converts this PeerDataOperationResult to JSON. * @function toJSON * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @instance * @returns {Object.<string,*>} JSON object */ PeerDataOperationResult.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; PeerDataOperationResult.LinkPreviewResponse = (function() { /** * Properties of a LinkPreviewResponse. * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @interface ILinkPreviewResponse * @property {string|null} [url] LinkPreviewResponse url * @property {string|null} [title] LinkPreviewResponse title * @property {string|null} [description] LinkPreviewResponse description * @property {Uint8Array|null} [thumbData] LinkPreviewResponse thumbData * @property {string|null} [canonicalUrl] LinkPreviewResponse canonicalUrl * @property {string|null} [matchText] LinkPreviewResponse matchText * @property {string|null} [previewType] LinkPreviewResponse previewType * @property {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.ILinkPreviewHighQualityThumbnail|null} [hqThumbnail] LinkPreviewResponse hqThumbnail */ /** * Constructs a new LinkPreviewResponse. * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @classdesc Represents a LinkPreviewResponse. * @implements ILinkPreviewResponse * @constructor * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.ILinkPreviewResponse=} [properties] Properties to set */ function LinkPreviewResponse(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]]; } /** * LinkPreviewResponse url. * @member {string} url * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @instance */ LinkPreviewResponse.prototype.url = ""; /** * LinkPreviewResponse title. * @member {string} title * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @instance */ LinkPreviewResponse.prototype.title = ""; /** * LinkPreviewResponse description. * @member {string} description * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @instance */ LinkPreviewResponse.prototype.description = ""; /** * LinkPreviewResponse thumbData. * @member {Uint8Array} thumbData * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @instance */ LinkPreviewResponse.prototype.thumbData = $util.newBuffer([]); /** * LinkPreviewResponse canonicalUrl. * @member {string} canonicalUrl * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @instance */ LinkPreviewResponse.prototype.canonicalUrl = ""; /** * LinkPreviewResponse matchText. * @member {string} matchText * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @instance */ LinkPreviewResponse.prototype.matchText = ""; /** * LinkPreviewResponse previewType. * @member {string} previewType * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @instance */ LinkPreviewResponse.prototype.previewType = ""; /** * LinkPreviewResponse hqThumbnail. * @member {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.ILinkPreviewHighQualityThumbnail|null|undefined} hqThumbnail * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @instance */ LinkPreviewResponse.prototype.hqThumbnail = null; /** * Creates a new LinkPreviewResponse instance using the specified properties. * @function create * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.ILinkPreviewResponse=} [properties] Properties to set * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse} LinkPreviewResponse instance */ LinkPreviewResponse.create = function create(properties) { return new LinkPreviewResponse(properties); }; /** * Encodes the specified LinkPreviewResponse message. Does not implicitly {@link proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.verify|verify} messages. * @function encode * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.ILinkPreviewResponse} message LinkPreviewResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LinkPreviewResponse.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.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); if (message.thumbData != null && Object.hasOwnProperty.call(message, "thumbData")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.thumbData); if (message.canonicalUrl != null && Object.hasOwnProperty.call(message, "canonicalUrl")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.canonicalUrl); if (message.matchText != null && Object.hasOwnProperty.call(message, "matchText")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.matchText); if (message.previewType != null && Object.hasOwnProperty.call(message, "previewType")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.previewType); if (message.hqThumbnail != null && Object.hasOwnProperty.call(message, "hqThumbnail")) $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail.encode(message.hqThumbnail, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); return writer; }; /** * Encodes the specified LinkPreviewResponse message, length delimited. Does not implicitly {@link proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.ILinkPreviewResponse} message LinkPreviewResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LinkPreviewResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a LinkPreviewResponse message from the specified reader or buffer. * @function decode * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse} LinkPreviewResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LinkPreviewResponse.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.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.url = reader.string(); break; case 2: message.title = reader.string(); break; case 3: message.description = reader.string(); break; case 4: message.thumbData = reader.bytes(); break; case 5: message.canonicalUrl = reader.string(); break; case 6: message.matchText = reader.string(); break; case 7: message.previewType = reader.string(); break; case 8: message.hqThumbnail = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a LinkPreviewResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse} LinkPreviewResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LinkPreviewResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a LinkPreviewResponse message. * @function verify * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ LinkPreviewResponse.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.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.thumbData != null && message.hasOwnProperty("thumbData")) if (!(message.thumbData && typeof message.thumbData.length === "number" || $util.isString(message.thumbData))) return "thumbData: buffer expected"; if (message.canonicalUrl != null && message.hasOwnProperty("canonicalUrl")) if (!$util.isString(message.canonicalUrl)) return "canonicalUrl: string expected"; if (message.matchText != null && message.hasOwnProperty("matchText")) if (!$util.isString(message.matchText)) return "matchText: string expected"; if (message.previewType != null && message.hasOwnProperty("previewType")) if (!$util.isString(message.previewType)) return "previewType: string expected"; if (message.hqThumbnail != null && message.hasOwnProperty("hqThumbnail")) { var error = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail.verify(message.hqThumbnail); if (error) return "hqThumbnail." + error; } return null; }; /** * Creates a LinkPreviewResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse} LinkPreviewResponse */ LinkPreviewResponse.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse) return object; var message = new $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse(); if (object.url != null) message.url = String(object.url); if (object.title != null) message.title = String(object.title); if (object.description != null) message.description = String(object.description); if (object.thumbData != null) if (typeof object.thumbData === "string") $util.base64.decode(object.thumbData, message.thumbData = $util.newBuffer($util.base64.length(object.thumbData)), 0); else if (object.thumbData.length) message.thumbData = object.thumbData; if (object.canonicalUrl != null) message.canonicalUrl = String(object.canonicalUrl); if (object.matchText != null) message.matchText = String(object.matchText); if (object.previewType != null) message.previewType = String(object.previewType); if (object.hqThumbnail != null) { if (typeof object.hqThumbnail !== "object") throw TypeError(".proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.hqThumbnail: object expected"); message.hqThumbnail = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail.fromObject(object.hqThumbnail); } return message; }; /** * Creates a plain object from a LinkPreviewResponse message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse} message LinkPreviewResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ LinkPreviewResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.url = ""; object.title = ""; object.description = ""; if (options.bytes === String) object.thumbData = ""; else { object.thumbData = []; if (options.bytes !== Array) object.thumbData = $util.newBuffer(object.thumbData); } object.canonicalUrl = ""; object.matchText = ""; object.previewType = ""; object.hqThumbnail = null; } if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; if (message.thumbData != null && message.hasOwnProperty("thumbData")) object.thumbData = options.bytes === String ? $util.base64.encode(message.thumbData, 0, message.thumbData.length) : options.bytes === Array ? Array.prototype.slice.call(message.thumbData) : message.thumbData; if (message.canonicalUrl != null && message.hasOwnProperty("canonicalUrl")) object.canonicalUrl = message.canonicalUrl; if (message.matchText != null && message.hasOwnProperty("matchText")) object.matchText = message.matchText; if (message.previewType != null && message.hasOwnProperty("previewType")) object.previewType = message.previewType; if (message.hqThumbnail != null && message.hasOwnProperty("hqThumbnail")) object.hqThumbnail = $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail.toObject(message.hqThumbnail, options); return object; }; /** * Converts this LinkPreviewResponse to JSON. * @function toJSON * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @instance * @returns {Object.<string,*>} JSON object */ LinkPreviewResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; LinkPreviewResponse.LinkPreviewHighQualityThumbnail = (function() { /** * Properties of a LinkPreviewHighQualityThumbnail. * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @interface ILinkPreviewHighQualityThumbnail * @property {string|null} [directPath] LinkPreviewHighQualityThumbnail directPath * @property {string|null} [thumbHash] LinkPreviewHighQualityThumbnail thumbHash * @property {string|null} [encThumbHash] LinkPreviewHighQualityThumbnail encThumbHash * @property {Uint8Array|null} [mediaKey] LinkPreviewHighQualityThumbnail mediaKey * @property {number|Long|null} [mediaKeyTimestampMs] LinkPreviewHighQualityThumbnail mediaKeyTimestampMs * @property {number|null} [thumbWidth] LinkPreviewHighQualityThumbnail thumbWidth * @property {number|null} [thumbHeight] LinkPreviewHighQualityThumbnail thumbHeight */ /** * Constructs a new LinkPreviewHighQualityThumbnail. * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse * @classdesc Represents a LinkPreviewHighQualityThumbnail. * @implements ILinkPreviewHighQualityThumbnail * @constructor * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.ILinkPreviewHighQualityThumbnail=} [properties] Properties to set */ function LinkPreviewHighQualityThumbnail(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]]; } /** * LinkPreviewHighQualityThumbnail directPath. * @member {string} directPath * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @instance */ LinkPreviewHighQualityThumbnail.prototype.directPath = ""; /** * LinkPreviewHighQualityThumbnail thumbHash. * @member {string} thumbHash * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @instance */ LinkPreviewHighQualityThumbnail.prototype.thumbHash = ""; /** * LinkPreviewHighQualityThumbnail encThumbHash. * @member {string} encThumbHash * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @instance */ LinkPreviewHighQualityThumbnail.prototype.encThumbHash = ""; /** * LinkPreviewHighQualityThumbnail mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @instance */ LinkPreviewHighQualityThumbnail.prototype.mediaKey = $util.newBuffer([]); /** * LinkPreviewHighQualityThumbnail mediaKeyTimestampMs. * @member {number|Long} mediaKeyTimestampMs * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @instance */ LinkPreviewHighQualityThumbnail.prototype.mediaKeyTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * LinkPreviewHighQualityThumbnail thumbWidth. * @member {number} thumbWidth * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @instance */ LinkPreviewHighQualityThumbnail.prototype.thumbWidth = 0; /** * LinkPreviewHighQualityThumbnail thumbHeight. * @member {number} thumbHeight * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @instance */ LinkPreviewHighQualityThumbnail.prototype.thumbHeight = 0; /** * Creates a new LinkPreviewHighQualityThumbnail instance using the specified properties. * @function create * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.ILinkPreviewHighQualityThumbnail=} [properties] Properties to set * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail} LinkPreviewHighQualityThumbnail instance */ LinkPreviewHighQualityThumbnail.create = function create(properties) { return new LinkPreviewHighQualityThumbnail(properties); }; /** * Encodes the specified LinkPreviewHighQualityThumbnail message. Does not implicitly {@link proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail.verify|verify} messages. * @function encode * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.ILinkPreviewHighQualityThumbnail} message LinkPreviewHighQualityThumbnail message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LinkPreviewHighQualityThumbnail.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.directPath != null && Object.hasOwnProperty.call(message, "directPath")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.directPath); if (message.thumbHash != null && Object.hasOwnProperty.call(message, "thumbHash")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.thumbHash); if (message.encThumbHash != null && Object.hasOwnProperty.call(message, "encThumbHash")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.encThumbHash); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.mediaKey); if (message.mediaKeyTimestampMs != null && Object.hasOwnProperty.call(message, "mediaKeyTimestampMs")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.mediaKeyTimestampMs); if (message.thumbWidth != null && Object.hasOwnProperty.call(message, "thumbWidth")) writer.uint32(/* id 6, wireType 0 =*/48).int32(message.thumbWidth); if (message.thumbHeight != null && Object.hasOwnProperty.call(message, "thumbHeight")) writer.uint32(/* id 7, wireType 0 =*/56).int32(message.thumbHeight); return writer; }; /** * Encodes the specified LinkPreviewHighQualityThumbnail message, length delimited. Does not implicitly {@link proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.ILinkPreviewHighQualityThumbnail} message LinkPreviewHighQualityThumbnail message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LinkPreviewHighQualityThumbnail.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a LinkPreviewHighQualityThumbnail message from the specified reader or buffer. * @function decode * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail} LinkPreviewHighQualityThumbnail * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LinkPreviewHighQualityThumbnail.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.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.directPath = reader.string(); break; case 2: message.thumbHash = reader.string(); break; case 3: message.encThumbHash = reader.string(); break; case 4: message.mediaKey = reader.bytes(); break; case 5: message.mediaKeyTimestampMs = reader.int64(); break; case 6: message.thumbWidth = reader.int32(); break; case 7: message.thumbHeight = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a LinkPreviewHighQualityThumbnail message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail} LinkPreviewHighQualityThumbnail * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LinkPreviewHighQualityThumbnail.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a LinkPreviewHighQualityThumbnail message. * @function verify * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ LinkPreviewHighQualityThumbnail.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.directPath != null && message.hasOwnProperty("directPath")) if (!$util.isString(message.directPath)) return "directPath: string expected"; if (message.thumbHash != null && message.hasOwnProperty("thumbHash")) if (!$util.isString(message.thumbHash)) return "thumbHash: string expected"; if (message.encThumbHash != null && message.hasOwnProperty("encThumbHash")) if (!$util.isString(message.encThumbHash)) return "encThumbHash: string 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.mediaKeyTimestampMs != null && message.hasOwnProperty("mediaKeyTimestampMs")) if (!$util.isInteger(message.mediaKeyTimestampMs) && !(message.mediaKeyTimestampMs && $util.isInteger(message.mediaKeyTimestampMs.low) && $util.isInteger(message.mediaKeyTimestampMs.high))) return "mediaKeyTimestampMs: integer|Long expected"; if (message.thumbWidth != null && message.hasOwnProperty("thumbWidth")) if (!$util.isInteger(message.thumbWidth)) return "thumbWidth: integer expected"; if (message.thumbHeight != null && message.hasOwnProperty("thumbHeight")) if (!$util.isInteger(message.thumbHeight)) return "thumbHeight: integer expected"; return null; }; /** * Creates a LinkPreviewHighQualityThumbnail message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail} LinkPreviewHighQualityThumbnail */ LinkPreviewHighQualityThumbnail.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail) return object; var message = new $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail(); if (object.directPath != null) message.directPath = String(object.directPath); if (object.thumbHash != null) message.thumbHash = String(object.thumbHash); if (object.encThumbHash != null) message.encThumbHash = String(object.encThumbHash); 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.mediaKeyTimestampMs != null) if ($util.Long) (message.mediaKeyTimestampMs = $util.Long.fromValue(object.mediaKeyTimestampMs)).unsigned = false; else if (typeof object.mediaKeyTimestampMs === "string") message.mediaKeyTimestampMs = parseInt(object.mediaKeyTimestampMs, 10); else if (typeof object.mediaKeyTimestampMs === "number") message.mediaKeyTimestampMs = object.mediaKeyTimestampMs; else if (typeof object.mediaKeyTimestampMs === "object") message.mediaKeyTimestampMs = new $util.LongBits(object.mediaKeyTimestampMs.low >>> 0, object.mediaKeyTimestampMs.high >>> 0).toNumber(); if (object.thumbWidth != null) message.thumbWidth = object.thumbWidth | 0; if (object.thumbHeight != null) message.thumbHeight = object.thumbHeight | 0; return message; }; /** * Creates a plain object from a LinkPreviewHighQualityThumbnail message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail} message LinkPreviewHighQualityThumbnail * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ LinkPreviewHighQualityThumbnail.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.directPath = ""; object.thumbHash = ""; object.encThumbHash = ""; if (options.bytes === String) object.mediaKey = ""; else { object.mediaKey = []; if (options.bytes !== Array) object.mediaKey = $util.newBuffer(object.mediaKey); } if ($util.Long) { var long = new $util.Long(0, 0, false); object.mediaKeyTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.mediaKeyTimestampMs = options.longs === String ? "0" : 0; object.thumbWidth = 0; object.thumbHeight = 0; } if (message.directPath != null && message.hasOwnProperty("directPath")) object.directPath = message.directPath; if (message.thumbHash != null && message.hasOwnProperty("thumbHash")) object.thumbHash = message.thumbHash; if (message.encThumbHash != null && message.hasOwnProperty("encThumbHash")) object.encThumbHash = message.encThumbHash; 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.mediaKeyTimestampMs != null && message.hasOwnProperty("mediaKeyTimestampMs")) if (typeof message.mediaKeyTimestampMs === "number") object.mediaKeyTimestampMs = options.longs === String ? String(message.mediaKeyTimestampMs) : message.mediaKeyTimestampMs; else object.mediaKeyTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.mediaKeyTimestampMs) : options.longs === Number ? new $util.LongBits(message.mediaKeyTimestampMs.low >>> 0, message.mediaKeyTimestampMs.high >>> 0).toNumber() : message.mediaKeyTimestampMs; if (message.thumbWidth != null && message.hasOwnProperty("thumbWidth")) object.thumbWidth = message.thumbWidth; if (message.thumbHeight != null && message.hasOwnProperty("thumbHeight")) object.thumbHeight = message.thumbHeight; return object; }; /** * Converts this LinkPreviewHighQualityThumbnail to JSON. * @function toJSON * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail * @instance * @returns {Object.<string,*>} JSON object */ LinkPreviewHighQualityThumbnail.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return LinkPreviewHighQualityThumbnail; })(); return LinkPreviewResponse; })(); PeerDataOperationResult.PlaceholderMessageResendResponse = (function() { /** * Properties of a PlaceholderMessageResendResponse. * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @interface IPlaceholderMessageResendResponse * @property {Uint8Array|null} [webMessageInfoBytes] PlaceholderMessageResendResponse webMessageInfoBytes */ /** * Constructs a new PlaceholderMessageResendResponse. * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult * @classdesc Represents a PlaceholderMessageResendResponse. * @implements IPlaceholderMessageResendResponse * @constructor * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IPlaceholderMessageResendResponse=} [properties] Properties to set */ function PlaceholderMessageResendResponse(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]]; } /** * PlaceholderMessageResendResponse webMessageInfoBytes. * @member {Uint8Array} webMessageInfoBytes * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse * @instance */ PlaceholderMessageResendResponse.prototype.webMessageInfoBytes = $util.newBuffer([]); /** * Creates a new PlaceholderMessageResendResponse instance using the specified properties. * @function create * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IPlaceholderMessageResendResponse=} [properties] Properties to set * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse} PlaceholderMessageResendResponse instance */ PlaceholderMessageResendResponse.create = function create(properties) { return new PlaceholderMessageResendResponse(properties); }; /** * Encodes the specified PlaceholderMessageResendResponse message. Does not implicitly {@link proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse.verify|verify} messages. * @function encode * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IPlaceholderMessageResendResponse} message PlaceholderMessageResendResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PlaceholderMessageResendResponse.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.webMessageInfoBytes != null && Object.hasOwnProperty.call(message, "webMessageInfoBytes")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.webMessageInfoBytes); return writer; }; /** * Encodes the specified PlaceholderMessageResendResponse message, length delimited. Does not implicitly {@link proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.IPlaceholderMessageResendResponse} message PlaceholderMessageResendResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PlaceholderMessageResendResponse.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PlaceholderMessageResendResponse message from the specified reader or buffer. * @function decode * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse} PlaceholderMessageResendResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PlaceholderMessageResendResponse.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.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.webMessageInfoBytes = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PlaceholderMessageResendResponse message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse} PlaceholderMessageResendResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PlaceholderMessageResendResponse.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PlaceholderMessageResendResponse message. * @function verify * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PlaceholderMessageResendResponse.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.webMessageInfoBytes != null && message.hasOwnProperty("webMessageInfoBytes")) if (!(message.webMessageInfoBytes && typeof message.webMessageInfoBytes.length === "number" || $util.isString(message.webMessageInfoBytes))) return "webMessageInfoBytes: buffer expected"; return null; }; /** * Creates a PlaceholderMessageResendResponse message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse} PlaceholderMessageResendResponse */ PlaceholderMessageResendResponse.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse) return object; var message = new $root.proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse(); if (object.webMessageInfoBytes != null) if (typeof object.webMessageInfoBytes === "string") $util.base64.decode(object.webMessageInfoBytes, message.webMessageInfoBytes = $util.newBuffer($util.base64.length(object.webMessageInfoBytes)), 0); else if (object.webMessageInfoBytes.length) message.webMessageInfoBytes = object.webMessageInfoBytes; return message; }; /** * Creates a plain object from a PlaceholderMessageResendResponse message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse * @static * @param {proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse} message PlaceholderMessageResendResponse * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PlaceholderMessageResendResponse.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) if (options.bytes === String) object.webMessageInfoBytes = ""; else { object.webMessageInfoBytes = []; if (options.bytes !== Array) object.webMessageInfoBytes = $util.newBuffer(object.webMessageInfoBytes); } if (message.webMessageInfoBytes != null && message.hasOwnProperty("webMessageInfoBytes")) object.webMessageInfoBytes = options.bytes === String ? $util.base64.encode(message.webMessageInfoBytes, 0, message.webMessageInfoBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.webMessageInfoBytes) : message.webMessageInfoBytes; return object; }; /** * Converts this PlaceholderMessageResendResponse to JSON. * @function toJSON * @memberof proto.Message.PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse * @instance * @returns {Object.<string,*>} JSON object */ PlaceholderMessageResendResponse.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PlaceholderMessageResendResponse; })(); return PeerDataOperationResult; })(); return PeerDataOperationRequestResponseMessage; })(); /** * PeerDataOperationRequestType enum. * @name proto.Message.PeerDataOperationRequestType * @enum {number} * @property {number} UPLOAD_STICKER=0 UPLOAD_STICKER value * @property {number} SEND_RECENT_STICKER_BOOTSTRAP=1 SEND_RECENT_STICKER_BOOTSTRAP value * @property {number} GENERATE_LINK_PREVIEW=2 GENERATE_LINK_PREVIEW value * @property {number} HISTORY_SYNC_ON_DEMAND=3 HISTORY_SYNC_ON_DEMAND value * @property {number} PLACEHOLDER_MESSAGE_RESEND=4 PLACEHOLDER_MESSAGE_RESEND value */ Message.PeerDataOperationRequestType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UPLOAD_STICKER"] = 0; values[valuesById[1] = "SEND_RECENT_STICKER_BOOTSTRAP"] = 1; values[valuesById[2] = "GENERATE_LINK_PREVIEW"] = 2; values[valuesById[3] = "HISTORY_SYNC_ON_DEMAND"] = 3; values[valuesById[4] = "PLACEHOLDER_MESSAGE_RESEND"] = 4; return values; })(); Message.PinInChatMessage = (function() { /** * Properties of a PinInChatMessage. * @memberof proto.Message * @interface IPinInChatMessage * @property {proto.IMessageKey|null} [key] PinInChatMessage key * @property {proto.Message.PinInChatMessage.Type|null} [type] PinInChatMessage type * @property {number|Long|null} [senderTimestampMs] PinInChatMessage senderTimestampMs */ /** * Constructs a new PinInChatMessage. * @memberof proto.Message * @classdesc Represents a PinInChatMessage. * @implements IPinInChatMessage * @constructor * @param {proto.Message.IPinInChatMessage=} [properties] Properties to set */ function PinInChatMessage(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]]; } /** * PinInChatMessage key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.Message.PinInChatMessage * @instance */ PinInChatMessage.prototype.key = null; /** * PinInChatMessage type. * @member {proto.Message.PinInChatMessage.Type} type * @memberof proto.Message.PinInChatMessage * @instance */ PinInChatMessage.prototype.type = 0; /** * PinInChatMessage senderTimestampMs. * @member {number|Long} senderTimestampMs * @memberof proto.Message.PinInChatMessage * @instance */ PinInChatMessage.prototype.senderTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new PinInChatMessage instance using the specified properties. * @function create * @memberof proto.Message.PinInChatMessage * @static * @param {proto.Message.IPinInChatMessage=} [properties] Properties to set * @returns {proto.Message.PinInChatMessage} PinInChatMessage instance */ PinInChatMessage.create = function create(properties) { return new PinInChatMessage(properties); }; /** * Encodes the specified PinInChatMessage message. Does not implicitly {@link proto.Message.PinInChatMessage.verify|verify} messages. * @function encode * @memberof proto.Message.PinInChatMessage * @static * @param {proto.Message.IPinInChatMessage} message PinInChatMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PinInChatMessage.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.senderTimestampMs != null && Object.hasOwnProperty.call(message, "senderTimestampMs")) writer.uint32(/* id 3, wireType 0 =*/24).int64(message.senderTimestampMs); return writer; }; /** * Encodes the specified PinInChatMessage message, length delimited. Does not implicitly {@link proto.Message.PinInChatMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PinInChatMessage * @static * @param {proto.Message.IPinInChatMessage} message PinInChatMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PinInChatMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PinInChatMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.PinInChatMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PinInChatMessage} PinInChatMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PinInChatMessage.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.PinInChatMessage(); 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 3: message.senderTimestampMs = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PinInChatMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PinInChatMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PinInChatMessage} PinInChatMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PinInChatMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PinInChatMessage message. * @function verify * @memberof proto.Message.PinInChatMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PinInChatMessage.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 1: case 2: break; } if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (!$util.isInteger(message.senderTimestampMs) && !(message.senderTimestampMs && $util.isInteger(message.senderTimestampMs.low) && $util.isInteger(message.senderTimestampMs.high))) return "senderTimestampMs: integer|Long expected"; return null; }; /** * Creates a PinInChatMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PinInChatMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PinInChatMessage} PinInChatMessage */ PinInChatMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PinInChatMessage) return object; var message = new $root.proto.Message.PinInChatMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.Message.PinInChatMessage.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } switch (object.type) { case "UNKNOWN_TYPE": case 0: message.type = 0; break; case "PIN_FOR_ALL": case 1: message.type = 1; break; case "UNPIN_FOR_ALL": case 2: message.type = 2; break; } if (object.senderTimestampMs != null) if ($util.Long) (message.senderTimestampMs = $util.Long.fromValue(object.senderTimestampMs)).unsigned = false; else if (typeof object.senderTimestampMs === "string") message.senderTimestampMs = parseInt(object.senderTimestampMs, 10); else if (typeof object.senderTimestampMs === "number") message.senderTimestampMs = object.senderTimestampMs; else if (typeof object.senderTimestampMs === "object") message.senderTimestampMs = new $util.LongBits(object.senderTimestampMs.low >>> 0, object.senderTimestampMs.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a PinInChatMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PinInChatMessage * @static * @param {proto.Message.PinInChatMessage} message PinInChatMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PinInChatMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.key = null; object.type = options.enums === String ? "UNKNOWN_TYPE" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.senderTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.senderTimestampMs = options.longs === String ? "0" : 0; } 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.Message.PinInChatMessage.Type[message.type] : message.type; if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (typeof message.senderTimestampMs === "number") object.senderTimestampMs = options.longs === String ? String(message.senderTimestampMs) : message.senderTimestampMs; else object.senderTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.senderTimestampMs) : options.longs === Number ? new $util.LongBits(message.senderTimestampMs.low >>> 0, message.senderTimestampMs.high >>> 0).toNumber() : message.senderTimestampMs; return object; }; /** * Converts this PinInChatMessage to JSON. * @function toJSON * @memberof proto.Message.PinInChatMessage * @instance * @returns {Object.<string,*>} JSON object */ PinInChatMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Type enum. * @name proto.Message.PinInChatMessage.Type * @enum {number} * @property {number} UNKNOWN_TYPE=0 UNKNOWN_TYPE value * @property {number} PIN_FOR_ALL=1 PIN_FOR_ALL value * @property {number} UNPIN_FOR_ALL=2 UNPIN_FOR_ALL value */ PinInChatMessage.Type = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN_TYPE"] = 0; values[valuesById[1] = "PIN_FOR_ALL"] = 1; values[valuesById[2] = "UNPIN_FOR_ALL"] = 2; return values; })(); return PinInChatMessage; })(); Message.PollCreationMessage = (function() { /** * Properties of a PollCreationMessage. * @memberof proto.Message * @interface IPollCreationMessage * @property {Uint8Array|null} [encKey] PollCreationMessage encKey * @property {string|null} [name] PollCreationMessage name * @property {Array.<proto.Message.PollCreationMessage.IOption>|null} [options] PollCreationMessage options * @property {number|null} [selectableOptionsCount] PollCreationMessage selectableOptionsCount * @property {proto.IContextInfo|null} [contextInfo] PollCreationMessage contextInfo */ /** * Constructs a new PollCreationMessage. * @memberof proto.Message * @classdesc Represents a PollCreationMessage. * @implements IPollCreationMessage * @constructor * @param {proto.Message.IPollCreationMessage=} [properties] Properties to set */ function PollCreationMessage(properties) { this.options = []; 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]]; } /** * PollCreationMessage encKey. * @member {Uint8Array} encKey * @memberof proto.Message.PollCreationMessage * @instance */ PollCreationMessage.prototype.encKey = $util.newBuffer([]); /** * PollCreationMessage name. * @member {string} name * @memberof proto.Message.PollCreationMessage * @instance */ PollCreationMessage.prototype.name = ""; /** * PollCreationMessage options. * @member {Array.<proto.Message.PollCreationMessage.IOption>} options * @memberof proto.Message.PollCreationMessage * @instance */ PollCreationMessage.prototype.options = $util.emptyArray; /** * PollCreationMessage selectableOptionsCount. * @member {number} selectableOptionsCount * @memberof proto.Message.PollCreationMessage * @instance */ PollCreationMessage.prototype.selectableOptionsCount = 0; /** * PollCreationMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.PollCreationMessage * @instance */ PollCreationMessage.prototype.contextInfo = null; /** * Creates a new PollCreationMessage instance using the specified properties. * @function create * @memberof proto.Message.PollCreationMessage * @static * @param {proto.Message.IPollCreationMessage=} [properties] Properties to set * @returns {proto.Message.PollCreationMessage} PollCreationMessage instance */ PollCreationMessage.create = function create(properties) { return new PollCreationMessage(properties); }; /** * Encodes the specified PollCreationMessage message. Does not implicitly {@link proto.Message.PollCreationMessage.verify|verify} messages. * @function encode * @memberof proto.Message.PollCreationMessage * @static * @param {proto.Message.IPollCreationMessage} message PollCreationMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollCreationMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.encKey != null && Object.hasOwnProperty.call(message, "encKey")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.encKey); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.name); if (message.options != null && message.options.length) for (var i = 0; i < message.options.length; ++i) $root.proto.Message.PollCreationMessage.Option.encode(message.options[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.selectableOptionsCount != null && Object.hasOwnProperty.call(message, "selectableOptionsCount")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.selectableOptionsCount); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; /** * Encodes the specified PollCreationMessage message, length delimited. Does not implicitly {@link proto.Message.PollCreationMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PollCreationMessage * @static * @param {proto.Message.IPollCreationMessage} message PollCreationMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollCreationMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PollCreationMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.PollCreationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PollCreationMessage} PollCreationMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollCreationMessage.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.PollCreationMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.encKey = reader.bytes(); break; case 2: message.name = reader.string(); break; case 3: if (!(message.options && message.options.length)) message.options = []; message.options.push($root.proto.Message.PollCreationMessage.Option.decode(reader, reader.uint32())); break; case 4: message.selectableOptionsCount = reader.uint32(); break; case 5: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PollCreationMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PollCreationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PollCreationMessage} PollCreationMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollCreationMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PollCreationMessage message. * @function verify * @memberof proto.Message.PollCreationMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PollCreationMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.encKey != null && message.hasOwnProperty("encKey")) if (!(message.encKey && typeof message.encKey.length === "number" || $util.isString(message.encKey))) return "encKey: buffer expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.options != null && message.hasOwnProperty("options")) { if (!Array.isArray(message.options)) return "options: array expected"; for (var i = 0; i < message.options.length; ++i) { var error = $root.proto.Message.PollCreationMessage.Option.verify(message.options[i]); if (error) return "options." + error; } } if (message.selectableOptionsCount != null && message.hasOwnProperty("selectableOptionsCount")) if (!$util.isInteger(message.selectableOptionsCount)) return "selectableOptionsCount: integer 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 PollCreationMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PollCreationMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PollCreationMessage} PollCreationMessage */ PollCreationMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PollCreationMessage) return object; var message = new $root.proto.Message.PollCreationMessage(); if (object.encKey != null) if (typeof object.encKey === "string") $util.base64.decode(object.encKey, message.encKey = $util.newBuffer($util.base64.length(object.encKey)), 0); else if (object.encKey.length) message.encKey = object.encKey; if (object.name != null) message.name = String(object.name); if (object.options) { if (!Array.isArray(object.options)) throw TypeError(".proto.Message.PollCreationMessage.options: array expected"); message.options = []; for (var i = 0; i < object.options.length; ++i) { if (typeof object.options[i] !== "object") throw TypeError(".proto.Message.PollCreationMessage.options: object expected"); message.options[i] = $root.proto.Message.PollCreationMessage.Option.fromObject(object.options[i]); } } if (object.selectableOptionsCount != null) message.selectableOptionsCount = object.selectableOptionsCount >>> 0; if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.PollCreationMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a PollCreationMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PollCreationMessage * @static * @param {proto.Message.PollCreationMessage} message PollCreationMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PollCreationMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.options = []; if (options.defaults) { if (options.bytes === String) object.encKey = ""; else { object.encKey = []; if (options.bytes !== Array) object.encKey = $util.newBuffer(object.encKey); } object.name = ""; object.selectableOptionsCount = 0; object.contextInfo = null; } if (message.encKey != null && message.hasOwnProperty("encKey")) object.encKey = options.bytes === String ? $util.base64.encode(message.encKey, 0, message.encKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.encKey) : message.encKey; if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.options && message.options.length) { object.options = []; for (var j = 0; j < message.options.length; ++j) object.options[j] = $root.proto.Message.PollCreationMessage.Option.toObject(message.options[j], options); } if (message.selectableOptionsCount != null && message.hasOwnProperty("selectableOptionsCount")) object.selectableOptionsCount = message.selectableOptionsCount; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this PollCreationMessage to JSON. * @function toJSON * @memberof proto.Message.PollCreationMessage * @instance * @returns {Object.<string,*>} JSON object */ PollCreationMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; PollCreationMessage.Option = (function() { /** * Properties of an Option. * @memberof proto.Message.PollCreationMessage * @interface IOption * @property {string|null} [optionName] Option optionName */ /** * Constructs a new Option. * @memberof proto.Message.PollCreationMessage * @classdesc Represents an Option. * @implements IOption * @constructor * @param {proto.Message.PollCreationMessage.IOption=} [properties] Properties to set */ function Option(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]]; } /** * Option optionName. * @member {string} optionName * @memberof proto.Message.PollCreationMessage.Option * @instance */ Option.prototype.optionName = ""; /** * Creates a new Option instance using the specified properties. * @function create * @memberof proto.Message.PollCreationMessage.Option * @static * @param {proto.Message.PollCreationMessage.IOption=} [properties] Properties to set * @returns {proto.Message.PollCreationMessage.Option} Option instance */ Option.create = function create(properties) { return new Option(properties); }; /** * Encodes the specified Option message. Does not implicitly {@link proto.Message.PollCreationMessage.Option.verify|verify} messages. * @function encode * @memberof proto.Message.PollCreationMessage.Option * @static * @param {proto.Message.PollCreationMessage.IOption} message Option message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Option.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.optionName != null && Object.hasOwnProperty.call(message, "optionName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.optionName); return writer; }; /** * Encodes the specified Option message, length delimited. Does not implicitly {@link proto.Message.PollCreationMessage.Option.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PollCreationMessage.Option * @static * @param {proto.Message.PollCreationMessage.IOption} message Option message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Option.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an Option message from the specified reader or buffer. * @function decode * @memberof proto.Message.PollCreationMessage.Option * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PollCreationMessage.Option} Option * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Option.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.PollCreationMessage.Option(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.optionName = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an Option message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PollCreationMessage.Option * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PollCreationMessage.Option} Option * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Option.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an Option message. * @function verify * @memberof proto.Message.PollCreationMessage.Option * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Option.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.optionName != null && message.hasOwnProperty("optionName")) if (!$util.isString(message.optionName)) return "optionName: string expected"; return null; }; /** * Creates an Option message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PollCreationMessage.Option * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PollCreationMessage.Option} Option */ Option.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PollCreationMessage.Option) return object; var message = new $root.proto.Message.PollCreationMessage.Option(); if (object.optionName != null) message.optionName = String(object.optionName); return message; }; /** * Creates a plain object from an Option message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PollCreationMessage.Option * @static * @param {proto.Message.PollCreationMessage.Option} message Option * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Option.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.optionName = ""; if (message.optionName != null && message.hasOwnProperty("optionName")) object.optionName = message.optionName; return object; }; /** * Converts this Option to JSON. * @function toJSON * @memberof proto.Message.PollCreationMessage.Option * @instance * @returns {Object.<string,*>} JSON object */ Option.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Option; })(); return PollCreationMessage; })(); Message.PollEncValue = (function() { /** * Properties of a PollEncValue. * @memberof proto.Message * @interface IPollEncValue * @property {Uint8Array|null} [encPayload] PollEncValue encPayload * @property {Uint8Array|null} [encIv] PollEncValue encIv */ /** * Constructs a new PollEncValue. * @memberof proto.Message * @classdesc Represents a PollEncValue. * @implements IPollEncValue * @constructor * @param {proto.Message.IPollEncValue=} [properties] Properties to set */ function PollEncValue(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]]; } /** * PollEncValue encPayload. * @member {Uint8Array} encPayload * @memberof proto.Message.PollEncValue * @instance */ PollEncValue.prototype.encPayload = $util.newBuffer([]); /** * PollEncValue encIv. * @member {Uint8Array} encIv * @memberof proto.Message.PollEncValue * @instance */ PollEncValue.prototype.encIv = $util.newBuffer([]); /** * Creates a new PollEncValue instance using the specified properties. * @function create * @memberof proto.Message.PollEncValue * @static * @param {proto.Message.IPollEncValue=} [properties] Properties to set * @returns {proto.Message.PollEncValue} PollEncValue instance */ PollEncValue.create = function create(properties) { return new PollEncValue(properties); }; /** * Encodes the specified PollEncValue message. Does not implicitly {@link proto.Message.PollEncValue.verify|verify} messages. * @function encode * @memberof proto.Message.PollEncValue * @static * @param {proto.Message.IPollEncValue} message PollEncValue message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollEncValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.encPayload != null && Object.hasOwnProperty.call(message, "encPayload")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.encPayload); if (message.encIv != null && Object.hasOwnProperty.call(message, "encIv")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.encIv); return writer; }; /** * Encodes the specified PollEncValue message, length delimited. Does not implicitly {@link proto.Message.PollEncValue.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PollEncValue * @static * @param {proto.Message.IPollEncValue} message PollEncValue message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollEncValue.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PollEncValue message from the specified reader or buffer. * @function decode * @memberof proto.Message.PollEncValue * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PollEncValue} PollEncValue * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollEncValue.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.PollEncValue(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.encPayload = reader.bytes(); break; case 2: message.encIv = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PollEncValue message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PollEncValue * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PollEncValue} PollEncValue * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollEncValue.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PollEncValue message. * @function verify * @memberof proto.Message.PollEncValue * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PollEncValue.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.encPayload != null && message.hasOwnProperty("encPayload")) if (!(message.encPayload && typeof message.encPayload.length === "number" || $util.isString(message.encPayload))) return "encPayload: buffer expected"; if (message.encIv != null && message.hasOwnProperty("encIv")) if (!(message.encIv && typeof message.encIv.length === "number" || $util.isString(message.encIv))) return "encIv: buffer expected"; return null; }; /** * Creates a PollEncValue message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PollEncValue * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PollEncValue} PollEncValue */ PollEncValue.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PollEncValue) return object; var message = new $root.proto.Message.PollEncValue(); if (object.encPayload != null) if (typeof object.encPayload === "string") $util.base64.decode(object.encPayload, message.encPayload = $util.newBuffer($util.base64.length(object.encPayload)), 0); else if (object.encPayload.length) message.encPayload = object.encPayload; if (object.encIv != null) if (typeof object.encIv === "string") $util.base64.decode(object.encIv, message.encIv = $util.newBuffer($util.base64.length(object.encIv)), 0); else if (object.encIv.length) message.encIv = object.encIv; return message; }; /** * Creates a plain object from a PollEncValue message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PollEncValue * @static * @param {proto.Message.PollEncValue} message PollEncValue * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PollEncValue.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.encPayload = ""; else { object.encPayload = []; if (options.bytes !== Array) object.encPayload = $util.newBuffer(object.encPayload); } if (options.bytes === String) object.encIv = ""; else { object.encIv = []; if (options.bytes !== Array) object.encIv = $util.newBuffer(object.encIv); } } if (message.encPayload != null && message.hasOwnProperty("encPayload")) object.encPayload = options.bytes === String ? $util.base64.encode(message.encPayload, 0, message.encPayload.length) : options.bytes === Array ? Array.prototype.slice.call(message.encPayload) : message.encPayload; if (message.encIv != null && message.hasOwnProperty("encIv")) object.encIv = options.bytes === String ? $util.base64.encode(message.encIv, 0, message.encIv.length) : options.bytes === Array ? Array.prototype.slice.call(message.encIv) : message.encIv; return object; }; /** * Converts this PollEncValue to JSON. * @function toJSON * @memberof proto.Message.PollEncValue * @instance * @returns {Object.<string,*>} JSON object */ PollEncValue.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PollEncValue; })(); Message.PollUpdateMessage = (function() { /** * Properties of a PollUpdateMessage. * @memberof proto.Message * @interface IPollUpdateMessage * @property {proto.IMessageKey|null} [pollCreationMessageKey] PollUpdateMessage pollCreationMessageKey * @property {proto.Message.IPollEncValue|null} [vote] PollUpdateMessage vote * @property {proto.Message.IPollUpdateMessageMetadata|null} [metadata] PollUpdateMessage metadata * @property {number|Long|null} [senderTimestampMs] PollUpdateMessage senderTimestampMs */ /** * Constructs a new PollUpdateMessage. * @memberof proto.Message * @classdesc Represents a PollUpdateMessage. * @implements IPollUpdateMessage * @constructor * @param {proto.Message.IPollUpdateMessage=} [properties] Properties to set */ function PollUpdateMessage(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]]; } /** * PollUpdateMessage pollCreationMessageKey. * @member {proto.IMessageKey|null|undefined} pollCreationMessageKey * @memberof proto.Message.PollUpdateMessage * @instance */ PollUpdateMessage.prototype.pollCreationMessageKey = null; /** * PollUpdateMessage vote. * @member {proto.Message.IPollEncValue|null|undefined} vote * @memberof proto.Message.PollUpdateMessage * @instance */ PollUpdateMessage.prototype.vote = null; /** * PollUpdateMessage metadata. * @member {proto.Message.IPollUpdateMessageMetadata|null|undefined} metadata * @memberof proto.Message.PollUpdateMessage * @instance */ PollUpdateMessage.prototype.metadata = null; /** * PollUpdateMessage senderTimestampMs. * @member {number|Long} senderTimestampMs * @memberof proto.Message.PollUpdateMessage * @instance */ PollUpdateMessage.prototype.senderTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new PollUpdateMessage instance using the specified properties. * @function create * @memberof proto.Message.PollUpdateMessage * @static * @param {proto.Message.IPollUpdateMessage=} [properties] Properties to set * @returns {proto.Message.PollUpdateMessage} PollUpdateMessage instance */ PollUpdateMessage.create = function create(properties) { return new PollUpdateMessage(properties); }; /** * Encodes the specified PollUpdateMessage message. Does not implicitly {@link proto.Message.PollUpdateMessage.verify|verify} messages. * @function encode * @memberof proto.Message.PollUpdateMessage * @static * @param {proto.Message.IPollUpdateMessage} message PollUpdateMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollUpdateMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.pollCreationMessageKey != null && Object.hasOwnProperty.call(message, "pollCreationMessageKey")) $root.proto.MessageKey.encode(message.pollCreationMessageKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.vote != null && Object.hasOwnProperty.call(message, "vote")) $root.proto.Message.PollEncValue.encode(message.vote, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) $root.proto.Message.PollUpdateMessageMetadata.encode(message.metadata, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.senderTimestampMs != null && Object.hasOwnProperty.call(message, "senderTimestampMs")) writer.uint32(/* id 4, wireType 0 =*/32).int64(message.senderTimestampMs); return writer; }; /** * Encodes the specified PollUpdateMessage message, length delimited. Does not implicitly {@link proto.Message.PollUpdateMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PollUpdateMessage * @static * @param {proto.Message.IPollUpdateMessage} message PollUpdateMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollUpdateMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PollUpdateMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.PollUpdateMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PollUpdateMessage} PollUpdateMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollUpdateMessage.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.PollUpdateMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.pollCreationMessageKey = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 2: message.vote = $root.proto.Message.PollEncValue.decode(reader, reader.uint32()); break; case 3: message.metadata = $root.proto.Message.PollUpdateMessageMetadata.decode(reader, reader.uint32()); break; case 4: message.senderTimestampMs = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PollUpdateMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PollUpdateMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PollUpdateMessage} PollUpdateMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollUpdateMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PollUpdateMessage message. * @function verify * @memberof proto.Message.PollUpdateMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PollUpdateMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.pollCreationMessageKey != null && message.hasOwnProperty("pollCreationMessageKey")) { var error = $root.proto.MessageKey.verify(message.pollCreationMessageKey); if (error) return "pollCreationMessageKey." + error; } if (message.vote != null && message.hasOwnProperty("vote")) { var error = $root.proto.Message.PollEncValue.verify(message.vote); if (error) return "vote." + error; } if (message.metadata != null && message.hasOwnProperty("metadata")) { var error = $root.proto.Message.PollUpdateMessageMetadata.verify(message.metadata); if (error) return "metadata." + error; } if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (!$util.isInteger(message.senderTimestampMs) && !(message.senderTimestampMs && $util.isInteger(message.senderTimestampMs.low) && $util.isInteger(message.senderTimestampMs.high))) return "senderTimestampMs: integer|Long expected"; return null; }; /** * Creates a PollUpdateMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PollUpdateMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PollUpdateMessage} PollUpdateMessage */ PollUpdateMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PollUpdateMessage) return object; var message = new $root.proto.Message.PollUpdateMessage(); if (object.pollCreationMessageKey != null) { if (typeof object.pollCreationMessageKey !== "object") throw TypeError(".proto.Message.PollUpdateMessage.pollCreationMessageKey: object expected"); message.pollCreationMessageKey = $root.proto.MessageKey.fromObject(object.pollCreationMessageKey); } if (object.vote != null) { if (typeof object.vote !== "object") throw TypeError(".proto.Message.PollUpdateMessage.vote: object expected"); message.vote = $root.proto.Message.PollEncValue.fromObject(object.vote); } if (object.metadata != null) { if (typeof object.metadata !== "object") throw TypeError(".proto.Message.PollUpdateMessage.metadata: object expected"); message.metadata = $root.proto.Message.PollUpdateMessageMetadata.fromObject(object.metadata); } if (object.senderTimestampMs != null) if ($util.Long) (message.senderTimestampMs = $util.Long.fromValue(object.senderTimestampMs)).unsigned = false; else if (typeof object.senderTimestampMs === "string") message.senderTimestampMs = parseInt(object.senderTimestampMs, 10); else if (typeof object.senderTimestampMs === "number") message.senderTimestampMs = object.senderTimestampMs; else if (typeof object.senderTimestampMs === "object") message.senderTimestampMs = new $util.LongBits(object.senderTimestampMs.low >>> 0, object.senderTimestampMs.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a PollUpdateMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PollUpdateMessage * @static * @param {proto.Message.PollUpdateMessage} message PollUpdateMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PollUpdateMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.pollCreationMessageKey = null; object.vote = null; object.metadata = null; if ($util.Long) { var long = new $util.Long(0, 0, false); object.senderTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.senderTimestampMs = options.longs === String ? "0" : 0; } if (message.pollCreationMessageKey != null && message.hasOwnProperty("pollCreationMessageKey")) object.pollCreationMessageKey = $root.proto.MessageKey.toObject(message.pollCreationMessageKey, options); if (message.vote != null && message.hasOwnProperty("vote")) object.vote = $root.proto.Message.PollEncValue.toObject(message.vote, options); if (message.metadata != null && message.hasOwnProperty("metadata")) object.metadata = $root.proto.Message.PollUpdateMessageMetadata.toObject(message.metadata, options); if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (typeof message.senderTimestampMs === "number") object.senderTimestampMs = options.longs === String ? String(message.senderTimestampMs) : message.senderTimestampMs; else object.senderTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.senderTimestampMs) : options.longs === Number ? new $util.LongBits(message.senderTimestampMs.low >>> 0, message.senderTimestampMs.high >>> 0).toNumber() : message.senderTimestampMs; return object; }; /** * Converts this PollUpdateMessage to JSON. * @function toJSON * @memberof proto.Message.PollUpdateMessage * @instance * @returns {Object.<string,*>} JSON object */ PollUpdateMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PollUpdateMessage; })(); Message.PollUpdateMessageMetadata = (function() { /** * Properties of a PollUpdateMessageMetadata. * @memberof proto.Message * @interface IPollUpdateMessageMetadata */ /** * Constructs a new PollUpdateMessageMetadata. * @memberof proto.Message * @classdesc Represents a PollUpdateMessageMetadata. * @implements IPollUpdateMessageMetadata * @constructor * @param {proto.Message.IPollUpdateMessageMetadata=} [properties] Properties to set */ function PollUpdateMessageMetadata(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]]; } /** * Creates a new PollUpdateMessageMetadata instance using the specified properties. * @function create * @memberof proto.Message.PollUpdateMessageMetadata * @static * @param {proto.Message.IPollUpdateMessageMetadata=} [properties] Properties to set * @returns {proto.Message.PollUpdateMessageMetadata} PollUpdateMessageMetadata instance */ PollUpdateMessageMetadata.create = function create(properties) { return new PollUpdateMessageMetadata(properties); }; /** * Encodes the specified PollUpdateMessageMetadata message. Does not implicitly {@link proto.Message.PollUpdateMessageMetadata.verify|verify} messages. * @function encode * @memberof proto.Message.PollUpdateMessageMetadata * @static * @param {proto.Message.IPollUpdateMessageMetadata} message PollUpdateMessageMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollUpdateMessageMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); return writer; }; /** * Encodes the specified PollUpdateMessageMetadata message, length delimited. Does not implicitly {@link proto.Message.PollUpdateMessageMetadata.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PollUpdateMessageMetadata * @static * @param {proto.Message.IPollUpdateMessageMetadata} message PollUpdateMessageMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollUpdateMessageMetadata.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PollUpdateMessageMetadata message from the specified reader or buffer. * @function decode * @memberof proto.Message.PollUpdateMessageMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PollUpdateMessageMetadata} PollUpdateMessageMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollUpdateMessageMetadata.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.PollUpdateMessageMetadata(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PollUpdateMessageMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PollUpdateMessageMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PollUpdateMessageMetadata} PollUpdateMessageMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollUpdateMessageMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PollUpdateMessageMetadata message. * @function verify * @memberof proto.Message.PollUpdateMessageMetadata * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PollUpdateMessageMetadata.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; return null; }; /** * Creates a PollUpdateMessageMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PollUpdateMessageMetadata * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PollUpdateMessageMetadata} PollUpdateMessageMetadata */ PollUpdateMessageMetadata.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PollUpdateMessageMetadata) return object; return new $root.proto.Message.PollUpdateMessageMetadata(); }; /** * Creates a plain object from a PollUpdateMessageMetadata message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PollUpdateMessageMetadata * @static * @param {proto.Message.PollUpdateMessageMetadata} message PollUpdateMessageMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PollUpdateMessageMetadata.toObject = function toObject() { return {}; }; /** * Converts this PollUpdateMessageMetadata to JSON. * @function toJSON * @memberof proto.Message.PollUpdateMessageMetadata * @instance * @returns {Object.<string,*>} JSON object */ PollUpdateMessageMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PollUpdateMessageMetadata; })(); Message.PollVoteMessage = (function() { /** * Properties of a PollVoteMessage. * @memberof proto.Message * @interface IPollVoteMessage * @property {Array.<Uint8Array>|null} [selectedOptions] PollVoteMessage selectedOptions */ /** * Constructs a new PollVoteMessage. * @memberof proto.Message * @classdesc Represents a PollVoteMessage. * @implements IPollVoteMessage * @constructor * @param {proto.Message.IPollVoteMessage=} [properties] Properties to set */ function PollVoteMessage(properties) { this.selectedOptions = []; 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]]; } /** * PollVoteMessage selectedOptions. * @member {Array.<Uint8Array>} selectedOptions * @memberof proto.Message.PollVoteMessage * @instance */ PollVoteMessage.prototype.selectedOptions = $util.emptyArray; /** * Creates a new PollVoteMessage instance using the specified properties. * @function create * @memberof proto.Message.PollVoteMessage * @static * @param {proto.Message.IPollVoteMessage=} [properties] Properties to set * @returns {proto.Message.PollVoteMessage} PollVoteMessage instance */ PollVoteMessage.create = function create(properties) { return new PollVoteMessage(properties); }; /** * Encodes the specified PollVoteMessage message. Does not implicitly {@link proto.Message.PollVoteMessage.verify|verify} messages. * @function encode * @memberof proto.Message.PollVoteMessage * @static * @param {proto.Message.IPollVoteMessage} message PollVoteMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollVoteMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.selectedOptions != null && message.selectedOptions.length) for (var i = 0; i < message.selectedOptions.length; ++i) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.selectedOptions[i]); return writer; }; /** * Encodes the specified PollVoteMessage message, length delimited. Does not implicitly {@link proto.Message.PollVoteMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.PollVoteMessage * @static * @param {proto.Message.IPollVoteMessage} message PollVoteMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollVoteMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PollVoteMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.PollVoteMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.PollVoteMessage} PollVoteMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollVoteMessage.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.PollVoteMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.selectedOptions && message.selectedOptions.length)) message.selectedOptions = []; message.selectedOptions.push(reader.bytes()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PollVoteMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.PollVoteMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.PollVoteMessage} PollVoteMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollVoteMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PollVoteMessage message. * @function verify * @memberof proto.Message.PollVoteMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PollVoteMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.selectedOptions != null && message.hasOwnProperty("selectedOptions")) { if (!Array.isArray(message.selectedOptions)) return "selectedOptions: array expected"; for (var i = 0; i < message.selectedOptions.length; ++i) if (!(message.selectedOptions[i] && typeof message.selectedOptions[i].length === "number" || $util.isString(message.selectedOptions[i]))) return "selectedOptions: buffer[] expected"; } return null; }; /** * Creates a PollVoteMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.PollVoteMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.PollVoteMessage} PollVoteMessage */ PollVoteMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.PollVoteMessage) return object; var message = new $root.proto.Message.PollVoteMessage(); if (object.selectedOptions) { if (!Array.isArray(object.selectedOptions)) throw TypeError(".proto.Message.PollVoteMessage.selectedOptions: array expected"); message.selectedOptions = []; for (var i = 0; i < object.selectedOptions.length; ++i) if (typeof object.selectedOptions[i] === "string") $util.base64.decode(object.selectedOptions[i], message.selectedOptions[i] = $util.newBuffer($util.base64.length(object.selectedOptions[i])), 0); else if (object.selectedOptions[i].length) message.selectedOptions[i] = object.selectedOptions[i]; } return message; }; /** * Creates a plain object from a PollVoteMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.PollVoteMessage * @static * @param {proto.Message.PollVoteMessage} message PollVoteMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PollVoteMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.selectedOptions = []; if (message.selectedOptions && message.selectedOptions.length) { object.selectedOptions = []; for (var j = 0; j < message.selectedOptions.length; ++j) object.selectedOptions[j] = options.bytes === String ? $util.base64.encode(message.selectedOptions[j], 0, message.selectedOptions[j].length) : options.bytes === Array ? Array.prototype.slice.call(message.selectedOptions[j]) : message.selectedOptions[j]; } return object; }; /** * Converts this PollVoteMessage to JSON. * @function toJSON * @memberof proto.Message.PollVoteMessage * @instance * @returns {Object.<string,*>} JSON object */ PollVoteMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PollVoteMessage; })(); Message.ProductMessage = (function() { /** * Properties of a ProductMessage. * @memberof proto.Message * @interface IProductMessage * @property {proto.Message.ProductMessage.IProductSnapshot|null} [product] ProductMessage product * @property {string|null} [businessOwnerJid] ProductMessage businessOwnerJid * @property {proto.Message.ProductMessage.ICatalogSnapshot|null} [catalog] ProductMessage catalog * @property {string|null} [body] ProductMessage body * @property {string|null} [footer] ProductMessage footer * @property {proto.IContextInfo|null} [contextInfo] ProductMessage contextInfo */ /** * Constructs a new ProductMessage. * @memberof proto.Message * @classdesc Represents a ProductMessage. * @implements IProductMessage * @constructor * @param {proto.Message.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.Message.ProductMessage.IProductSnapshot|null|undefined} product * @memberof proto.Message.ProductMessage * @instance */ ProductMessage.prototype.product = null; /** * ProductMessage businessOwnerJid. * @member {string} businessOwnerJid * @memberof proto.Message.ProductMessage * @instance */ ProductMessage.prototype.businessOwnerJid = ""; /** * ProductMessage catalog. * @member {proto.Message.ProductMessage.ICatalogSnapshot|null|undefined} catalog * @memberof proto.Message.ProductMessage * @instance */ ProductMessage.prototype.catalog = null; /** * ProductMessage body. * @member {string} body * @memberof proto.Message.ProductMessage * @instance */ ProductMessage.prototype.body = ""; /** * ProductMessage footer. * @member {string} footer * @memberof proto.Message.ProductMessage * @instance */ ProductMessage.prototype.footer = ""; /** * ProductMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.ProductMessage * @instance */ ProductMessage.prototype.contextInfo = null; /** * Creates a new ProductMessage instance using the specified properties. * @function create * @memberof proto.Message.ProductMessage * @static * @param {proto.Message.IProductMessage=} [properties] Properties to set * @returns {proto.Message.ProductMessage} ProductMessage instance */ ProductMessage.create = function create(properties) { return new ProductMessage(properties); }; /** * Encodes the specified ProductMessage message. Does not implicitly {@link proto.Message.ProductMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ProductMessage * @static * @param {proto.Message.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.Message.ProductMessage.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.Message.ProductMessage.CatalogSnapshot.encode(message.catalog, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.body != null && Object.hasOwnProperty.call(message, "body")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.body); if (message.footer != null && Object.hasOwnProperty.call(message, "footer")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.footer); 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.Message.ProductMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ProductMessage * @static * @param {proto.Message.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.Message.ProductMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.ProductMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.product = $root.proto.Message.ProductMessage.ProductSnapshot.decode(reader, reader.uint32()); break; case 2: message.businessOwnerJid = reader.string(); break; case 4: message.catalog = $root.proto.Message.ProductMessage.CatalogSnapshot.decode(reader, reader.uint32()); break; case 5: message.body = reader.string(); break; case 6: message.footer = 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 ProductMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ProductMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.ProductMessage * @static * @param {Object.<string,*>} 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.Message.ProductMessage.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.Message.ProductMessage.CatalogSnapshot.verify(message.catalog); if (error) return "catalog." + error; } if (message.body != null && message.hasOwnProperty("body")) if (!$util.isString(message.body)) return "body: string expected"; if (message.footer != null && message.hasOwnProperty("footer")) if (!$util.isString(message.footer)) return "footer: 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 ProductMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ProductMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ProductMessage} ProductMessage */ ProductMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ProductMessage) return object; var message = new $root.proto.Message.ProductMessage(); if (object.product != null) { if (typeof object.product !== "object") throw TypeError(".proto.Message.ProductMessage.product: object expected"); message.product = $root.proto.Message.ProductMessage.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.Message.ProductMessage.catalog: object expected"); message.catalog = $root.proto.Message.ProductMessage.CatalogSnapshot.fromObject(object.catalog); } if (object.body != null) message.body = String(object.body); if (object.footer != null) message.footer = String(object.footer); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.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.Message.ProductMessage * @static * @param {proto.Message.ProductMessage} message ProductMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.body = ""; object.footer = ""; object.contextInfo = null; } if (message.product != null && message.hasOwnProperty("product")) object.product = $root.proto.Message.ProductMessage.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.Message.ProductMessage.CatalogSnapshot.toObject(message.catalog, options); if (message.body != null && message.hasOwnProperty("body")) object.body = message.body; if (message.footer != null && message.hasOwnProperty("footer")) object.footer = message.footer; 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.Message.ProductMessage * @instance * @returns {Object.<string,*>} JSON object */ ProductMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; ProductMessage.CatalogSnapshot = (function() { /** * Properties of a CatalogSnapshot. * @memberof proto.Message.ProductMessage * @interface ICatalogSnapshot * @property {proto.Message.IImageMessage|null} [catalogImage] CatalogSnapshot catalogImage * @property {string|null} [title] CatalogSnapshot title * @property {string|null} [description] CatalogSnapshot description */ /** * Constructs a new CatalogSnapshot. * @memberof proto.Message.ProductMessage * @classdesc Represents a CatalogSnapshot. * @implements ICatalogSnapshot * @constructor * @param {proto.Message.ProductMessage.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.Message.IImageMessage|null|undefined} catalogImage * @memberof proto.Message.ProductMessage.CatalogSnapshot * @instance */ CatalogSnapshot.prototype.catalogImage = null; /** * CatalogSnapshot title. * @member {string} title * @memberof proto.Message.ProductMessage.CatalogSnapshot * @instance */ CatalogSnapshot.prototype.title = ""; /** * CatalogSnapshot description. * @member {string} description * @memberof proto.Message.ProductMessage.CatalogSnapshot * @instance */ CatalogSnapshot.prototype.description = ""; /** * Creates a new CatalogSnapshot instance using the specified properties. * @function create * @memberof proto.Message.ProductMessage.CatalogSnapshot * @static * @param {proto.Message.ProductMessage.ICatalogSnapshot=} [properties] Properties to set * @returns {proto.Message.ProductMessage.CatalogSnapshot} CatalogSnapshot instance */ CatalogSnapshot.create = function create(properties) { return new CatalogSnapshot(properties); }; /** * Encodes the specified CatalogSnapshot message. Does not implicitly {@link proto.Message.ProductMessage.CatalogSnapshot.verify|verify} messages. * @function encode * @memberof proto.Message.ProductMessage.CatalogSnapshot * @static * @param {proto.Message.ProductMessage.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.Message.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.Message.ProductMessage.CatalogSnapshot.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ProductMessage.CatalogSnapshot * @static * @param {proto.Message.ProductMessage.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.Message.ProductMessage.CatalogSnapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ProductMessage.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.Message.ProductMessage.CatalogSnapshot(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.catalogImage = $root.proto.Message.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.Message.ProductMessage.CatalogSnapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ProductMessage.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.Message.ProductMessage.CatalogSnapshot * @static * @param {Object.<string,*>} 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.Message.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.Message.ProductMessage.CatalogSnapshot * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ProductMessage.CatalogSnapshot} CatalogSnapshot */ CatalogSnapshot.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ProductMessage.CatalogSnapshot) return object; var message = new $root.proto.Message.ProductMessage.CatalogSnapshot(); if (object.catalogImage != null) { if (typeof object.catalogImage !== "object") throw TypeError(".proto.Message.ProductMessage.CatalogSnapshot.catalogImage: object expected"); message.catalogImage = $root.proto.Message.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.Message.ProductMessage.CatalogSnapshot * @static * @param {proto.Message.ProductMessage.CatalogSnapshot} message CatalogSnapshot * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.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.Message.ProductMessage.CatalogSnapshot * @instance * @returns {Object.<string,*>} JSON object */ CatalogSnapshot.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return CatalogSnapshot; })(); ProductMessage.ProductSnapshot = (function() { /** * Properties of a ProductSnapshot. * @memberof proto.Message.ProductMessage * @interface IProductSnapshot * @property {proto.Message.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 * @property {number|Long|null} [salePriceAmount1000] ProductSnapshot salePriceAmount1000 */ /** * Constructs a new ProductSnapshot. * @memberof proto.Message.ProductMessage * @classdesc Represents a ProductSnapshot. * @implements IProductSnapshot * @constructor * @param {proto.Message.ProductMessage.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.Message.IImageMessage|null|undefined} productImage * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.productImage = null; /** * ProductSnapshot productId. * @member {string} productId * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.productId = ""; /** * ProductSnapshot title. * @member {string} title * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.title = ""; /** * ProductSnapshot description. * @member {string} description * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.description = ""; /** * ProductSnapshot currencyCode. * @member {string} currencyCode * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.currencyCode = ""; /** * ProductSnapshot priceAmount1000. * @member {number|Long} priceAmount1000 * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.priceAmount1000 = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * ProductSnapshot retailerId. * @member {string} retailerId * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.retailerId = ""; /** * ProductSnapshot url. * @member {string} url * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.url = ""; /** * ProductSnapshot productImageCount. * @member {number} productImageCount * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.productImageCount = 0; /** * ProductSnapshot firstImageId. * @member {string} firstImageId * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.firstImageId = ""; /** * ProductSnapshot salePriceAmount1000. * @member {number|Long} salePriceAmount1000 * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance */ ProductSnapshot.prototype.salePriceAmount1000 = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new ProductSnapshot instance using the specified properties. * @function create * @memberof proto.Message.ProductMessage.ProductSnapshot * @static * @param {proto.Message.ProductMessage.IProductSnapshot=} [properties] Properties to set * @returns {proto.Message.ProductMessage.ProductSnapshot} ProductSnapshot instance */ ProductSnapshot.create = function create(properties) { return new ProductSnapshot(properties); }; /** * Encodes the specified ProductSnapshot message. Does not implicitly {@link proto.Message.ProductMessage.ProductSnapshot.verify|verify} messages. * @function encode * @memberof proto.Message.ProductMessage.ProductSnapshot * @static * @param {proto.Message.ProductMessage.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.Message.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); if (message.salePriceAmount1000 != null && Object.hasOwnProperty.call(message, "salePriceAmount1000")) writer.uint32(/* id 12, wireType 0 =*/96).int64(message.salePriceAmount1000); return writer; }; /** * Encodes the specified ProductSnapshot message, length delimited. Does not implicitly {@link proto.Message.ProductMessage.ProductSnapshot.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ProductMessage.ProductSnapshot * @static * @param {proto.Message.ProductMessage.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.Message.ProductMessage.ProductSnapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ProductMessage.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.Message.ProductMessage.ProductSnapshot(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.productImage = $root.proto.Message.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; case 12: message.salePriceAmount1000 = reader.int64(); 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.Message.ProductMessage.ProductSnapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ProductMessage.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.Message.ProductMessage.ProductSnapshot * @static * @param {Object.<string,*>} 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.Message.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"; if (message.salePriceAmount1000 != null && message.hasOwnProperty("salePriceAmount1000")) if (!$util.isInteger(message.salePriceAmount1000) && !(message.salePriceAmount1000 && $util.isInteger(message.salePriceAmount1000.low) && $util.isInteger(message.salePriceAmount1000.high))) return "salePriceAmount1000: integer|Long expected"; return null; }; /** * Creates a ProductSnapshot message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ProductMessage.ProductSnapshot * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ProductMessage.ProductSnapshot} ProductSnapshot */ ProductSnapshot.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ProductMessage.ProductSnapshot) return object; var message = new $root.proto.Message.ProductMessage.ProductSnapshot(); if (object.productImage != null) { if (typeof object.productImage !== "object") throw TypeError(".proto.Message.ProductMessage.ProductSnapshot.productImage: object expected"); message.productImage = $root.proto.Message.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); if (object.salePriceAmount1000 != null) if ($util.Long) (message.salePriceAmount1000 = $util.Long.fromValue(object.salePriceAmount1000)).unsigned = false; else if (typeof object.salePriceAmount1000 === "string") message.salePriceAmount1000 = parseInt(object.salePriceAmount1000, 10); else if (typeof object.salePriceAmount1000 === "number") message.salePriceAmount1000 = object.salePriceAmount1000; else if (typeof object.salePriceAmount1000 === "object") message.salePriceAmount1000 = new $util.LongBits(object.salePriceAmount1000.low >>> 0, object.salePriceAmount1000.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a ProductSnapshot message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ProductMessage.ProductSnapshot * @static * @param {proto.Message.ProductMessage.ProductSnapshot} message ProductSnapshot * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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 ($util.Long) { var long = new $util.Long(0, 0, false); object.salePriceAmount1000 = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.salePriceAmount1000 = options.longs === String ? "0" : 0; } if (message.productImage != null && message.hasOwnProperty("productImage")) object.productImage = $root.proto.Message.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; if (message.salePriceAmount1000 != null && message.hasOwnProperty("salePriceAmount1000")) if (typeof message.salePriceAmount1000 === "number") object.salePriceAmount1000 = options.longs === String ? String(message.salePriceAmount1000) : message.salePriceAmount1000; else object.salePriceAmount1000 = options.longs === String ? $util.Long.prototype.toString.call(message.salePriceAmount1000) : options.longs === Number ? new $util.LongBits(message.salePriceAmount1000.low >>> 0, message.salePriceAmount1000.high >>> 0).toNumber() : message.salePriceAmount1000; return object; }; /** * Converts this ProductSnapshot to JSON. * @function toJSON * @memberof proto.Message.ProductMessage.ProductSnapshot * @instance * @returns {Object.<string,*>} JSON object */ ProductSnapshot.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ProductSnapshot; })(); return ProductMessage; })(); Message.ProtocolMessage = (function() { /** * Properties of a ProtocolMessage. * @memberof proto.Message * @interface IProtocolMessage * @property {proto.IMessageKey|null} [key] ProtocolMessage key * @property {proto.Message.ProtocolMessage.Type|null} [type] ProtocolMessage type * @property {number|null} [ephemeralExpiration] ProtocolMessage ephemeralExpiration * @property {number|Long|null} [ephemeralSettingTimestamp] ProtocolMessage ephemeralSettingTimestamp * @property {proto.Message.IHistorySyncNotification|null} [historySyncNotification] ProtocolMessage historySyncNotification * @property {proto.Message.IAppStateSyncKeyShare|null} [appStateSyncKeyShare] ProtocolMessage appStateSyncKeyShare * @property {proto.Message.IAppStateSyncKeyRequest|null} [appStateSyncKeyRequest] ProtocolMessage appStateSyncKeyRequest * @property {proto.Message.IInitialSecurityNotificationSettingSync|null} [initialSecurityNotificationSettingSync] ProtocolMessage initialSecurityNotificationSettingSync * @property {proto.Message.IAppStateFatalExceptionNotification|null} [appStateFatalExceptionNotification] ProtocolMessage appStateFatalExceptionNotification * @property {proto.IDisappearingMode|null} [disappearingMode] ProtocolMessage disappearingMode * @property {proto.IMessage|null} [editedMessage] ProtocolMessage editedMessage * @property {number|Long|null} [timestampMs] ProtocolMessage timestampMs * @property {proto.Message.IPeerDataOperationRequestMessage|null} [peerDataOperationRequestMessage] ProtocolMessage peerDataOperationRequestMessage * @property {proto.Message.IPeerDataOperationRequestResponseMessage|null} [peerDataOperationRequestResponseMessage] ProtocolMessage peerDataOperationRequestResponseMessage * @property {proto.Message.IBotFeedbackMessage|null} [botFeedbackMessage] ProtocolMessage botFeedbackMessage */ /** * Constructs a new ProtocolMessage. * @memberof proto.Message * @classdesc Represents a ProtocolMessage. * @implements IProtocolMessage * @constructor * @param {proto.Message.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.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.key = null; /** * ProtocolMessage type. * @member {proto.Message.ProtocolMessage.Type} type * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.type = 0; /** * ProtocolMessage ephemeralExpiration. * @member {number} ephemeralExpiration * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.ephemeralExpiration = 0; /** * ProtocolMessage ephemeralSettingTimestamp. * @member {number|Long} ephemeralSettingTimestamp * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.ephemeralSettingTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * ProtocolMessage historySyncNotification. * @member {proto.Message.IHistorySyncNotification|null|undefined} historySyncNotification * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.historySyncNotification = null; /** * ProtocolMessage appStateSyncKeyShare. * @member {proto.Message.IAppStateSyncKeyShare|null|undefined} appStateSyncKeyShare * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.appStateSyncKeyShare = null; /** * ProtocolMessage appStateSyncKeyRequest. * @member {proto.Message.IAppStateSyncKeyRequest|null|undefined} appStateSyncKeyRequest * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.appStateSyncKeyRequest = null; /** * ProtocolMessage initialSecurityNotificationSettingSync. * @member {proto.Message.IInitialSecurityNotificationSettingSync|null|undefined} initialSecurityNotificationSettingSync * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.initialSecurityNotificationSettingSync = null; /** * ProtocolMessage appStateFatalExceptionNotification. * @member {proto.Message.IAppStateFatalExceptionNotification|null|undefined} appStateFatalExceptionNotification * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.appStateFatalExceptionNotification = null; /** * ProtocolMessage disappearingMode. * @member {proto.IDisappearingMode|null|undefined} disappearingMode * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.disappearingMode = null; /** * ProtocolMessage editedMessage. * @member {proto.IMessage|null|undefined} editedMessage * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.editedMessage = null; /** * ProtocolMessage timestampMs. * @member {number|Long} timestampMs * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.timestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * ProtocolMessage peerDataOperationRequestMessage. * @member {proto.Message.IPeerDataOperationRequestMessage|null|undefined} peerDataOperationRequestMessage * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.peerDataOperationRequestMessage = null; /** * ProtocolMessage peerDataOperationRequestResponseMessage. * @member {proto.Message.IPeerDataOperationRequestResponseMessage|null|undefined} peerDataOperationRequestResponseMessage * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.peerDataOperationRequestResponseMessage = null; /** * ProtocolMessage botFeedbackMessage. * @member {proto.Message.IBotFeedbackMessage|null|undefined} botFeedbackMessage * @memberof proto.Message.ProtocolMessage * @instance */ ProtocolMessage.prototype.botFeedbackMessage = null; /** * Creates a new ProtocolMessage instance using the specified properties. * @function create * @memberof proto.Message.ProtocolMessage * @static * @param {proto.Message.IProtocolMessage=} [properties] Properties to set * @returns {proto.Message.ProtocolMessage} ProtocolMessage instance */ ProtocolMessage.create = function create(properties) { return new ProtocolMessage(properties); }; /** * Encodes the specified ProtocolMessage message. Does not implicitly {@link proto.Message.ProtocolMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ProtocolMessage * @static * @param {proto.Message.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.Message.HistorySyncNotification.encode(message.historySyncNotification, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.appStateSyncKeyShare != null && Object.hasOwnProperty.call(message, "appStateSyncKeyShare")) $root.proto.Message.AppStateSyncKeyShare.encode(message.appStateSyncKeyShare, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.appStateSyncKeyRequest != null && Object.hasOwnProperty.call(message, "appStateSyncKeyRequest")) $root.proto.Message.AppStateSyncKeyRequest.encode(message.appStateSyncKeyRequest, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.initialSecurityNotificationSettingSync != null && Object.hasOwnProperty.call(message, "initialSecurityNotificationSettingSync")) $root.proto.Message.InitialSecurityNotificationSettingSync.encode(message.initialSecurityNotificationSettingSync, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); if (message.appStateFatalExceptionNotification != null && Object.hasOwnProperty.call(message, "appStateFatalExceptionNotification")) $root.proto.Message.AppStateFatalExceptionNotification.encode(message.appStateFatalExceptionNotification, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); if (message.disappearingMode != null && Object.hasOwnProperty.call(message, "disappearingMode")) $root.proto.DisappearingMode.encode(message.disappearingMode, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); if (message.editedMessage != null && Object.hasOwnProperty.call(message, "editedMessage")) $root.proto.Message.encode(message.editedMessage, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); if (message.timestampMs != null && Object.hasOwnProperty.call(message, "timestampMs")) writer.uint32(/* id 15, wireType 0 =*/120).int64(message.timestampMs); if (message.peerDataOperationRequestMessage != null && Object.hasOwnProperty.call(message, "peerDataOperationRequestMessage")) $root.proto.Message.PeerDataOperationRequestMessage.encode(message.peerDataOperationRequestMessage, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); if (message.peerDataOperationRequestResponseMessage != null && Object.hasOwnProperty.call(message, "peerDataOperationRequestResponseMessage")) $root.proto.Message.PeerDataOperationRequestResponseMessage.encode(message.peerDataOperationRequestResponseMessage, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.botFeedbackMessage != null && Object.hasOwnProperty.call(message, "botFeedbackMessage")) $root.proto.Message.BotFeedbackMessage.encode(message.botFeedbackMessage, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); return writer; }; /** * Encodes the specified ProtocolMessage message, length delimited. Does not implicitly {@link proto.Message.ProtocolMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ProtocolMessage * @static * @param {proto.Message.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.Message.ProtocolMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.HistorySyncNotification.decode(reader, reader.uint32()); break; case 7: message.appStateSyncKeyShare = $root.proto.Message.AppStateSyncKeyShare.decode(reader, reader.uint32()); break; case 8: message.appStateSyncKeyRequest = $root.proto.Message.AppStateSyncKeyRequest.decode(reader, reader.uint32()); break; case 9: message.initialSecurityNotificationSettingSync = $root.proto.Message.InitialSecurityNotificationSettingSync.decode(reader, reader.uint32()); break; case 10: message.appStateFatalExceptionNotification = $root.proto.Message.AppStateFatalExceptionNotification.decode(reader, reader.uint32()); break; case 11: message.disappearingMode = $root.proto.DisappearingMode.decode(reader, reader.uint32()); break; case 14: message.editedMessage = $root.proto.Message.decode(reader, reader.uint32()); break; case 15: message.timestampMs = reader.int64(); break; case 16: message.peerDataOperationRequestMessage = $root.proto.Message.PeerDataOperationRequestMessage.decode(reader, reader.uint32()); break; case 17: message.peerDataOperationRequestResponseMessage = $root.proto.Message.PeerDataOperationRequestResponseMessage.decode(reader, reader.uint32()); break; case 18: message.botFeedbackMessage = $root.proto.Message.BotFeedbackMessage.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.Message.ProtocolMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.ProtocolMessage * @static * @param {Object.<string,*>} 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: case 10: case 11: case 14: case 16: case 17: case 18: case 19: 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.Message.HistorySyncNotification.verify(message.historySyncNotification); if (error) return "historySyncNotification." + error; } if (message.appStateSyncKeyShare != null && message.hasOwnProperty("appStateSyncKeyShare")) { var error = $root.proto.Message.AppStateSyncKeyShare.verify(message.appStateSyncKeyShare); if (error) return "appStateSyncKeyShare." + error; } if (message.appStateSyncKeyRequest != null && message.hasOwnProperty("appStateSyncKeyRequest")) { var error = $root.proto.Message.AppStateSyncKeyRequest.verify(message.appStateSyncKeyRequest); if (error) return "appStateSyncKeyRequest." + error; } if (message.initialSecurityNotificationSettingSync != null && message.hasOwnProperty("initialSecurityNotificationSettingSync")) { var error = $root.proto.Message.InitialSecurityNotificationSettingSync.verify(message.initialSecurityNotificationSettingSync); if (error) return "initialSecurityNotificationSettingSync." + error; } if (message.appStateFatalExceptionNotification != null && message.hasOwnProperty("appStateFatalExceptionNotification")) { var error = $root.proto.Message.AppStateFatalExceptionNotification.verify(message.appStateFatalExceptionNotification); if (error) return "appStateFatalExceptionNotification." + error; } if (message.disappearingMode != null && message.hasOwnProperty("disappearingMode")) { var error = $root.proto.DisappearingMode.verify(message.disappearingMode); if (error) return "disappearingMode." + error; } if (message.editedMessage != null && message.hasOwnProperty("editedMessage")) { var error = $root.proto.Message.verify(message.editedMessage); if (error) return "editedMessage." + error; } if (message.timestampMs != null && message.hasOwnProperty("timestampMs")) if (!$util.isInteger(message.timestampMs) && !(message.timestampMs && $util.isInteger(message.timestampMs.low) && $util.isInteger(message.timestampMs.high))) return "timestampMs: integer|Long expected"; if (message.peerDataOperationRequestMessage != null && message.hasOwnProperty("peerDataOperationRequestMessage")) { var error = $root.proto.Message.PeerDataOperationRequestMessage.verify(message.peerDataOperationRequestMessage); if (error) return "peerDataOperationRequestMessage." + error; } if (message.peerDataOperationRequestResponseMessage != null && message.hasOwnProperty("peerDataOperationRequestResponseMessage")) { var error = $root.proto.Message.PeerDataOperationRequestResponseMessage.verify(message.peerDataOperationRequestResponseMessage); if (error) return "peerDataOperationRequestResponseMessage." + error; } if (message.botFeedbackMessage != null && message.hasOwnProperty("botFeedbackMessage")) { var error = $root.proto.Message.BotFeedbackMessage.verify(message.botFeedbackMessage); if (error) return "botFeedbackMessage." + error; } return null; }; /** * Creates a ProtocolMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ProtocolMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ProtocolMessage} ProtocolMessage */ ProtocolMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ProtocolMessage) return object; var message = new $root.proto.Message.ProtocolMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.Message.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; case "APP_STATE_FATAL_EXCEPTION_NOTIFICATION": case 10: message.type = 10; break; case "SHARE_PHONE_NUMBER": case 11: message.type = 11; break; case "MESSAGE_EDIT": case 14: message.type = 14; break; case "PEER_DATA_OPERATION_REQUEST_MESSAGE": case 16: message.type = 16; break; case "PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE": case 17: message.type = 17; break; case "REQUEST_WELCOME_MESSAGE": case 18: message.type = 18; break; case "BOT_FEEDBACK_MESSAGE": case 19: message.type = 19; 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.Message.ProtocolMessage.historySyncNotification: object expected"); message.historySyncNotification = $root.proto.Message.HistorySyncNotification.fromObject(object.historySyncNotification); } if (object.appStateSyncKeyShare != null) { if (typeof object.appStateSyncKeyShare !== "object") throw TypeError(".proto.Message.ProtocolMessage.appStateSyncKeyShare: object expected"); message.appStateSyncKeyShare = $root.proto.Message.AppStateSyncKeyShare.fromObject(object.appStateSyncKeyShare); } if (object.appStateSyncKeyRequest != null) { if (typeof object.appStateSyncKeyRequest !== "object") throw TypeError(".proto.Message.ProtocolMessage.appStateSyncKeyRequest: object expected"); message.appStateSyncKeyRequest = $root.proto.Message.AppStateSyncKeyRequest.fromObject(object.appStateSyncKeyRequest); } if (object.initialSecurityNotificationSettingSync != null) { if (typeof object.initialSecurityNotificationSettingSync !== "object") throw TypeError(".proto.Message.ProtocolMessage.initialSecurityNotificationSettingSync: object expected"); message.initialSecurityNotificationSettingSync = $root.proto.Message.InitialSecurityNotificationSettingSync.fromObject(object.initialSecurityNotificationSettingSync); } if (object.appStateFatalExceptionNotification != null) { if (typeof object.appStateFatalExceptionNotification !== "object") throw TypeError(".proto.Message.ProtocolMessage.appStateFatalExceptionNotification: object expected"); message.appStateFatalExceptionNotification = $root.proto.Message.AppStateFatalExceptionNotification.fromObject(object.appStateFatalExceptionNotification); } if (object.disappearingMode != null) { if (typeof object.disappearingMode !== "object") throw TypeError(".proto.Message.ProtocolMessage.disappearingMode: object expected"); message.disappearingMode = $root.proto.DisappearingMode.fromObject(object.disappearingMode); } if (object.editedMessage != null) { if (typeof object.editedMessage !== "object") throw TypeError(".proto.Message.ProtocolMessage.editedMessage: object expected"); message.editedMessage = $root.proto.Message.fromObject(object.editedMessage); } if (object.timestampMs != null) if ($util.Long) (message.timestampMs = $util.Long.fromValue(object.timestampMs)).unsigned = false; else if (typeof object.timestampMs === "string") message.timestampMs = parseInt(object.timestampMs, 10); else if (typeof object.timestampMs === "number") message.timestampMs = object.timestampMs; else if (typeof object.timestampMs === "object") message.timestampMs = new $util.LongBits(object.timestampMs.low >>> 0, object.timestampMs.high >>> 0).toNumber(); if (object.peerDataOperationRequestMessage != null) { if (typeof object.peerDataOperationRequestMessage !== "object") throw TypeError(".proto.Message.ProtocolMessage.peerDataOperationRequestMessage: object expected"); message.peerDataOperationRequestMessage = $root.proto.Message.PeerDataOperationRequestMessage.fromObject(object.peerDataOperationRequestMessage); } if (object.peerDataOperationRequestResponseMessage != null) { if (typeof object.peerDataOperationRequestResponseMessage !== "object") throw TypeError(".proto.Message.ProtocolMessage.peerDataOperationRequestResponseMessage: object expected"); message.peerDataOperationRequestResponseMessage = $root.proto.Message.PeerDataOperationRequestResponseMessage.fromObject(object.peerDataOperationRequestResponseMessage); } if (object.botFeedbackMessage != null) { if (typeof object.botFeedbackMessage !== "object") throw TypeError(".proto.Message.ProtocolMessage.botFeedbackMessage: object expected"); message.botFeedbackMessage = $root.proto.Message.BotFeedbackMessage.fromObject(object.botFeedbackMessage); } return message; }; /** * Creates a plain object from a ProtocolMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ProtocolMessage * @static * @param {proto.Message.ProtocolMessage} message ProtocolMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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; object.appStateFatalExceptionNotification = null; object.disappearingMode = null; object.editedMessage = null; if ($util.Long) { var long = new $util.Long(0, 0, false); object.timestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.timestampMs = options.longs === String ? "0" : 0; object.peerDataOperationRequestMessage = null; object.peerDataOperationRequestResponseMessage = null; object.botFeedbackMessage = 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.Message.ProtocolMessage.Type[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.Message.HistorySyncNotification.toObject(message.historySyncNotification, options); if (message.appStateSyncKeyShare != null && message.hasOwnProperty("appStateSyncKeyShare")) object.appStateSyncKeyShare = $root.proto.Message.AppStateSyncKeyShare.toObject(message.appStateSyncKeyShare, options); if (message.appStateSyncKeyRequest != null && message.hasOwnProperty("appStateSyncKeyRequest")) object.appStateSyncKeyRequest = $root.proto.Message.AppStateSyncKeyRequest.toObject(message.appStateSyncKeyRequest, options); if (message.initialSecurityNotificationSettingSync != null && message.hasOwnProperty("initialSecurityNotificationSettingSync")) object.initialSecurityNotificationSettingSync = $root.proto.Message.InitialSecurityNotificationSettingSync.toObject(message.initialSecurityNotificationSettingSync, options); if (message.appStateFatalExceptionNotification != null && message.hasOwnProperty("appStateFatalExceptionNotification")) object.appStateFatalExceptionNotification = $root.proto.Message.AppStateFatalExceptionNotification.toObject(message.appStateFatalExceptionNotification, options); if (message.disappearingMode != null && message.hasOwnProperty("disappearingMode")) object.disappearingMode = $root.proto.DisappearingMode.toObject(message.disappearingMode, options); if (message.editedMessage != null && message.hasOwnProperty("editedMessage")) object.editedMessage = $root.proto.Message.toObject(message.editedMessage, options); if (message.timestampMs != null && message.hasOwnProperty("timestampMs")) if (typeof message.timestampMs === "number") object.timestampMs = options.longs === String ? String(message.timestampMs) : message.timestampMs; else object.timestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.timestampMs) : options.longs === Number ? new $util.LongBits(message.timestampMs.low >>> 0, message.timestampMs.high >>> 0).toNumber() : message.timestampMs; if (message.peerDataOperationRequestMessage != null && message.hasOwnProperty("peerDataOperationRequestMessage")) object.peerDataOperationRequestMessage = $root.proto.Message.PeerDataOperationRequestMessage.toObject(message.peerDataOperationRequestMessage, options); if (message.peerDataOperationRequestResponseMessage != null && message.hasOwnProperty("peerDataOperationRequestResponseMessage")) object.peerDataOperationRequestResponseMessage = $root.proto.Message.PeerDataOperationRequestResponseMessage.toObject(message.peerDataOperationRequestResponseMessage, options); if (message.botFeedbackMessage != null && message.hasOwnProperty("botFeedbackMessage")) object.botFeedbackMessage = $root.proto.Message.BotFeedbackMessage.toObject(message.botFeedbackMessage, options); return object; }; /** * Converts this ProtocolMessage to JSON. * @function toJSON * @memberof proto.Message.ProtocolMessage * @instance * @returns {Object.<string,*>} JSON object */ ProtocolMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Type enum. * @name proto.Message.ProtocolMessage.Type * @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 * @property {number} APP_STATE_FATAL_EXCEPTION_NOTIFICATION=10 APP_STATE_FATAL_EXCEPTION_NOTIFICATION value * @property {number} SHARE_PHONE_NUMBER=11 SHARE_PHONE_NUMBER value * @property {number} MESSAGE_EDIT=14 MESSAGE_EDIT value * @property {number} PEER_DATA_OPERATION_REQUEST_MESSAGE=16 PEER_DATA_OPERATION_REQUEST_MESSAGE value * @property {number} PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE=17 PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE value * @property {number} REQUEST_WELCOME_MESSAGE=18 REQUEST_WELCOME_MESSAGE value * @property {number} BOT_FEEDBACK_MESSAGE=19 BOT_FEEDBACK_MESSAGE value */ ProtocolMessage.Type = (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; values[valuesById[10] = "APP_STATE_FATAL_EXCEPTION_NOTIFICATION"] = 10; values[valuesById[11] = "SHARE_PHONE_NUMBER"] = 11; values[valuesById[14] = "MESSAGE_EDIT"] = 14; values[valuesById[16] = "PEER_DATA_OPERATION_REQUEST_MESSAGE"] = 16; values[valuesById[17] = "PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE"] = 17; values[valuesById[18] = "REQUEST_WELCOME_MESSAGE"] = 18; values[valuesById[19] = "BOT_FEEDBACK_MESSAGE"] = 19; return values; })(); return ProtocolMessage; })(); Message.ReactionMessage = (function() { /** * Properties of a ReactionMessage. * @memberof proto.Message * @interface IReactionMessage * @property {proto.IMessageKey|null} [key] ReactionMessage key * @property {string|null} [text] ReactionMessage text * @property {string|null} [groupingKey] ReactionMessage groupingKey * @property {number|Long|null} [senderTimestampMs] ReactionMessage senderTimestampMs */ /** * Constructs a new ReactionMessage. * @memberof proto.Message * @classdesc Represents a ReactionMessage. * @implements IReactionMessage * @constructor * @param {proto.Message.IReactionMessage=} [properties] Properties to set */ function ReactionMessage(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]]; } /** * ReactionMessage key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.Message.ReactionMessage * @instance */ ReactionMessage.prototype.key = null; /** * ReactionMessage text. * @member {string} text * @memberof proto.Message.ReactionMessage * @instance */ ReactionMessage.prototype.text = ""; /** * ReactionMessage groupingKey. * @member {string} groupingKey * @memberof proto.Message.ReactionMessage * @instance */ ReactionMessage.prototype.groupingKey = ""; /** * ReactionMessage senderTimestampMs. * @member {number|Long} senderTimestampMs * @memberof proto.Message.ReactionMessage * @instance */ ReactionMessage.prototype.senderTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new ReactionMessage instance using the specified properties. * @function create * @memberof proto.Message.ReactionMessage * @static * @param {proto.Message.IReactionMessage=} [properties] Properties to set * @returns {proto.Message.ReactionMessage} ReactionMessage instance */ ReactionMessage.create = function create(properties) { return new ReactionMessage(properties); }; /** * Encodes the specified ReactionMessage message. Does not implicitly {@link proto.Message.ReactionMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ReactionMessage * @static * @param {proto.Message.IReactionMessage} message ReactionMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ReactionMessage.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.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); if (message.groupingKey != null && Object.hasOwnProperty.call(message, "groupingKey")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.groupingKey); if (message.senderTimestampMs != null && Object.hasOwnProperty.call(message, "senderTimestampMs")) writer.uint32(/* id 4, wireType 0 =*/32).int64(message.senderTimestampMs); return writer; }; /** * Encodes the specified ReactionMessage message, length delimited. Does not implicitly {@link proto.Message.ReactionMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ReactionMessage * @static * @param {proto.Message.IReactionMessage} message ReactionMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ReactionMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ReactionMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.ReactionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ReactionMessage} ReactionMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ReactionMessage.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.ReactionMessage(); 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.text = reader.string(); break; case 3: message.groupingKey = reader.string(); break; case 4: message.senderTimestampMs = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ReactionMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ReactionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ReactionMessage} ReactionMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ReactionMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ReactionMessage message. * @function verify * @memberof proto.Message.ReactionMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ReactionMessage.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.text != null && message.hasOwnProperty("text")) if (!$util.isString(message.text)) return "text: string expected"; if (message.groupingKey != null && message.hasOwnProperty("groupingKey")) if (!$util.isString(message.groupingKey)) return "groupingKey: string expected"; if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (!$util.isInteger(message.senderTimestampMs) && !(message.senderTimestampMs && $util.isInteger(message.senderTimestampMs.low) && $util.isInteger(message.senderTimestampMs.high))) return "senderTimestampMs: integer|Long expected"; return null; }; /** * Creates a ReactionMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ReactionMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ReactionMessage} ReactionMessage */ ReactionMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ReactionMessage) return object; var message = new $root.proto.Message.ReactionMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.Message.ReactionMessage.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } if (object.text != null) message.text = String(object.text); if (object.groupingKey != null) message.groupingKey = String(object.groupingKey); if (object.senderTimestampMs != null) if ($util.Long) (message.senderTimestampMs = $util.Long.fromValue(object.senderTimestampMs)).unsigned = false; else if (typeof object.senderTimestampMs === "string") message.senderTimestampMs = parseInt(object.senderTimestampMs, 10); else if (typeof object.senderTimestampMs === "number") message.senderTimestampMs = object.senderTimestampMs; else if (typeof object.senderTimestampMs === "object") message.senderTimestampMs = new $util.LongBits(object.senderTimestampMs.low >>> 0, object.senderTimestampMs.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a ReactionMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ReactionMessage * @static * @param {proto.Message.ReactionMessage} message ReactionMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ReactionMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.key = null; object.text = ""; object.groupingKey = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.senderTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.senderTimestampMs = options.longs === String ? "0" : 0; } if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); if (message.text != null && message.hasOwnProperty("text")) object.text = message.text; if (message.groupingKey != null && message.hasOwnProperty("groupingKey")) object.groupingKey = message.groupingKey; if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (typeof message.senderTimestampMs === "number") object.senderTimestampMs = options.longs === String ? String(message.senderTimestampMs) : message.senderTimestampMs; else object.senderTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.senderTimestampMs) : options.longs === Number ? new $util.LongBits(message.senderTimestampMs.low >>> 0, message.senderTimestampMs.high >>> 0).toNumber() : message.senderTimestampMs; return object; }; /** * Converts this ReactionMessage to JSON. * @function toJSON * @memberof proto.Message.ReactionMessage * @instance * @returns {Object.<string,*>} JSON object */ ReactionMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ReactionMessage; })(); Message.RequestPaymentMessage = (function() { /** * Properties of a RequestPaymentMessage. * @memberof proto.Message * @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 * @property {proto.IMoney|null} [amount] RequestPaymentMessage amount * @property {proto.IPaymentBackground|null} [background] RequestPaymentMessage background */ /** * Constructs a new RequestPaymentMessage. * @memberof proto.Message * @classdesc Represents a RequestPaymentMessage. * @implements IRequestPaymentMessage * @constructor * @param {proto.Message.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.Message.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.noteMessage = null; /** * RequestPaymentMessage currencyCodeIso4217. * @member {string} currencyCodeIso4217 * @memberof proto.Message.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.currencyCodeIso4217 = ""; /** * RequestPaymentMessage amount1000. * @member {number|Long} amount1000 * @memberof proto.Message.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.amount1000 = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * RequestPaymentMessage requestFrom. * @member {string} requestFrom * @memberof proto.Message.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.requestFrom = ""; /** * RequestPaymentMessage expiryTimestamp. * @member {number|Long} expiryTimestamp * @memberof proto.Message.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.expiryTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * RequestPaymentMessage amount. * @member {proto.IMoney|null|undefined} amount * @memberof proto.Message.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.amount = null; /** * RequestPaymentMessage background. * @member {proto.IPaymentBackground|null|undefined} background * @memberof proto.Message.RequestPaymentMessage * @instance */ RequestPaymentMessage.prototype.background = null; /** * Creates a new RequestPaymentMessage instance using the specified properties. * @function create * @memberof proto.Message.RequestPaymentMessage * @static * @param {proto.Message.IRequestPaymentMessage=} [properties] Properties to set * @returns {proto.Message.RequestPaymentMessage} RequestPaymentMessage instance */ RequestPaymentMessage.create = function create(properties) { return new RequestPaymentMessage(properties); }; /** * Encodes the specified RequestPaymentMessage message. Does not implicitly {@link proto.Message.RequestPaymentMessage.verify|verify} messages. * @function encode * @memberof proto.Message.RequestPaymentMessage * @static * @param {proto.Message.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); if (message.amount != null && Object.hasOwnProperty.call(message, "amount")) $root.proto.Money.encode(message.amount, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.background != null && Object.hasOwnProperty.call(message, "background")) $root.proto.PaymentBackground.encode(message.background, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); return writer; }; /** * Encodes the specified RequestPaymentMessage message, length delimited. Does not implicitly {@link proto.Message.RequestPaymentMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.RequestPaymentMessage * @static * @param {proto.Message.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.Message.RequestPaymentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 6: message.amount = $root.proto.Money.decode(reader, reader.uint32()); break; case 7: message.background = $root.proto.PaymentBackground.decode(reader, reader.uint32()); 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.Message.RequestPaymentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.RequestPaymentMessage * @static * @param {Object.<string,*>} 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"; if (message.amount != null && message.hasOwnProperty("amount")) { var error = $root.proto.Money.verify(message.amount); if (error) return "amount." + error; } if (message.background != null && message.hasOwnProperty("background")) { var error = $root.proto.PaymentBackground.verify(message.background); if (error) return "background." + error; } return null; }; /** * Creates a RequestPaymentMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.RequestPaymentMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.RequestPaymentMessage} RequestPaymentMessage */ RequestPaymentMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.RequestPaymentMessage) return object; var message = new $root.proto.Message.RequestPaymentMessage(); if (object.noteMessage != null) { if (typeof object.noteMessage !== "object") throw TypeError(".proto.Message.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(); if (object.amount != null) { if (typeof object.amount !== "object") throw TypeError(".proto.Message.RequestPaymentMessage.amount: object expected"); message.amount = $root.proto.Money.fromObject(object.amount); } if (object.background != null) { if (typeof object.background !== "object") throw TypeError(".proto.Message.RequestPaymentMessage.background: object expected"); message.background = $root.proto.PaymentBackground.fromObject(object.background); } return message; }; /** * Creates a plain object from a RequestPaymentMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.RequestPaymentMessage * @static * @param {proto.Message.RequestPaymentMessage} message RequestPaymentMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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; object.amount = null; object.background = null; } 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; if (message.amount != null && message.hasOwnProperty("amount")) object.amount = $root.proto.Money.toObject(message.amount, options); if (message.background != null && message.hasOwnProperty("background")) object.background = $root.proto.PaymentBackground.toObject(message.background, options); return object; }; /** * Converts this RequestPaymentMessage to JSON. * @function toJSON * @memberof proto.Message.RequestPaymentMessage * @instance * @returns {Object.<string,*>} JSON object */ RequestPaymentMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return RequestPaymentMessage; })(); Message.RequestPhoneNumberMessage = (function() { /** * Properties of a RequestPhoneNumberMessage. * @memberof proto.Message * @interface IRequestPhoneNumberMessage * @property {proto.IContextInfo|null} [contextInfo] RequestPhoneNumberMessage contextInfo */ /** * Constructs a new RequestPhoneNumberMessage. * @memberof proto.Message * @classdesc Represents a RequestPhoneNumberMessage. * @implements IRequestPhoneNumberMessage * @constructor * @param {proto.Message.IRequestPhoneNumberMessage=} [properties] Properties to set */ function RequestPhoneNumberMessage(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]]; } /** * RequestPhoneNumberMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.RequestPhoneNumberMessage * @instance */ RequestPhoneNumberMessage.prototype.contextInfo = null; /** * Creates a new RequestPhoneNumberMessage instance using the specified properties. * @function create * @memberof proto.Message.RequestPhoneNumberMessage * @static * @param {proto.Message.IRequestPhoneNumberMessage=} [properties] Properties to set * @returns {proto.Message.RequestPhoneNumberMessage} RequestPhoneNumberMessage instance */ RequestPhoneNumberMessage.create = function create(properties) { return new RequestPhoneNumberMessage(properties); }; /** * Encodes the specified RequestPhoneNumberMessage message. Does not implicitly {@link proto.Message.RequestPhoneNumberMessage.verify|verify} messages. * @function encode * @memberof proto.Message.RequestPhoneNumberMessage * @static * @param {proto.Message.IRequestPhoneNumberMessage} message RequestPhoneNumberMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RequestPhoneNumberMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.contextInfo != null && Object.hasOwnProperty.call(message, "contextInfo")) $root.proto.ContextInfo.encode(message.contextInfo, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified RequestPhoneNumberMessage message, length delimited. Does not implicitly {@link proto.Message.RequestPhoneNumberMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.RequestPhoneNumberMessage * @static * @param {proto.Message.IRequestPhoneNumberMessage} message RequestPhoneNumberMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RequestPhoneNumberMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a RequestPhoneNumberMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.RequestPhoneNumberMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.RequestPhoneNumberMessage} RequestPhoneNumberMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RequestPhoneNumberMessage.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.RequestPhoneNumberMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.contextInfo = $root.proto.ContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a RequestPhoneNumberMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.RequestPhoneNumberMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.RequestPhoneNumberMessage} RequestPhoneNumberMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RequestPhoneNumberMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a RequestPhoneNumberMessage message. * @function verify * @memberof proto.Message.RequestPhoneNumberMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ RequestPhoneNumberMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object 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 RequestPhoneNumberMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.RequestPhoneNumberMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.RequestPhoneNumberMessage} RequestPhoneNumberMessage */ RequestPhoneNumberMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.RequestPhoneNumberMessage) return object; var message = new $root.proto.Message.RequestPhoneNumberMessage(); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.RequestPhoneNumberMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } return message; }; /** * Creates a plain object from a RequestPhoneNumberMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.RequestPhoneNumberMessage * @static * @param {proto.Message.RequestPhoneNumberMessage} message RequestPhoneNumberMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ RequestPhoneNumberMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.contextInfo = null; if (message.contextInfo != null && message.hasOwnProperty("contextInfo")) object.contextInfo = $root.proto.ContextInfo.toObject(message.contextInfo, options); return object; }; /** * Converts this RequestPhoneNumberMessage to JSON. * @function toJSON * @memberof proto.Message.RequestPhoneNumberMessage * @instance * @returns {Object.<string,*>} JSON object */ RequestPhoneNumberMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return RequestPhoneNumberMessage; })(); Message.ScheduledCallCreationMessage = (function() { /** * Properties of a ScheduledCallCreationMessage. * @memberof proto.Message * @interface IScheduledCallCreationMessage * @property {number|Long|null} [scheduledTimestampMs] ScheduledCallCreationMessage scheduledTimestampMs * @property {proto.Message.ScheduledCallCreationMessage.CallType|null} [callType] ScheduledCallCreationMessage callType * @property {string|null} [title] ScheduledCallCreationMessage title */ /** * Constructs a new ScheduledCallCreationMessage. * @memberof proto.Message * @classdesc Represents a ScheduledCallCreationMessage. * @implements IScheduledCallCreationMessage * @constructor * @param {proto.Message.IScheduledCallCreationMessage=} [properties] Properties to set */ function ScheduledCallCreationMessage(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]]; } /** * ScheduledCallCreationMessage scheduledTimestampMs. * @member {number|Long} scheduledTimestampMs * @memberof proto.Message.ScheduledCallCreationMessage * @instance */ ScheduledCallCreationMessage.prototype.scheduledTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * ScheduledCallCreationMessage callType. * @member {proto.Message.ScheduledCallCreationMessage.CallType} callType * @memberof proto.Message.ScheduledCallCreationMessage * @instance */ ScheduledCallCreationMessage.prototype.callType = 0; /** * ScheduledCallCreationMessage title. * @member {string} title * @memberof proto.Message.ScheduledCallCreationMessage * @instance */ ScheduledCallCreationMessage.prototype.title = ""; /** * Creates a new ScheduledCallCreationMessage instance using the specified properties. * @function create * @memberof proto.Message.ScheduledCallCreationMessage * @static * @param {proto.Message.IScheduledCallCreationMessage=} [properties] Properties to set * @returns {proto.Message.ScheduledCallCreationMessage} ScheduledCallCreationMessage instance */ ScheduledCallCreationMessage.create = function create(properties) { return new ScheduledCallCreationMessage(properties); }; /** * Encodes the specified ScheduledCallCreationMessage message. Does not implicitly {@link proto.Message.ScheduledCallCreationMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ScheduledCallCreationMessage * @static * @param {proto.Message.IScheduledCallCreationMessage} message ScheduledCallCreationMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ScheduledCallCreationMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.scheduledTimestampMs != null && Object.hasOwnProperty.call(message, "scheduledTimestampMs")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.scheduledTimestampMs); if (message.callType != null && Object.hasOwnProperty.call(message, "callType")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.callType); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.title); return writer; }; /** * Encodes the specified ScheduledCallCreationMessage message, length delimited. Does not implicitly {@link proto.Message.ScheduledCallCreationMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ScheduledCallCreationMessage * @static * @param {proto.Message.IScheduledCallCreationMessage} message ScheduledCallCreationMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ScheduledCallCreationMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ScheduledCallCreationMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.ScheduledCallCreationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ScheduledCallCreationMessage} ScheduledCallCreationMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ScheduledCallCreationMessage.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.ScheduledCallCreationMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.scheduledTimestampMs = reader.int64(); break; case 2: message.callType = reader.int32(); break; case 3: message.title = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ScheduledCallCreationMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ScheduledCallCreationMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ScheduledCallCreationMessage} ScheduledCallCreationMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ScheduledCallCreationMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ScheduledCallCreationMessage message. * @function verify * @memberof proto.Message.ScheduledCallCreationMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ScheduledCallCreationMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.scheduledTimestampMs != null && message.hasOwnProperty("scheduledTimestampMs")) if (!$util.isInteger(message.scheduledTimestampMs) && !(message.scheduledTimestampMs && $util.isInteger(message.scheduledTimestampMs.low) && $util.isInteger(message.scheduledTimestampMs.high))) return "scheduledTimestampMs: integer|Long expected"; if (message.callType != null && message.hasOwnProperty("callType")) switch (message.callType) { default: return "callType: enum value expected"; case 0: case 1: case 2: break; } if (message.title != null && message.hasOwnProperty("title")) if (!$util.isString(message.title)) return "title: string expected"; return null; }; /** * Creates a ScheduledCallCreationMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ScheduledCallCreationMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ScheduledCallCreationMessage} ScheduledCallCreationMessage */ ScheduledCallCreationMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ScheduledCallCreationMessage) return object; var message = new $root.proto.Message.ScheduledCallCreationMessage(); if (object.scheduledTimestampMs != null) if ($util.Long) (message.scheduledTimestampMs = $util.Long.fromValue(object.scheduledTimestampMs)).unsigned = false; else if (typeof object.scheduledTimestampMs === "string") message.scheduledTimestampMs = parseInt(object.scheduledTimestampMs, 10); else if (typeof object.scheduledTimestampMs === "number") message.scheduledTimestampMs = object.scheduledTimestampMs; else if (typeof object.scheduledTimestampMs === "object") message.scheduledTimestampMs = new $util.LongBits(object.scheduledTimestampMs.low >>> 0, object.scheduledTimestampMs.high >>> 0).toNumber(); switch (object.callType) { case "UNKNOWN": case 0: message.callType = 0; break; case "VOICE": case 1: message.callType = 1; break; case "VIDEO": case 2: message.callType = 2; break; } if (object.title != null) message.title = String(object.title); return message; }; /** * Creates a plain object from a ScheduledCallCreationMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ScheduledCallCreationMessage * @static * @param {proto.Message.ScheduledCallCreationMessage} message ScheduledCallCreationMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ScheduledCallCreationMessage.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.scheduledTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.scheduledTimestampMs = options.longs === String ? "0" : 0; object.callType = options.enums === String ? "UNKNOWN" : 0; object.title = ""; } if (message.scheduledTimestampMs != null && message.hasOwnProperty("scheduledTimestampMs")) if (typeof message.scheduledTimestampMs === "number") object.scheduledTimestampMs = options.longs === String ? String(message.scheduledTimestampMs) : message.scheduledTimestampMs; else object.scheduledTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.scheduledTimestampMs) : options.longs === Number ? new $util.LongBits(message.scheduledTimestampMs.low >>> 0, message.scheduledTimestampMs.high >>> 0).toNumber() : message.scheduledTimestampMs; if (message.callType != null && message.hasOwnProperty("callType")) object.callType = options.enums === String ? $root.proto.Message.ScheduledCallCreationMessage.CallType[message.callType] : message.callType; if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; return object; }; /** * Converts this ScheduledCallCreationMessage to JSON. * @function toJSON * @memberof proto.Message.ScheduledCallCreationMessage * @instance * @returns {Object.<string,*>} JSON object */ ScheduledCallCreationMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * CallType enum. * @name proto.Message.ScheduledCallCreationMessage.CallType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} VOICE=1 VOICE value * @property {number} VIDEO=2 VIDEO value */ ScheduledCallCreationMessage.CallType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "VOICE"] = 1; values[valuesById[2] = "VIDEO"] = 2; return values; })(); return ScheduledCallCreationMessage; })(); Message.ScheduledCallEditMessage = (function() { /** * Properties of a ScheduledCallEditMessage. * @memberof proto.Message * @interface IScheduledCallEditMessage * @property {proto.IMessageKey|null} [key] ScheduledCallEditMessage key * @property {proto.Message.ScheduledCallEditMessage.EditType|null} [editType] ScheduledCallEditMessage editType */ /** * Constructs a new ScheduledCallEditMessage. * @memberof proto.Message * @classdesc Represents a ScheduledCallEditMessage. * @implements IScheduledCallEditMessage * @constructor * @param {proto.Message.IScheduledCallEditMessage=} [properties] Properties to set */ function ScheduledCallEditMessage(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]]; } /** * ScheduledCallEditMessage key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.Message.ScheduledCallEditMessage * @instance */ ScheduledCallEditMessage.prototype.key = null; /** * ScheduledCallEditMessage editType. * @member {proto.Message.ScheduledCallEditMessage.EditType} editType * @memberof proto.Message.ScheduledCallEditMessage * @instance */ ScheduledCallEditMessage.prototype.editType = 0; /** * Creates a new ScheduledCallEditMessage instance using the specified properties. * @function create * @memberof proto.Message.ScheduledCallEditMessage * @static * @param {proto.Message.IScheduledCallEditMessage=} [properties] Properties to set * @returns {proto.Message.ScheduledCallEditMessage} ScheduledCallEditMessage instance */ ScheduledCallEditMessage.create = function create(properties) { return new ScheduledCallEditMessage(properties); }; /** * Encodes the specified ScheduledCallEditMessage message. Does not implicitly {@link proto.Message.ScheduledCallEditMessage.verify|verify} messages. * @function encode * @memberof proto.Message.ScheduledCallEditMessage * @static * @param {proto.Message.IScheduledCallEditMessage} message ScheduledCallEditMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ScheduledCallEditMessage.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.editType != null && Object.hasOwnProperty.call(message, "editType")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.editType); return writer; }; /** * Encodes the specified ScheduledCallEditMessage message, length delimited. Does not implicitly {@link proto.Message.ScheduledCallEditMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.ScheduledCallEditMessage * @static * @param {proto.Message.IScheduledCallEditMessage} message ScheduledCallEditMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ScheduledCallEditMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ScheduledCallEditMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.ScheduledCallEditMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.ScheduledCallEditMessage} ScheduledCallEditMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ScheduledCallEditMessage.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.ScheduledCallEditMessage(); 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.editType = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ScheduledCallEditMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.ScheduledCallEditMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.ScheduledCallEditMessage} ScheduledCallEditMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ScheduledCallEditMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ScheduledCallEditMessage message. * @function verify * @memberof proto.Message.ScheduledCallEditMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ScheduledCallEditMessage.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.editType != null && message.hasOwnProperty("editType")) switch (message.editType) { default: return "editType: enum value expected"; case 0: case 1: break; } return null; }; /** * Creates a ScheduledCallEditMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.ScheduledCallEditMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.ScheduledCallEditMessage} ScheduledCallEditMessage */ ScheduledCallEditMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.ScheduledCallEditMessage) return object; var message = new $root.proto.Message.ScheduledCallEditMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.Message.ScheduledCallEditMessage.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } switch (object.editType) { case "UNKNOWN": case 0: message.editType = 0; break; case "CANCEL": case 1: message.editType = 1; break; } return message; }; /** * Creates a plain object from a ScheduledCallEditMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.ScheduledCallEditMessage * @static * @param {proto.Message.ScheduledCallEditMessage} message ScheduledCallEditMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ScheduledCallEditMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.key = null; object.editType = options.enums === String ? "UNKNOWN" : 0; } if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); if (message.editType != null && message.hasOwnProperty("editType")) object.editType = options.enums === String ? $root.proto.Message.ScheduledCallEditMessage.EditType[message.editType] : message.editType; return object; }; /** * Converts this ScheduledCallEditMessage to JSON. * @function toJSON * @memberof proto.Message.ScheduledCallEditMessage * @instance * @returns {Object.<string,*>} JSON object */ ScheduledCallEditMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * EditType enum. * @name proto.Message.ScheduledCallEditMessage.EditType * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} CANCEL=1 CANCEL value */ ScheduledCallEditMessage.EditType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "CANCEL"] = 1; return values; })(); return ScheduledCallEditMessage; })(); Message.SendPaymentMessage = (function() { /** * Properties of a SendPaymentMessage. * @memberof proto.Message * @interface ISendPaymentMessage * @property {proto.IMessage|null} [noteMessage] SendPaymentMessage noteMessage * @property {proto.IMessageKey|null} [requestMessageKey] SendPaymentMessage requestMessageKey * @property {proto.IPaymentBackground|null} [background] SendPaymentMessage background */ /** * Constructs a new SendPaymentMessage. * @memberof proto.Message * @classdesc Represents a SendPaymentMessage. * @implements ISendPaymentMessage * @constructor * @param {proto.Message.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.Message.SendPaymentMessage * @instance */ SendPaymentMessage.prototype.noteMessage = null; /** * SendPaymentMessage requestMessageKey. * @member {proto.IMessageKey|null|undefined} requestMessageKey * @memberof proto.Message.SendPaymentMessage * @instance */ SendPaymentMessage.prototype.requestMessageKey = null; /** * SendPaymentMessage background. * @member {proto.IPaymentBackground|null|undefined} background * @memberof proto.Message.SendPaymentMessage * @instance */ SendPaymentMessage.prototype.background = null; /** * Creates a new SendPaymentMessage instance using the specified properties. * @function create * @memberof proto.Message.SendPaymentMessage * @static * @param {proto.Message.ISendPaymentMessage=} [properties] Properties to set * @returns {proto.Message.SendPaymentMessage} SendPaymentMessage instance */ SendPaymentMessage.create = function create(properties) { return new SendPaymentMessage(properties); }; /** * Encodes the specified SendPaymentMessage message. Does not implicitly {@link proto.Message.SendPaymentMessage.verify|verify} messages. * @function encode * @memberof proto.Message.SendPaymentMessage * @static * @param {proto.Message.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(); if (message.background != null && Object.hasOwnProperty.call(message, "background")) $root.proto.PaymentBackground.encode(message.background, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** * Encodes the specified SendPaymentMessage message, length delimited. Does not implicitly {@link proto.Message.SendPaymentMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.SendPaymentMessage * @static * @param {proto.Message.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.Message.SendPaymentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 4: message.background = $root.proto.PaymentBackground.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.Message.SendPaymentMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.SendPaymentMessage * @static * @param {Object.<string,*>} 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; } if (message.background != null && message.hasOwnProperty("background")) { var error = $root.proto.PaymentBackground.verify(message.background); if (error) return "background." + error; } return null; }; /** * Creates a SendPaymentMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.SendPaymentMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.SendPaymentMessage} SendPaymentMessage */ SendPaymentMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.SendPaymentMessage) return object; var message = new $root.proto.Message.SendPaymentMessage(); if (object.noteMessage != null) { if (typeof object.noteMessage !== "object") throw TypeError(".proto.Message.SendPaymentMessage.noteMessage: object expected"); message.noteMessage = $root.proto.Message.fromObject(object.noteMessage); } if (object.requestMessageKey != null) { if (typeof object.requestMessageKey !== "object") throw TypeError(".proto.Message.SendPaymentMessage.requestMessageKey: object expected"); message.requestMessageKey = $root.proto.MessageKey.fromObject(object.requestMessageKey); } if (object.background != null) { if (typeof object.background !== "object") throw TypeError(".proto.Message.SendPaymentMessage.background: object expected"); message.background = $root.proto.PaymentBackground.fromObject(object.background); } return message; }; /** * Creates a plain object from a SendPaymentMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.SendPaymentMessage * @static * @param {proto.Message.SendPaymentMessage} message SendPaymentMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SendPaymentMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.noteMessage = null; object.requestMessageKey = null; object.background = 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); if (message.background != null && message.hasOwnProperty("background")) object.background = $root.proto.PaymentBackground.toObject(message.background, options); return object; }; /** * Converts this SendPaymentMessage to JSON. * @function toJSON * @memberof proto.Message.SendPaymentMessage * @instance * @returns {Object.<string,*>} JSON object */ SendPaymentMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SendPaymentMessage; })(); Message.SenderKeyDistributionMessage = (function() { /** * Properties of a SenderKeyDistributionMessage. * @memberof proto.Message * @interface ISenderKeyDistributionMessage * @property {string|null} [groupId] SenderKeyDistributionMessage groupId * @property {Uint8Array|null} [axolotlSenderKeyDistributionMessage] SenderKeyDistributionMessage axolotlSenderKeyDistributionMessage */ /** * Constructs a new SenderKeyDistributionMessage. * @memberof proto.Message * @classdesc Represents a SenderKeyDistributionMessage. * @implements ISenderKeyDistributionMessage * @constructor * @param {proto.Message.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.Message.SenderKeyDistributionMessage * @instance */ SenderKeyDistributionMessage.prototype.groupId = ""; /** * SenderKeyDistributionMessage axolotlSenderKeyDistributionMessage. * @member {Uint8Array} axolotlSenderKeyDistributionMessage * @memberof proto.Message.SenderKeyDistributionMessage * @instance */ SenderKeyDistributionMessage.prototype.axolotlSenderKeyDistributionMessage = $util.newBuffer([]); /** * Creates a new SenderKeyDistributionMessage instance using the specified properties. * @function create * @memberof proto.Message.SenderKeyDistributionMessage * @static * @param {proto.Message.ISenderKeyDistributionMessage=} [properties] Properties to set * @returns {proto.Message.SenderKeyDistributionMessage} SenderKeyDistributionMessage instance */ SenderKeyDistributionMessage.create = function create(properties) { return new SenderKeyDistributionMessage(properties); }; /** * Encodes the specified SenderKeyDistributionMessage message. Does not implicitly {@link proto.Message.SenderKeyDistributionMessage.verify|verify} messages. * @function encode * @memberof proto.Message.SenderKeyDistributionMessage * @static * @param {proto.Message.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.Message.SenderKeyDistributionMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.SenderKeyDistributionMessage * @static * @param {proto.Message.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.Message.SenderKeyDistributionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.SenderKeyDistributionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.SenderKeyDistributionMessage * @static * @param {Object.<string,*>} 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.Message.SenderKeyDistributionMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.SenderKeyDistributionMessage} SenderKeyDistributionMessage */ SenderKeyDistributionMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.SenderKeyDistributionMessage) return object; var message = new $root.proto.Message.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.Message.SenderKeyDistributionMessage * @static * @param {proto.Message.SenderKeyDistributionMessage} message SenderKeyDistributionMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.SenderKeyDistributionMessage * @instance * @returns {Object.<string,*>} JSON object */ SenderKeyDistributionMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SenderKeyDistributionMessage; })(); Message.StickerMessage = (function() { /** * Properties of a StickerMessage. * @memberof proto.Message * @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 * @property {number|Long|null} [stickerSentTs] StickerMessage stickerSentTs * @property {boolean|null} [isAvatar] StickerMessage isAvatar */ /** * Constructs a new StickerMessage. * @memberof proto.Message * @classdesc Represents a StickerMessage. * @implements IStickerMessage * @constructor * @param {proto.Message.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.Message.StickerMessage * @instance */ StickerMessage.prototype.url = ""; /** * StickerMessage fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.fileSha256 = $util.newBuffer([]); /** * StickerMessage fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.fileEncSha256 = $util.newBuffer([]); /** * StickerMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.mediaKey = $util.newBuffer([]); /** * StickerMessage mimetype. * @member {string} mimetype * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.mimetype = ""; /** * StickerMessage height. * @member {number} height * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.height = 0; /** * StickerMessage width. * @member {number} width * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.width = 0; /** * StickerMessage directPath. * @member {string} directPath * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.directPath = ""; /** * StickerMessage fileLength. * @member {number|Long} fileLength * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * StickerMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * StickerMessage firstFrameLength. * @member {number} firstFrameLength * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.firstFrameLength = 0; /** * StickerMessage firstFrameSidecar. * @member {Uint8Array} firstFrameSidecar * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.firstFrameSidecar = $util.newBuffer([]); /** * StickerMessage isAnimated. * @member {boolean} isAnimated * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.isAnimated = false; /** * StickerMessage pngThumbnail. * @member {Uint8Array} pngThumbnail * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.pngThumbnail = $util.newBuffer([]); /** * StickerMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.contextInfo = null; /** * StickerMessage stickerSentTs. * @member {number|Long} stickerSentTs * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.stickerSentTs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * StickerMessage isAvatar. * @member {boolean} isAvatar * @memberof proto.Message.StickerMessage * @instance */ StickerMessage.prototype.isAvatar = false; /** * Creates a new StickerMessage instance using the specified properties. * @function create * @memberof proto.Message.StickerMessage * @static * @param {proto.Message.IStickerMessage=} [properties] Properties to set * @returns {proto.Message.StickerMessage} StickerMessage instance */ StickerMessage.create = function create(properties) { return new StickerMessage(properties); }; /** * Encodes the specified StickerMessage message. Does not implicitly {@link proto.Message.StickerMessage.verify|verify} messages. * @function encode * @memberof proto.Message.StickerMessage * @static * @param {proto.Message.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(); if (message.stickerSentTs != null && Object.hasOwnProperty.call(message, "stickerSentTs")) writer.uint32(/* id 18, wireType 0 =*/144).int64(message.stickerSentTs); if (message.isAvatar != null && Object.hasOwnProperty.call(message, "isAvatar")) writer.uint32(/* id 19, wireType 0 =*/152).bool(message.isAvatar); return writer; }; /** * Encodes the specified StickerMessage message, length delimited. Does not implicitly {@link proto.Message.StickerMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.StickerMessage * @static * @param {proto.Message.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.Message.StickerMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 18: message.stickerSentTs = reader.int64(); break; case 19: message.isAvatar = reader.bool(); 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.Message.StickerMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.StickerMessage * @static * @param {Object.<string,*>} 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; } if (message.stickerSentTs != null && message.hasOwnProperty("stickerSentTs")) if (!$util.isInteger(message.stickerSentTs) && !(message.stickerSentTs && $util.isInteger(message.stickerSentTs.low) && $util.isInteger(message.stickerSentTs.high))) return "stickerSentTs: integer|Long expected"; if (message.isAvatar != null && message.hasOwnProperty("isAvatar")) if (typeof message.isAvatar !== "boolean") return "isAvatar: boolean expected"; return null; }; /** * Creates a StickerMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.StickerMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.StickerMessage} StickerMessage */ StickerMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.StickerMessage) return object; var message = new $root.proto.Message.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.Message.StickerMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.stickerSentTs != null) if ($util.Long) (message.stickerSentTs = $util.Long.fromValue(object.stickerSentTs)).unsigned = false; else if (typeof object.stickerSentTs === "string") message.stickerSentTs = parseInt(object.stickerSentTs, 10); else if (typeof object.stickerSentTs === "number") message.stickerSentTs = object.stickerSentTs; else if (typeof object.stickerSentTs === "object") message.stickerSentTs = new $util.LongBits(object.stickerSentTs.low >>> 0, object.stickerSentTs.high >>> 0).toNumber(); if (object.isAvatar != null) message.isAvatar = Boolean(object.isAvatar); return message; }; /** * Creates a plain object from a StickerMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.StickerMessage * @static * @param {proto.Message.StickerMessage} message StickerMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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 ($util.Long) { var long = new $util.Long(0, 0, false); object.stickerSentTs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.stickerSentTs = options.longs === String ? "0" : 0; object.isAvatar = false; } 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); if (message.stickerSentTs != null && message.hasOwnProperty("stickerSentTs")) if (typeof message.stickerSentTs === "number") object.stickerSentTs = options.longs === String ? String(message.stickerSentTs) : message.stickerSentTs; else object.stickerSentTs = options.longs === String ? $util.Long.prototype.toString.call(message.stickerSentTs) : options.longs === Number ? new $util.LongBits(message.stickerSentTs.low >>> 0, message.stickerSentTs.high >>> 0).toNumber() : message.stickerSentTs; if (message.isAvatar != null && message.hasOwnProperty("isAvatar")) object.isAvatar = message.isAvatar; return object; }; /** * Converts this StickerMessage to JSON. * @function toJSON * @memberof proto.Message.StickerMessage * @instance * @returns {Object.<string,*>} JSON object */ StickerMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return StickerMessage; })(); Message.StickerSyncRMRMessage = (function() { /** * Properties of a StickerSyncRMRMessage. * @memberof proto.Message * @interface IStickerSyncRMRMessage * @property {Array.<string>|null} [filehash] StickerSyncRMRMessage filehash * @property {string|null} [rmrSource] StickerSyncRMRMessage rmrSource * @property {number|Long|null} [requestTimestamp] StickerSyncRMRMessage requestTimestamp */ /** * Constructs a new StickerSyncRMRMessage. * @memberof proto.Message * @classdesc Represents a StickerSyncRMRMessage. * @implements IStickerSyncRMRMessage * @constructor * @param {proto.Message.IStickerSyncRMRMessage=} [properties] Properties to set */ function StickerSyncRMRMessage(properties) { this.filehash = []; 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]]; } /** * StickerSyncRMRMessage filehash. * @member {Array.<string>} filehash * @memberof proto.Message.StickerSyncRMRMessage * @instance */ StickerSyncRMRMessage.prototype.filehash = $util.emptyArray; /** * StickerSyncRMRMessage rmrSource. * @member {string} rmrSource * @memberof proto.Message.StickerSyncRMRMessage * @instance */ StickerSyncRMRMessage.prototype.rmrSource = ""; /** * StickerSyncRMRMessage requestTimestamp. * @member {number|Long} requestTimestamp * @memberof proto.Message.StickerSyncRMRMessage * @instance */ StickerSyncRMRMessage.prototype.requestTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new StickerSyncRMRMessage instance using the specified properties. * @function create * @memberof proto.Message.StickerSyncRMRMessage * @static * @param {proto.Message.IStickerSyncRMRMessage=} [properties] Properties to set * @returns {proto.Message.StickerSyncRMRMessage} StickerSyncRMRMessage instance */ StickerSyncRMRMessage.create = function create(properties) { return new StickerSyncRMRMessage(properties); }; /** * Encodes the specified StickerSyncRMRMessage message. Does not implicitly {@link proto.Message.StickerSyncRMRMessage.verify|verify} messages. * @function encode * @memberof proto.Message.StickerSyncRMRMessage * @static * @param {proto.Message.IStickerSyncRMRMessage} message StickerSyncRMRMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StickerSyncRMRMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.filehash != null && message.filehash.length) for (var i = 0; i < message.filehash.length; ++i) writer.uint32(/* id 1, wireType 2 =*/10).string(message.filehash[i]); if (message.rmrSource != null && Object.hasOwnProperty.call(message, "rmrSource")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.rmrSource); if (message.requestTimestamp != null && Object.hasOwnProperty.call(message, "requestTimestamp")) writer.uint32(/* id 3, wireType 0 =*/24).int64(message.requestTimestamp); return writer; }; /** * Encodes the specified StickerSyncRMRMessage message, length delimited. Does not implicitly {@link proto.Message.StickerSyncRMRMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.StickerSyncRMRMessage * @static * @param {proto.Message.IStickerSyncRMRMessage} message StickerSyncRMRMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StickerSyncRMRMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a StickerSyncRMRMessage message from the specified reader or buffer. * @function decode * @memberof proto.Message.StickerSyncRMRMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.StickerSyncRMRMessage} StickerSyncRMRMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StickerSyncRMRMessage.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.StickerSyncRMRMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.filehash && message.filehash.length)) message.filehash = []; message.filehash.push(reader.string()); break; case 2: message.rmrSource = reader.string(); break; case 3: message.requestTimestamp = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a StickerSyncRMRMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Message.StickerSyncRMRMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.StickerSyncRMRMessage} StickerSyncRMRMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StickerSyncRMRMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a StickerSyncRMRMessage message. * @function verify * @memberof proto.Message.StickerSyncRMRMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ StickerSyncRMRMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.filehash != null && message.hasOwnProperty("filehash")) { if (!Array.isArray(message.filehash)) return "filehash: array expected"; for (var i = 0; i < message.filehash.length; ++i) if (!$util.isString(message.filehash[i])) return "filehash: string[] expected"; } if (message.rmrSource != null && message.hasOwnProperty("rmrSource")) if (!$util.isString(message.rmrSource)) return "rmrSource: string expected"; if (message.requestTimestamp != null && message.hasOwnProperty("requestTimestamp")) if (!$util.isInteger(message.requestTimestamp) && !(message.requestTimestamp && $util.isInteger(message.requestTimestamp.low) && $util.isInteger(message.requestTimestamp.high))) return "requestTimestamp: integer|Long expected"; return null; }; /** * Creates a StickerSyncRMRMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.StickerSyncRMRMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.StickerSyncRMRMessage} StickerSyncRMRMessage */ StickerSyncRMRMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.StickerSyncRMRMessage) return object; var message = new $root.proto.Message.StickerSyncRMRMessage(); if (object.filehash) { if (!Array.isArray(object.filehash)) throw TypeError(".proto.Message.StickerSyncRMRMessage.filehash: array expected"); message.filehash = []; for (var i = 0; i < object.filehash.length; ++i) message.filehash[i] = String(object.filehash[i]); } if (object.rmrSource != null) message.rmrSource = String(object.rmrSource); if (object.requestTimestamp != null) if ($util.Long) (message.requestTimestamp = $util.Long.fromValue(object.requestTimestamp)).unsigned = false; else if (typeof object.requestTimestamp === "string") message.requestTimestamp = parseInt(object.requestTimestamp, 10); else if (typeof object.requestTimestamp === "number") message.requestTimestamp = object.requestTimestamp; else if (typeof object.requestTimestamp === "object") message.requestTimestamp = new $util.LongBits(object.requestTimestamp.low >>> 0, object.requestTimestamp.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a StickerSyncRMRMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.StickerSyncRMRMessage * @static * @param {proto.Message.StickerSyncRMRMessage} message StickerSyncRMRMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ StickerSyncRMRMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.filehash = []; if (options.defaults) { object.rmrSource = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.requestTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.requestTimestamp = options.longs === String ? "0" : 0; } if (message.filehash && message.filehash.length) { object.filehash = []; for (var j = 0; j < message.filehash.length; ++j) object.filehash[j] = message.filehash[j]; } if (message.rmrSource != null && message.hasOwnProperty("rmrSource")) object.rmrSource = message.rmrSource; if (message.requestTimestamp != null && message.hasOwnProperty("requestTimestamp")) if (typeof message.requestTimestamp === "number") object.requestTimestamp = options.longs === String ? String(message.requestTimestamp) : message.requestTimestamp; else object.requestTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.requestTimestamp) : options.longs === Number ? new $util.LongBits(message.requestTimestamp.low >>> 0, message.requestTimestamp.high >>> 0).toNumber() : message.requestTimestamp; return object; }; /** * Converts this StickerSyncRMRMessage to JSON. * @function toJSON * @memberof proto.Message.StickerSyncRMRMessage * @instance * @returns {Object.<string,*>} JSON object */ StickerSyncRMRMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return StickerSyncRMRMessage; })(); Message.TemplateButtonReplyMessage = (function() { /** * Properties of a TemplateButtonReplyMessage. * @memberof proto.Message * @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.Message * @classdesc Represents a TemplateButtonReplyMessage. * @implements ITemplateButtonReplyMessage * @constructor * @param {proto.Message.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.Message.TemplateButtonReplyMessage * @instance */ TemplateButtonReplyMessage.prototype.selectedId = ""; /** * TemplateButtonReplyMessage selectedDisplayText. * @member {string} selectedDisplayText * @memberof proto.Message.TemplateButtonReplyMessage * @instance */ TemplateButtonReplyMessage.prototype.selectedDisplayText = ""; /** * TemplateButtonReplyMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.TemplateButtonReplyMessage * @instance */ TemplateButtonReplyMessage.prototype.contextInfo = null; /** * TemplateButtonReplyMessage selectedIndex. * @member {number} selectedIndex * @memberof proto.Message.TemplateButtonReplyMessage * @instance */ TemplateButtonReplyMessage.prototype.selectedIndex = 0; /** * Creates a new TemplateButtonReplyMessage instance using the specified properties. * @function create * @memberof proto.Message.TemplateButtonReplyMessage * @static * @param {proto.Message.ITemplateButtonReplyMessage=} [properties] Properties to set * @returns {proto.Message.TemplateButtonReplyMessage} TemplateButtonReplyMessage instance */ TemplateButtonReplyMessage.create = function create(properties) { return new TemplateButtonReplyMessage(properties); }; /** * Encodes the specified TemplateButtonReplyMessage message. Does not implicitly {@link proto.Message.TemplateButtonReplyMessage.verify|verify} messages. * @function encode * @memberof proto.Message.TemplateButtonReplyMessage * @static * @param {proto.Message.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.Message.TemplateButtonReplyMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.TemplateButtonReplyMessage * @static * @param {proto.Message.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.Message.TemplateButtonReplyMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.TemplateButtonReplyMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.TemplateButtonReplyMessage * @static * @param {Object.<string,*>} 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.Message.TemplateButtonReplyMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.TemplateButtonReplyMessage} TemplateButtonReplyMessage */ TemplateButtonReplyMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.TemplateButtonReplyMessage) return object; var message = new $root.proto.Message.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.Message.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.Message.TemplateButtonReplyMessage * @static * @param {proto.Message.TemplateButtonReplyMessage} message TemplateButtonReplyMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.TemplateButtonReplyMessage * @instance * @returns {Object.<string,*>} JSON object */ TemplateButtonReplyMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return TemplateButtonReplyMessage; })(); Message.TemplateMessage = (function() { /** * Properties of a TemplateMessage. * @memberof proto.Message * @interface ITemplateMessage * @property {proto.IContextInfo|null} [contextInfo] TemplateMessage contextInfo * @property {proto.Message.TemplateMessage.IHydratedFourRowTemplate|null} [hydratedTemplate] TemplateMessage hydratedTemplate * @property {string|null} [templateId] TemplateMessage templateId * @property {proto.Message.TemplateMessage.IFourRowTemplate|null} [fourRowTemplate] TemplateMessage fourRowTemplate * @property {proto.Message.TemplateMessage.IHydratedFourRowTemplate|null} [hydratedFourRowTemplate] TemplateMessage hydratedFourRowTemplate * @property {proto.Message.IInteractiveMessage|null} [interactiveMessageTemplate] TemplateMessage interactiveMessageTemplate */ /** * Constructs a new TemplateMessage. * @memberof proto.Message * @classdesc Represents a TemplateMessage. * @implements ITemplateMessage * @constructor * @param {proto.Message.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.Message.TemplateMessage * @instance */ TemplateMessage.prototype.contextInfo = null; /** * TemplateMessage hydratedTemplate. * @member {proto.Message.TemplateMessage.IHydratedFourRowTemplate|null|undefined} hydratedTemplate * @memberof proto.Message.TemplateMessage * @instance */ TemplateMessage.prototype.hydratedTemplate = null; /** * TemplateMessage templateId. * @member {string} templateId * @memberof proto.Message.TemplateMessage * @instance */ TemplateMessage.prototype.templateId = ""; /** * TemplateMessage fourRowTemplate. * @member {proto.Message.TemplateMessage.IFourRowTemplate|null|undefined} fourRowTemplate * @memberof proto.Message.TemplateMessage * @instance */ TemplateMessage.prototype.fourRowTemplate = null; /** * TemplateMessage hydratedFourRowTemplate. * @member {proto.Message.TemplateMessage.IHydratedFourRowTemplate|null|undefined} hydratedFourRowTemplate * @memberof proto.Message.TemplateMessage * @instance */ TemplateMessage.prototype.hydratedFourRowTemplate = null; /** * TemplateMessage interactiveMessageTemplate. * @member {proto.Message.IInteractiveMessage|null|undefined} interactiveMessageTemplate * @memberof proto.Message.TemplateMessage * @instance */ TemplateMessage.prototype.interactiveMessageTemplate = null; // OneOf field names bound to virtual getters and setters var $oneOfFields; /** * TemplateMessage format. * @member {"fourRowTemplate"|"hydratedFourRowTemplate"|"interactiveMessageTemplate"|undefined} format * @memberof proto.Message.TemplateMessage * @instance */ Object.defineProperty(TemplateMessage.prototype, "format", { get: $util.oneOfGetter($oneOfFields = ["fourRowTemplate", "hydratedFourRowTemplate", "interactiveMessageTemplate"]), set: $util.oneOfSetter($oneOfFields) }); /** * Creates a new TemplateMessage instance using the specified properties. * @function create * @memberof proto.Message.TemplateMessage * @static * @param {proto.Message.ITemplateMessage=} [properties] Properties to set * @returns {proto.Message.TemplateMessage} TemplateMessage instance */ TemplateMessage.create = function create(properties) { return new TemplateMessage(properties); }; /** * Encodes the specified TemplateMessage message. Does not implicitly {@link proto.Message.TemplateMessage.verify|verify} messages. * @function encode * @memberof proto.Message.TemplateMessage * @static * @param {proto.Message.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.Message.TemplateMessage.FourRowTemplate.encode(message.fourRowTemplate, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.hydratedFourRowTemplate != null && Object.hasOwnProperty.call(message, "hydratedFourRowTemplate")) $root.proto.Message.TemplateMessage.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.Message.TemplateMessage.HydratedFourRowTemplate.encode(message.hydratedTemplate, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.interactiveMessageTemplate != null && Object.hasOwnProperty.call(message, "interactiveMessageTemplate")) $root.proto.Message.InteractiveMessage.encode(message.interactiveMessageTemplate, writer.uint32(/* id 5, wireType 2 =*/42).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 TemplateMessage message, length delimited. Does not implicitly {@link proto.Message.TemplateMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.TemplateMessage * @static * @param {proto.Message.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.Message.TemplateMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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.Message.TemplateMessage.HydratedFourRowTemplate.decode(reader, reader.uint32()); break; case 9: message.templateId = reader.string(); break; case 1: message.fourRowTemplate = $root.proto.Message.TemplateMessage.FourRowTemplate.decode(reader, reader.uint32()); break; case 2: message.hydratedFourRowTemplate = $root.proto.Message.TemplateMessage.HydratedFourRowTemplate.decode(reader, reader.uint32()); break; case 5: message.interactiveMessageTemplate = $root.proto.Message.InteractiveMessage.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.Message.TemplateMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.TemplateMessage * @static * @param {Object.<string,*>} 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.Message.TemplateMessage.HydratedFourRowTemplate.verify(message.hydratedTemplate); if (error) return "hydratedTemplate." + error; } if (message.templateId != null && message.hasOwnProperty("templateId")) if (!$util.isString(message.templateId)) return "templateId: string expected"; if (message.fourRowTemplate != null && message.hasOwnProperty("fourRowTemplate")) { properties.format = 1; { var error = $root.proto.Message.TemplateMessage.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.Message.TemplateMessage.HydratedFourRowTemplate.verify(message.hydratedFourRowTemplate); if (error) return "hydratedFourRowTemplate." + error; } } if (message.interactiveMessageTemplate != null && message.hasOwnProperty("interactiveMessageTemplate")) { if (properties.format === 1) return "format: multiple values"; properties.format = 1; { var error = $root.proto.Message.InteractiveMessage.verify(message.interactiveMessageTemplate); if (error) return "interactiveMessageTemplate." + error; } } return null; }; /** * Creates a TemplateMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.TemplateMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.TemplateMessage} TemplateMessage */ TemplateMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.TemplateMessage) return object; var message = new $root.proto.Message.TemplateMessage(); if (object.contextInfo != null) { if (typeof object.contextInfo !== "object") throw TypeError(".proto.Message.TemplateMessage.contextInfo: object expected"); message.contextInfo = $root.proto.ContextInfo.fromObject(object.contextInfo); } if (object.hydratedTemplate != null) { if (typeof object.hydratedTemplate !== "object") throw TypeError(".proto.Message.TemplateMessage.hydratedTemplate: object expected"); message.hydratedTemplate = $root.proto.Message.TemplateMessage.HydratedFourRowTemplate.fromObject(object.hydratedTemplate); } if (object.templateId != null) message.templateId = String(object.templateId); if (object.fourRowTemplate != null) { if (typeof object.fourRowTemplate !== "object") throw TypeError(".proto.Message.TemplateMessage.fourRowTemplate: object expected"); message.fourRowTemplate = $root.proto.Message.TemplateMessage.FourRowTemplate.fromObject(object.fourRowTemplate); } if (object.hydratedFourRowTemplate != null) { if (typeof object.hydratedFourRowTemplate !== "object") throw TypeError(".proto.Message.TemplateMessage.hydratedFourRowTemplate: object expected"); message.hydratedFourRowTemplate = $root.proto.Message.TemplateMessage.HydratedFourRowTemplate.fromObject(object.hydratedFourRowTemplate); } if (object.interactiveMessageTemplate != null) { if (typeof object.interactiveMessageTemplate !== "object") throw TypeError(".proto.Message.TemplateMessage.interactiveMessageTemplate: object expected"); message.interactiveMessageTemplate = $root.proto.Message.InteractiveMessage.fromObject(object.interactiveMessageTemplate); } return message; }; /** * Creates a plain object from a TemplateMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.TemplateMessage * @static * @param {proto.Message.TemplateMessage} message TemplateMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ TemplateMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.contextInfo = null; object.hydratedTemplate = null; object.templateId = ""; } if (message.fourRowTemplate != null && message.hasOwnProperty("fourRowTemplate")) { object.fourRowTemplate = $root.proto.Message.TemplateMessage.FourRowTemplate.toObject(message.fourRowTemplate, options); if (options.oneofs) object.format = "fourRowTemplate"; } if (message.hydratedFourRowTemplate != null && message.hasOwnProperty("hydratedFourRowTemplate")) { object.hydratedFourRowTemplate = $root.proto.Message.TemplateMessage.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.Message.TemplateMessage.HydratedFourRowTemplate.toObject(message.hydratedTemplate, options); if (message.interactiveMessageTemplate != null && message.hasOwnProperty("interactiveMessageTemplate")) { object.interactiveMessageTemplate = $root.proto.Message.InteractiveMessage.toObject(message.interactiveMessageTemplate, options); if (options.oneofs) object.format = "interactiveMessageTemplate"; } if (message.templateId != null && message.hasOwnProperty("templateId")) object.templateId = message.templateId; return object; }; /** * Converts this TemplateMessage to JSON. * @function toJSON * @memberof proto.Message.TemplateMessage * @instance * @returns {Object.<string,*>} JSON object */ TemplateMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; TemplateMessage.FourRowTemplate = (function() { /** * Properties of a FourRowTemplate. * @memberof proto.Message.TemplateMessage * @interface IFourRowTemplate * @property {proto.Message.IHighlyStructuredMessage|null} [content] FourRowTemplate content * @property {proto.Message.IHighlyStructuredMessage|null} [footer] FourRowTemplate footer * @property {Array.<proto.ITemplateButton>|null} [buttons] FourRowTemplate buttons * @property {proto.Message.IDocumentMessage|null} [documentMessage] FourRowTemplate documentMessage * @property {proto.Message.IHighlyStructuredMessage|null} [highlyStructuredMessage] FourRowTemplate highlyStructuredMessage * @property {proto.Message.IImageMessage|null} [imageMessage] FourRowTemplate imageMessage * @property {proto.Message.IVideoMessage|null} [videoMessage] FourRowTemplate videoMessage * @property {proto.Message.ILocationMessage|null} [locationMessage] FourRowTemplate locationMessage */ /** * Constructs a new FourRowTemplate. * @memberof proto.Message.TemplateMessage * @classdesc Represents a FourRowTemplate. * @implements IFourRowTemplate * @constructor * @param {proto.Message.TemplateMessage.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.Message.IHighlyStructuredMessage|null|undefined} content * @memberof proto.Message.TemplateMessage.FourRowTemplate * @instance */ FourRowTemplate.prototype.content = null; /** * FourRowTemplate footer. * @member {proto.Message.IHighlyStructuredMessage|null|undefined} footer * @memberof proto.Message.TemplateMessage.FourRowTemplate * @instance */ FourRowTemplate.prototype.footer = null; /** * FourRowTemplate buttons. * @member {Array.<proto.ITemplateButton>} buttons * @memberof proto.Message.TemplateMessage.FourRowTemplate * @instance */ FourRowTemplate.prototype.buttons = $util.emptyArray; /** * FourRowTemplate documentMessage. * @member {proto.Message.IDocumentMessage|null|undefined} documentMessage * @memberof proto.Message.TemplateMessage.FourRowTemplate * @instance */ FourRowTemplate.prototype.documentMessage = null; /** * FourRowTemplate highlyStructuredMessage. * @member {proto.Message.IHighlyStructuredMessage|null|undefined} highlyStructuredMessage * @memberof proto.Message.TemplateMessage.FourRowTemplate * @instance */ FourRowTemplate.prototype.highlyStructuredMessage = null; /** * FourRowTemplate imageMessage. * @member {proto.Message.IImageMessage|null|undefined} imageMessage * @memberof proto.Message.TemplateMessage.FourRowTemplate * @instance */ FourRowTemplate.prototype.imageMessage = null; /** * FourRowTemplate videoMessage. * @member {proto.Message.IVideoMessage|null|undefined} videoMessage * @memberof proto.Message.TemplateMessage.FourRowTemplate * @instance */ FourRowTemplate.prototype.videoMessage = null; /** * FourRowTemplate locationMessage. * @member {proto.Message.ILocationMessage|null|undefined} locationMessage * @memberof proto.Message.TemplateMessage.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.Message.TemplateMessage.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.Message.TemplateMessage.FourRowTemplate * @static * @param {proto.Message.TemplateMessage.IFourRowTemplate=} [properties] Properties to set * @returns {proto.Message.TemplateMessage.FourRowTemplate} FourRowTemplate instance */ FourRowTemplate.create = function create(properties) { return new FourRowTemplate(properties); }; /** * Encodes the specified FourRowTemplate message. Does not implicitly {@link proto.Message.TemplateMessage.FourRowTemplate.verify|verify} messages. * @function encode * @memberof proto.Message.TemplateMessage.FourRowTemplate * @static * @param {proto.Message.TemplateMessage.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.Message.DocumentMessage.encode(message.documentMessage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.highlyStructuredMessage != null && Object.hasOwnProperty.call(message, "highlyStructuredMessage")) $root.proto.Message.HighlyStructuredMessage.encode(message.highlyStructuredMessage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.imageMessage != null && Object.hasOwnProperty.call(message, "imageMessage")) $root.proto.Message.ImageMessage.encode(message.imageMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.videoMessage != null && Object.hasOwnProperty.call(message, "videoMessage")) $root.proto.Message.VideoMessage.encode(message.videoMessage, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.locationMessage != null && Object.hasOwnProperty.call(message, "locationMessage")) $root.proto.Message.LocationMessage.encode(message.locationMessage, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.content != null && Object.hasOwnProperty.call(message, "content")) $root.proto.Message.HighlyStructuredMessage.encode(message.content, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.footer != null && Object.hasOwnProperty.call(message, "footer")) $root.proto.Message.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.Message.TemplateMessage.FourRowTemplate.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.TemplateMessage.FourRowTemplate * @static * @param {proto.Message.TemplateMessage.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.Message.TemplateMessage.FourRowTemplate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.TemplateMessage.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.Message.TemplateMessage.FourRowTemplate(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 6: message.content = $root.proto.Message.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 7: message.footer = $root.proto.Message.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.Message.DocumentMessage.decode(reader, reader.uint32()); break; case 2: message.highlyStructuredMessage = $root.proto.Message.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 3: message.imageMessage = $root.proto.Message.ImageMessage.decode(reader, reader.uint32()); break; case 4: message.videoMessage = $root.proto.Message.VideoMessage.decode(reader, reader.uint32()); break; case 5: message.locationMessage = $root.proto.Message.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.Message.TemplateMessage.FourRowTemplate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.TemplateMessage.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.Message.TemplateMessage.FourRowTemplate * @static * @param {Object.<string,*>} 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.Message.HighlyStructuredMessage.verify(message.content); if (error) return "content." + error; } if (message.footer != null && message.hasOwnProperty("footer")) { var error = $root.proto.Message.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.Message.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.Message.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.Message.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.Message.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.Message.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.Message.TemplateMessage.FourRowTemplate * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.TemplateMessage.FourRowTemplate} FourRowTemplate */ FourRowTemplate.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.TemplateMessage.FourRowTemplate) return object; var message = new $root.proto.Message.TemplateMessage.FourRowTemplate(); if (object.content != null) { if (typeof object.content !== "object") throw TypeError(".proto.Message.TemplateMessage.FourRowTemplate.content: object expected"); message.content = $root.proto.Message.HighlyStructuredMessage.fromObject(object.content); } if (object.footer != null) { if (typeof object.footer !== "object") throw TypeError(".proto.Message.TemplateMessage.FourRowTemplate.footer: object expected"); message.footer = $root.proto.Message.HighlyStructuredMessage.fromObject(object.footer); } if (object.buttons) { if (!Array.isArray(object.buttons)) throw TypeError(".proto.Message.TemplateMessage.FourRowTemplate.buttons: array expected"); message.buttons = []; for (var i = 0; i < object.buttons.length; ++i) { if (typeof object.buttons[i] !== "object") throw TypeError(".proto.Message.TemplateMessage.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.Message.TemplateMessage.FourRowTemplate.documentMessage: object expected"); message.documentMessage = $root.proto.Message.DocumentMessage.fromObject(object.documentMessage); } if (object.highlyStructuredMessage != null) { if (typeof object.highlyStructuredMessage !== "object") throw TypeError(".proto.Message.TemplateMessage.FourRowTemplate.highlyStructuredMessage: object expected"); message.highlyStructuredMessage = $root.proto.Message.HighlyStructuredMessage.fromObject(object.highlyStructuredMessage); } if (object.imageMessage != null) { if (typeof object.imageMessage !== "object") throw TypeError(".proto.Message.TemplateMessage.FourRowTemplate.imageMessage: object expected"); message.imageMessage = $root.proto.Message.ImageMessage.fromObject(object.imageMessage); } if (object.videoMessage != null) { if (typeof object.videoMessage !== "object") throw TypeError(".proto.Message.TemplateMessage.FourRowTemplate.videoMessage: object expected"); message.videoMessage = $root.proto.Message.VideoMessage.fromObject(object.videoMessage); } if (object.locationMessage != null) { if (typeof object.locationMessage !== "object") throw TypeError(".proto.Message.TemplateMessage.FourRowTemplate.locationMessage: object expected"); message.locationMessage = $root.proto.Message.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.Message.TemplateMessage.FourRowTemplate * @static * @param {proto.Message.TemplateMessage.FourRowTemplate} message FourRowTemplate * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.DocumentMessage.toObject(message.documentMessage, options); if (options.oneofs) object.title = "documentMessage"; } if (message.highlyStructuredMessage != null && message.hasOwnProperty("highlyStructuredMessage")) { object.highlyStructuredMessage = $root.proto.Message.HighlyStructuredMessage.toObject(message.highlyStructuredMessage, options); if (options.oneofs) object.title = "highlyStructuredMessage"; } if (message.imageMessage != null && message.hasOwnProperty("imageMessage")) { object.imageMessage = $root.proto.Message.ImageMessage.toObject(message.imageMessage, options); if (options.oneofs) object.title = "imageMessage"; } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { object.videoMessage = $root.proto.Message.VideoMessage.toObject(message.videoMessage, options); if (options.oneofs) object.title = "videoMessage"; } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { object.locationMessage = $root.proto.Message.LocationMessage.toObject(message.locationMessage, options); if (options.oneofs) object.title = "locationMessage"; } if (message.content != null && message.hasOwnProperty("content")) object.content = $root.proto.Message.HighlyStructuredMessage.toObject(message.content, options); if (message.footer != null && message.hasOwnProperty("footer")) object.footer = $root.proto.Message.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.Message.TemplateMessage.FourRowTemplate * @instance * @returns {Object.<string,*>} JSON object */ FourRowTemplate.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return FourRowTemplate; })(); TemplateMessage.HydratedFourRowTemplate = (function() { /** * Properties of a HydratedFourRowTemplate. * @memberof proto.Message.TemplateMessage * @interface IHydratedFourRowTemplate * @property {string|null} [hydratedContentText] HydratedFourRowTemplate hydratedContentText * @property {string|null} [hydratedFooterText] HydratedFourRowTemplate hydratedFooterText * @property {Array.<proto.IHydratedTemplateButton>|null} [hydratedButtons] HydratedFourRowTemplate hydratedButtons * @property {string|null} [templateId] HydratedFourRowTemplate templateId * @property {proto.Message.IDocumentMessage|null} [documentMessage] HydratedFourRowTemplate documentMessage * @property {string|null} [hydratedTitleText] HydratedFourRowTemplate hydratedTitleText * @property {proto.Message.IImageMessage|null} [imageMessage] HydratedFourRowTemplate imageMessage * @property {proto.Message.IVideoMessage|null} [videoMessage] HydratedFourRowTemplate videoMessage * @property {proto.Message.ILocationMessage|null} [locationMessage] HydratedFourRowTemplate locationMessage */ /** * Constructs a new HydratedFourRowTemplate. * @memberof proto.Message.TemplateMessage * @classdesc Represents a HydratedFourRowTemplate. * @implements IHydratedFourRowTemplate * @constructor * @param {proto.Message.TemplateMessage.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.Message.TemplateMessage.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.hydratedContentText = ""; /** * HydratedFourRowTemplate hydratedFooterText. * @member {string} hydratedFooterText * @memberof proto.Message.TemplateMessage.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.hydratedFooterText = ""; /** * HydratedFourRowTemplate hydratedButtons. * @member {Array.<proto.IHydratedTemplateButton>} hydratedButtons * @memberof proto.Message.TemplateMessage.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.hydratedButtons = $util.emptyArray; /** * HydratedFourRowTemplate templateId. * @member {string} templateId * @memberof proto.Message.TemplateMessage.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.templateId = ""; /** * HydratedFourRowTemplate documentMessage. * @member {proto.Message.IDocumentMessage|null|undefined} documentMessage * @memberof proto.Message.TemplateMessage.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.documentMessage = null; /** * HydratedFourRowTemplate hydratedTitleText. * @member {string|null|undefined} hydratedTitleText * @memberof proto.Message.TemplateMessage.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.hydratedTitleText = null; /** * HydratedFourRowTemplate imageMessage. * @member {proto.Message.IImageMessage|null|undefined} imageMessage * @memberof proto.Message.TemplateMessage.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.imageMessage = null; /** * HydratedFourRowTemplate videoMessage. * @member {proto.Message.IVideoMessage|null|undefined} videoMessage * @memberof proto.Message.TemplateMessage.HydratedFourRowTemplate * @instance */ HydratedFourRowTemplate.prototype.videoMessage = null; /** * HydratedFourRowTemplate locationMessage. * @member {proto.Message.ILocationMessage|null|undefined} locationMessage * @memberof proto.Message.TemplateMessage.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.Message.TemplateMessage.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.Message.TemplateMessage.HydratedFourRowTemplate * @static * @param {proto.Message.TemplateMessage.IHydratedFourRowTemplate=} [properties] Properties to set * @returns {proto.Message.TemplateMessage.HydratedFourRowTemplate} HydratedFourRowTemplate instance */ HydratedFourRowTemplate.create = function create(properties) { return new HydratedFourRowTemplate(properties); }; /** * Encodes the specified HydratedFourRowTemplate message. Does not implicitly {@link proto.Message.TemplateMessage.HydratedFourRowTemplate.verify|verify} messages. * @function encode * @memberof proto.Message.TemplateMessage.HydratedFourRowTemplate * @static * @param {proto.Message.TemplateMessage.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.Message.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.Message.ImageMessage.encode(message.imageMessage, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.videoMessage != null && Object.hasOwnProperty.call(message, "videoMessage")) $root.proto.Message.VideoMessage.encode(message.videoMessage, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.locationMessage != null && Object.hasOwnProperty.call(message, "locationMessage")) $root.proto.Message.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.Message.TemplateMessage.HydratedFourRowTemplate.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.TemplateMessage.HydratedFourRowTemplate * @static * @param {proto.Message.TemplateMessage.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.Message.TemplateMessage.HydratedFourRowTemplate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.TemplateMessage.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.Message.TemplateMessage.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.Message.DocumentMessage.decode(reader, reader.uint32()); break; case 2: message.hydratedTitleText = reader.string(); break; case 3: message.imageMessage = $root.proto.Message.ImageMessage.decode(reader, reader.uint32()); break; case 4: message.videoMessage = $root.proto.Message.VideoMessage.decode(reader, reader.uint32()); break; case 5: message.locationMessage = $root.proto.Message.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.Message.TemplateMessage.HydratedFourRowTemplate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.TemplateMessage.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.Message.TemplateMessage.HydratedFourRowTemplate * @static * @param {Object.<string,*>} 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.Message.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.Message.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.Message.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.Message.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.Message.TemplateMessage.HydratedFourRowTemplate * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.TemplateMessage.HydratedFourRowTemplate} HydratedFourRowTemplate */ HydratedFourRowTemplate.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.TemplateMessage.HydratedFourRowTemplate) return object; var message = new $root.proto.Message.TemplateMessage.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.Message.TemplateMessage.HydratedFourRowTemplate.hydratedButtons: array expected"); message.hydratedButtons = []; for (var i = 0; i < object.hydratedButtons.length; ++i) { if (typeof object.hydratedButtons[i] !== "object") throw TypeError(".proto.Message.TemplateMessage.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.Message.TemplateMessage.HydratedFourRowTemplate.documentMessage: object expected"); message.documentMessage = $root.proto.Message.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.Message.TemplateMessage.HydratedFourRowTemplate.imageMessage: object expected"); message.imageMessage = $root.proto.Message.ImageMessage.fromObject(object.imageMessage); } if (object.videoMessage != null) { if (typeof object.videoMessage !== "object") throw TypeError(".proto.Message.TemplateMessage.HydratedFourRowTemplate.videoMessage: object expected"); message.videoMessage = $root.proto.Message.VideoMessage.fromObject(object.videoMessage); } if (object.locationMessage != null) { if (typeof object.locationMessage !== "object") throw TypeError(".proto.Message.TemplateMessage.HydratedFourRowTemplate.locationMessage: object expected"); message.locationMessage = $root.proto.Message.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.Message.TemplateMessage.HydratedFourRowTemplate * @static * @param {proto.Message.TemplateMessage.HydratedFourRowTemplate} message HydratedFourRowTemplate * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.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.Message.ImageMessage.toObject(message.imageMessage, options); if (options.oneofs) object.title = "imageMessage"; } if (message.videoMessage != null && message.hasOwnProperty("videoMessage")) { object.videoMessage = $root.proto.Message.VideoMessage.toObject(message.videoMessage, options); if (options.oneofs) object.title = "videoMessage"; } if (message.locationMessage != null && message.hasOwnProperty("locationMessage")) { object.locationMessage = $root.proto.Message.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.Message.TemplateMessage.HydratedFourRowTemplate * @instance * @returns {Object.<string,*>} JSON object */ HydratedFourRowTemplate.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return HydratedFourRowTemplate; })(); return TemplateMessage; })(); Message.VideoMessage = (function() { /** * Properties of a VideoMessage. * @memberof proto.Message * @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.<proto.IInteractiveAnnotation>|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.Message.VideoMessage.Attribution|null} [gifAttribution] VideoMessage gifAttribution * @property {boolean|null} [viewOnce] VideoMessage viewOnce * @property {string|null} [thumbnailDirectPath] VideoMessage thumbnailDirectPath * @property {Uint8Array|null} [thumbnailSha256] VideoMessage thumbnailSha256 * @property {Uint8Array|null} [thumbnailEncSha256] VideoMessage thumbnailEncSha256 * @property {string|null} [staticUrl] VideoMessage staticUrl */ /** * Constructs a new VideoMessage. * @memberof proto.Message * @classdesc Represents a VideoMessage. * @implements IVideoMessage * @constructor * @param {proto.Message.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.Message.VideoMessage * @instance */ VideoMessage.prototype.url = ""; /** * VideoMessage mimetype. * @member {string} mimetype * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.mimetype = ""; /** * VideoMessage fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.fileSha256 = $util.newBuffer([]); /** * VideoMessage fileLength. * @member {number|Long} fileLength * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * VideoMessage seconds. * @member {number} seconds * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.seconds = 0; /** * VideoMessage mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.mediaKey = $util.newBuffer([]); /** * VideoMessage caption. * @member {string} caption * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.caption = ""; /** * VideoMessage gifPlayback. * @member {boolean} gifPlayback * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.gifPlayback = false; /** * VideoMessage height. * @member {number} height * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.height = 0; /** * VideoMessage width. * @member {number} width * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.width = 0; /** * VideoMessage fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.fileEncSha256 = $util.newBuffer([]); /** * VideoMessage interactiveAnnotations. * @member {Array.<proto.IInteractiveAnnotation>} interactiveAnnotations * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.interactiveAnnotations = $util.emptyArray; /** * VideoMessage directPath. * @member {string} directPath * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.directPath = ""; /** * VideoMessage mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * VideoMessage jpegThumbnail. * @member {Uint8Array} jpegThumbnail * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.jpegThumbnail = $util.newBuffer([]); /** * VideoMessage contextInfo. * @member {proto.IContextInfo|null|undefined} contextInfo * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.contextInfo = null; /** * VideoMessage streamingSidecar. * @member {Uint8Array} streamingSidecar * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.streamingSidecar = $util.newBuffer([]); /** * VideoMessage gifAttribution. * @member {proto.Message.VideoMessage.Attribution} gifAttribution * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.gifAttribution = 0; /** * VideoMessage viewOnce. * @member {boolean} viewOnce * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.viewOnce = false; /** * VideoMessage thumbnailDirectPath. * @member {string} thumbnailDirectPath * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.thumbnailDirectPath = ""; /** * VideoMessage thumbnailSha256. * @member {Uint8Array} thumbnailSha256 * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.thumbnailSha256 = $util.newBuffer([]); /** * VideoMessage thumbnailEncSha256. * @member {Uint8Array} thumbnailEncSha256 * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.thumbnailEncSha256 = $util.newBuffer([]); /** * VideoMessage staticUrl. * @member {string} staticUrl * @memberof proto.Message.VideoMessage * @instance */ VideoMessage.prototype.staticUrl = ""; /** * Creates a new VideoMessage instance using the specified properties. * @function create * @memberof proto.Message.VideoMessage * @static * @param {proto.Message.IVideoMessage=} [properties] Properties to set * @returns {proto.Message.VideoMessage} VideoMessage instance */ VideoMessage.create = function create(properties) { return new VideoMessage(properties); }; /** * Encodes the specified VideoMessage message. Does not implicitly {@link proto.Message.VideoMessage.verify|verify} messages. * @function encode * @memberof proto.Message.VideoMessage * @static * @param {proto.Message.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); if (message.thumbnailDirectPath != null && Object.hasOwnProperty.call(message, "thumbnailDirectPath")) writer.uint32(/* id 21, wireType 2 =*/170).string(message.thumbnailDirectPath); if (message.thumbnailSha256 != null && Object.hasOwnProperty.call(message, "thumbnailSha256")) writer.uint32(/* id 22, wireType 2 =*/178).bytes(message.thumbnailSha256); if (message.thumbnailEncSha256 != null && Object.hasOwnProperty.call(message, "thumbnailEncSha256")) writer.uint32(/* id 23, wireType 2 =*/186).bytes(message.thumbnailEncSha256); if (message.staticUrl != null && Object.hasOwnProperty.call(message, "staticUrl")) writer.uint32(/* id 24, wireType 2 =*/194).string(message.staticUrl); return writer; }; /** * Encodes the specified VideoMessage message, length delimited. Does not implicitly {@link proto.Message.VideoMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.Message.VideoMessage * @static * @param {proto.Message.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.Message.VideoMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Message.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.Message.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; case 21: message.thumbnailDirectPath = reader.string(); break; case 22: message.thumbnailSha256 = reader.bytes(); break; case 23: message.thumbnailEncSha256 = reader.bytes(); break; case 24: message.staticUrl = reader.string(); 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.Message.VideoMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Message.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.Message.VideoMessage * @static * @param {Object.<string,*>} 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"; 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.staticUrl != null && message.hasOwnProperty("staticUrl")) if (!$util.isString(message.staticUrl)) return "staticUrl: string expected"; return null; }; /** * Creates a VideoMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Message.VideoMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Message.VideoMessage} VideoMessage */ VideoMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.Message.VideoMessage) return object; var message = new $root.proto.Message.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.Message.VideoMessage.interactiveAnnotations: array expected"); message.interactiveAnnotations = []; for (var i = 0; i < object.interactiveAnnotations.length; ++i) { if (typeof object.interactiveAnnotations[i] !== "object") throw TypeError(".proto.Message.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.Message.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); 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.staticUrl != null) message.staticUrl = String(object.staticUrl); return message; }; /** * Creates a plain object from a VideoMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.Message.VideoMessage * @static * @param {proto.Message.VideoMessage} message VideoMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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; 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); } object.staticUrl = ""; } 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.Message.VideoMessage.Attribution[message.gifAttribution] : message.gifAttribution; if (message.viewOnce != null && message.hasOwnProperty("viewOnce")) object.viewOnce = message.viewOnce; 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.staticUrl != null && message.hasOwnProperty("staticUrl")) object.staticUrl = message.staticUrl; return object; }; /** * Converts this VideoMessage to JSON. * @function toJSON * @memberof proto.Message.VideoMessage * @instance * @returns {Object.<string,*>} JSON object */ VideoMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Attribution enum. * @name proto.Message.VideoMessage.Attribution * @enum {number} * @property {number} NONE=0 NONE value * @property {number} GIPHY=1 GIPHY value * @property {number} TENOR=2 TENOR value */ VideoMessage.Attribution = (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; })(); return Message; })(); proto.MessageAddOnContextInfo = (function() { /** * Properties of a MessageAddOnContextInfo. * @memberof proto * @interface IMessageAddOnContextInfo * @property {number|null} [messageAddOnDurationInSecs] MessageAddOnContextInfo messageAddOnDurationInSecs */ /** * Constructs a new MessageAddOnContextInfo. * @memberof proto * @classdesc Represents a MessageAddOnContextInfo. * @implements IMessageAddOnContextInfo * @constructor * @param {proto.IMessageAddOnContextInfo=} [properties] Properties to set */ function MessageAddOnContextInfo(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]]; } /** * MessageAddOnContextInfo messageAddOnDurationInSecs. * @member {number} messageAddOnDurationInSecs * @memberof proto.MessageAddOnContextInfo * @instance */ MessageAddOnContextInfo.prototype.messageAddOnDurationInSecs = 0; /** * Creates a new MessageAddOnContextInfo instance using the specified properties. * @function create * @memberof proto.MessageAddOnContextInfo * @static * @param {proto.IMessageAddOnContextInfo=} [properties] Properties to set * @returns {proto.MessageAddOnContextInfo} MessageAddOnContextInfo instance */ MessageAddOnContextInfo.create = function create(properties) { return new MessageAddOnContextInfo(properties); }; /** * Encodes the specified MessageAddOnContextInfo message. Does not implicitly {@link proto.MessageAddOnContextInfo.verify|verify} messages. * @function encode * @memberof proto.MessageAddOnContextInfo * @static * @param {proto.IMessageAddOnContextInfo} message MessageAddOnContextInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MessageAddOnContextInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.messageAddOnDurationInSecs != null && Object.hasOwnProperty.call(message, "messageAddOnDurationInSecs")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.messageAddOnDurationInSecs); return writer; }; /** * Encodes the specified MessageAddOnContextInfo message, length delimited. Does not implicitly {@link proto.MessageAddOnContextInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.MessageAddOnContextInfo * @static * @param {proto.IMessageAddOnContextInfo} message MessageAddOnContextInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MessageAddOnContextInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MessageAddOnContextInfo message from the specified reader or buffer. * @function decode * @memberof proto.MessageAddOnContextInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.MessageAddOnContextInfo} MessageAddOnContextInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MessageAddOnContextInfo.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.MessageAddOnContextInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.messageAddOnDurationInSecs = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MessageAddOnContextInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.MessageAddOnContextInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.MessageAddOnContextInfo} MessageAddOnContextInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MessageAddOnContextInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MessageAddOnContextInfo message. * @function verify * @memberof proto.MessageAddOnContextInfo * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MessageAddOnContextInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.messageAddOnDurationInSecs != null && message.hasOwnProperty("messageAddOnDurationInSecs")) if (!$util.isInteger(message.messageAddOnDurationInSecs)) return "messageAddOnDurationInSecs: integer expected"; return null; }; /** * Creates a MessageAddOnContextInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.MessageAddOnContextInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.MessageAddOnContextInfo} MessageAddOnContextInfo */ MessageAddOnContextInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.MessageAddOnContextInfo) return object; var message = new $root.proto.MessageAddOnContextInfo(); if (object.messageAddOnDurationInSecs != null) message.messageAddOnDurationInSecs = object.messageAddOnDurationInSecs >>> 0; return message; }; /** * Creates a plain object from a MessageAddOnContextInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.MessageAddOnContextInfo * @static * @param {proto.MessageAddOnContextInfo} message MessageAddOnContextInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MessageAddOnContextInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.messageAddOnDurationInSecs = 0; if (message.messageAddOnDurationInSecs != null && message.hasOwnProperty("messageAddOnDurationInSecs")) object.messageAddOnDurationInSecs = message.messageAddOnDurationInSecs; return object; }; /** * Converts this MessageAddOnContextInfo to JSON. * @function toJSON * @memberof proto.MessageAddOnContextInfo * @instance * @returns {Object.<string,*>} JSON object */ MessageAddOnContextInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MessageAddOnContextInfo; })(); proto.MessageContextInfo = (function() { /** * Properties of a MessageContextInfo. * @memberof proto * @interface IMessageContextInfo * @property {proto.IDeviceListMetadata|null} [deviceListMetadata] MessageContextInfo deviceListMetadata * @property {number|null} [deviceListMetadataVersion] MessageContextInfo deviceListMetadataVersion * @property {Uint8Array|null} [messageSecret] MessageContextInfo messageSecret * @property {Uint8Array|null} [paddingBytes] MessageContextInfo paddingBytes * @property {number|null} [messageAddOnDurationInSecs] MessageContextInfo messageAddOnDurationInSecs * @property {Uint8Array|null} [botMessageSecret] MessageContextInfo botMessageSecret * @property {proto.IBotMetadata|null} [botMetadata] MessageContextInfo botMetadata */ /** * Constructs a new MessageContextInfo. * @memberof proto * @classdesc Represents a MessageContextInfo. * @implements IMessageContextInfo * @constructor * @param {proto.IMessageContextInfo=} [properties] Properties to set */ function MessageContextInfo(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]]; } /** * MessageContextInfo deviceListMetadata. * @member {proto.IDeviceListMetadata|null|undefined} deviceListMetadata * @memberof proto.MessageContextInfo * @instance */ MessageContextInfo.prototype.deviceListMetadata = null; /** * MessageContextInfo deviceListMetadataVersion. * @member {number} deviceListMetadataVersion * @memberof proto.MessageContextInfo * @instance */ MessageContextInfo.prototype.deviceListMetadataVersion = 0; /** * MessageContextInfo messageSecret. * @member {Uint8Array} messageSecret * @memberof proto.MessageContextInfo * @instance */ MessageContextInfo.prototype.messageSecret = $util.newBuffer([]); /** * MessageContextInfo paddingBytes. * @member {Uint8Array} paddingBytes * @memberof proto.MessageContextInfo * @instance */ MessageContextInfo.prototype.paddingBytes = $util.newBuffer([]); /** * MessageContextInfo messageAddOnDurationInSecs. * @member {number} messageAddOnDurationInSecs * @memberof proto.MessageContextInfo * @instance */ MessageContextInfo.prototype.messageAddOnDurationInSecs = 0; /** * MessageContextInfo botMessageSecret. * @member {Uint8Array} botMessageSecret * @memberof proto.MessageContextInfo * @instance */ MessageContextInfo.prototype.botMessageSecret = $util.newBuffer([]); /** * MessageContextInfo botMetadata. * @member {proto.IBotMetadata|null|undefined} botMetadata * @memberof proto.MessageContextInfo * @instance */ MessageContextInfo.prototype.botMetadata = null; /** * Creates a new MessageContextInfo instance using the specified properties. * @function create * @memberof proto.MessageContextInfo * @static * @param {proto.IMessageContextInfo=} [properties] Properties to set * @returns {proto.MessageContextInfo} MessageContextInfo instance */ MessageContextInfo.create = function create(properties) { return new MessageContextInfo(properties); }; /** * Encodes the specified MessageContextInfo message. Does not implicitly {@link proto.MessageContextInfo.verify|verify} messages. * @function encode * @memberof proto.MessageContextInfo * @static * @param {proto.IMessageContextInfo} message MessageContextInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MessageContextInfo.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.deviceListMetadata != null && Object.hasOwnProperty.call(message, "deviceListMetadata")) $root.proto.DeviceListMetadata.encode(message.deviceListMetadata, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.deviceListMetadataVersion != null && Object.hasOwnProperty.call(message, "deviceListMetadataVersion")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.deviceListMetadataVersion); if (message.messageSecret != null && Object.hasOwnProperty.call(message, "messageSecret")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.messageSecret); if (message.paddingBytes != null && Object.hasOwnProperty.call(message, "paddingBytes")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.paddingBytes); if (message.messageAddOnDurationInSecs != null && Object.hasOwnProperty.call(message, "messageAddOnDurationInSecs")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.messageAddOnDurationInSecs); if (message.botMessageSecret != null && Object.hasOwnProperty.call(message, "botMessageSecret")) writer.uint32(/* id 6, wireType 2 =*/50).bytes(message.botMessageSecret); if (message.botMetadata != null && Object.hasOwnProperty.call(message, "botMetadata")) $root.proto.BotMetadata.encode(message.botMetadata, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); return writer; }; /** * Encodes the specified MessageContextInfo message, length delimited. Does not implicitly {@link proto.MessageContextInfo.verify|verify} messages. * @function encodeDelimited * @memberof proto.MessageContextInfo * @static * @param {proto.IMessageContextInfo} message MessageContextInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MessageContextInfo.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MessageContextInfo message from the specified reader or buffer. * @function decode * @memberof proto.MessageContextInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.MessageContextInfo} MessageContextInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MessageContextInfo.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.MessageContextInfo(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.deviceListMetadata = $root.proto.DeviceListMetadata.decode(reader, reader.uint32()); break; case 2: message.deviceListMetadataVersion = reader.int32(); break; case 3: message.messageSecret = reader.bytes(); break; case 4: message.paddingBytes = reader.bytes(); break; case 5: message.messageAddOnDurationInSecs = reader.uint32(); break; case 6: message.botMessageSecret = reader.bytes(); break; case 7: message.botMetadata = $root.proto.BotMetadata.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MessageContextInfo message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.MessageContextInfo * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.MessageContextInfo} MessageContextInfo * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MessageContextInfo.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MessageContextInfo message. * @function verify * @memberof proto.MessageContextInfo * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MessageContextInfo.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.deviceListMetadata != null && message.hasOwnProperty("deviceListMetadata")) { var error = $root.proto.DeviceListMetadata.verify(message.deviceListMetadata); if (error) return "deviceListMetadata." + error; } if (message.deviceListMetadataVersion != null && message.hasOwnProperty("deviceListMetadataVersion")) if (!$util.isInteger(message.deviceListMetadataVersion)) return "deviceListMetadataVersion: integer expected"; if (message.messageSecret != null && message.hasOwnProperty("messageSecret")) if (!(message.messageSecret && typeof message.messageSecret.length === "number" || $util.isString(message.messageSecret))) return "messageSecret: buffer expected"; if (message.paddingBytes != null && message.hasOwnProperty("paddingBytes")) if (!(message.paddingBytes && typeof message.paddingBytes.length === "number" || $util.isString(message.paddingBytes))) return "paddingBytes: buffer expected"; if (message.messageAddOnDurationInSecs != null && message.hasOwnProperty("messageAddOnDurationInSecs")) if (!$util.isInteger(message.messageAddOnDurationInSecs)) return "messageAddOnDurationInSecs: integer expected"; if (message.botMessageSecret != null && message.hasOwnProperty("botMessageSecret")) if (!(message.botMessageSecret && typeof message.botMessageSecret.length === "number" || $util.isString(message.botMessageSecret))) return "botMessageSecret: buffer expected"; if (message.botMetadata != null && message.hasOwnProperty("botMetadata")) { var error = $root.proto.BotMetadata.verify(message.botMetadata); if (error) return "botMetadata." + error; } return null; }; /** * Creates a MessageContextInfo message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.MessageContextInfo * @static * @param {Object.<string,*>} object Plain object * @returns {proto.MessageContextInfo} MessageContextInfo */ MessageContextInfo.fromObject = function fromObject(object) { if (object instanceof $root.proto.MessageContextInfo) return object; var message = new $root.proto.MessageContextInfo(); if (object.deviceListMetadata != null) { if (typeof object.deviceListMetadata !== "object") throw TypeError(".proto.MessageContextInfo.deviceListMetadata: object expected"); message.deviceListMetadata = $root.proto.DeviceListMetadata.fromObject(object.deviceListMetadata); } if (object.deviceListMetadataVersion != null) message.deviceListMetadataVersion = object.deviceListMetadataVersion | 0; if (object.messageSecret != null) if (typeof object.messageSecret === "string") $util.base64.decode(object.messageSecret, message.messageSecret = $util.newBuffer($util.base64.length(object.messageSecret)), 0); else if (object.messageSecret.length) message.messageSecret = object.messageSecret; if (object.paddingBytes != null) if (typeof object.paddingBytes === "string") $util.base64.decode(object.paddingBytes, message.paddingBytes = $util.newBuffer($util.base64.length(object.paddingBytes)), 0); else if (object.paddingBytes.length) message.paddingBytes = object.paddingBytes; if (object.messageAddOnDurationInSecs != null) message.messageAddOnDurationInSecs = object.messageAddOnDurationInSecs >>> 0; if (object.botMessageSecret != null) if (typeof object.botMessageSecret === "string") $util.base64.decode(object.botMessageSecret, message.botMessageSecret = $util.newBuffer($util.base64.length(object.botMessageSecret)), 0); else if (object.botMessageSecret.length) message.botMessageSecret = object.botMessageSecret; if (object.botMetadata != null) { if (typeof object.botMetadata !== "object") throw TypeError(".proto.MessageContextInfo.botMetadata: object expected"); message.botMetadata = $root.proto.BotMetadata.fromObject(object.botMetadata); } return message; }; /** * Creates a plain object from a MessageContextInfo message. Also converts values to other types if specified. * @function toObject * @memberof proto.MessageContextInfo * @static * @param {proto.MessageContextInfo} message MessageContextInfo * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MessageContextInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.deviceListMetadata = null; object.deviceListMetadataVersion = 0; if (options.bytes === String) object.messageSecret = ""; else { object.messageSecret = []; if (options.bytes !== Array) object.messageSecret = $util.newBuffer(object.messageSecret); } if (options.bytes === String) object.paddingBytes = ""; else { object.paddingBytes = []; if (options.bytes !== Array) object.paddingBytes = $util.newBuffer(object.paddingBytes); } object.messageAddOnDurationInSecs = 0; if (options.bytes === String) object.botMessageSecret = ""; else { object.botMessageSecret = []; if (options.bytes !== Array) object.botMessageSecret = $util.newBuffer(object.botMessageSecret); } object.botMetadata = null; } if (message.deviceListMetadata != null && message.hasOwnProperty("deviceListMetadata")) object.deviceListMetadata = $root.proto.DeviceListMetadata.toObject(message.deviceListMetadata, options); if (message.deviceListMetadataVersion != null && message.hasOwnProperty("deviceListMetadataVersion")) object.deviceListMetadataVersion = message.deviceListMetadataVersion; if (message.messageSecret != null && message.hasOwnProperty("messageSecret")) object.messageSecret = options.bytes === String ? $util.base64.encode(message.messageSecret, 0, message.messageSecret.length) : options.bytes === Array ? Array.prototype.slice.call(message.messageSecret) : message.messageSecret; if (message.paddingBytes != null && message.hasOwnProperty("paddingBytes")) object.paddingBytes = options.bytes === String ? $util.base64.encode(message.paddingBytes, 0, message.paddingBytes.length) : options.bytes === Array ? Array.prototype.slice.call(message.paddingBytes) : message.paddingBytes; if (message.messageAddOnDurationInSecs != null && message.hasOwnProperty("messageAddOnDurationInSecs")) object.messageAddOnDurationInSecs = message.messageAddOnDurationInSecs; if (message.botMessageSecret != null && message.hasOwnProperty("botMessageSecret")) object.botMessageSecret = options.bytes === String ? $util.base64.encode(message.botMessageSecret, 0, message.botMessageSecret.length) : options.bytes === Array ? Array.prototype.slice.call(message.botMessageSecret) : message.botMessageSecret; if (message.botMetadata != null && message.hasOwnProperty("botMetadata")) object.botMetadata = $root.proto.BotMetadata.toObject(message.botMetadata, options); return object; }; /** * Converts this MessageContextInfo to JSON. * @function toJSON * @memberof proto.MessageContextInfo * @instance * @returns {Object.<string,*>} JSON object */ MessageContextInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MessageContextInfo; })(); 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.<string,*>} 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.<string,*>} 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.<string,*>} 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.<string,*>} JSON object */ MessageKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MessageKey; })(); proto.MessageSecretMessage = (function() { /** * Properties of a MessageSecretMessage. * @memberof proto * @interface IMessageSecretMessage * @property {number|null} [version] MessageSecretMessage version * @property {Uint8Array|null} [encIv] MessageSecretMessage encIv * @property {Uint8Array|null} [encPayload] MessageSecretMessage encPayload */ /** * Constructs a new MessageSecretMessage. * @memberof proto * @classdesc Represents a MessageSecretMessage. * @implements IMessageSecretMessage * @constructor * @param {proto.IMessageSecretMessage=} [properties] Properties to set */ function MessageSecretMessage(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]]; } /** * MessageSecretMessage version. * @member {number} version * @memberof proto.MessageSecretMessage * @instance */ MessageSecretMessage.prototype.version = 0; /** * MessageSecretMessage encIv. * @member {Uint8Array} encIv * @memberof proto.MessageSecretMessage * @instance */ MessageSecretMessage.prototype.encIv = $util.newBuffer([]); /** * MessageSecretMessage encPayload. * @member {Uint8Array} encPayload * @memberof proto.MessageSecretMessage * @instance */ MessageSecretMessage.prototype.encPayload = $util.newBuffer([]); /** * Creates a new MessageSecretMessage instance using the specified properties. * @function create * @memberof proto.MessageSecretMessage * @static * @param {proto.IMessageSecretMessage=} [properties] Properties to set * @returns {proto.MessageSecretMessage} MessageSecretMessage instance */ MessageSecretMessage.create = function create(properties) { return new MessageSecretMessage(properties); }; /** * Encodes the specified MessageSecretMessage message. Does not implicitly {@link proto.MessageSecretMessage.verify|verify} messages. * @function encode * @memberof proto.MessageSecretMessage * @static * @param {proto.IMessageSecretMessage} message MessageSecretMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MessageSecretMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.version != null && Object.hasOwnProperty.call(message, "version")) writer.uint32(/* id 1, wireType 5 =*/13).sfixed32(message.version); if (message.encIv != null && Object.hasOwnProperty.call(message, "encIv")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.encIv); if (message.encPayload != null && Object.hasOwnProperty.call(message, "encPayload")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.encPayload); return writer; }; /** * Encodes the specified MessageSecretMessage message, length delimited. Does not implicitly {@link proto.MessageSecretMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.MessageSecretMessage * @static * @param {proto.IMessageSecretMessage} message MessageSecretMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MessageSecretMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MessageSecretMessage message from the specified reader or buffer. * @function decode * @memberof proto.MessageSecretMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.MessageSecretMessage} MessageSecretMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MessageSecretMessage.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.MessageSecretMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.version = reader.sfixed32(); break; case 2: message.encIv = reader.bytes(); break; case 3: message.encPayload = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MessageSecretMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.MessageSecretMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.MessageSecretMessage} MessageSecretMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MessageSecretMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MessageSecretMessage message. * @function verify * @memberof proto.MessageSecretMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MessageSecretMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isInteger(message.version)) return "version: integer expected"; if (message.encIv != null && message.hasOwnProperty("encIv")) if (!(message.encIv && typeof message.encIv.length === "number" || $util.isString(message.encIv))) return "encIv: buffer expected"; if (message.encPayload != null && message.hasOwnProperty("encPayload")) if (!(message.encPayload && typeof message.encPayload.length === "number" || $util.isString(message.encPayload))) return "encPayload: buffer expected"; return null; }; /** * Creates a MessageSecretMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.MessageSecretMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.MessageSecretMessage} MessageSecretMessage */ MessageSecretMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.MessageSecretMessage) return object; var message = new $root.proto.MessageSecretMessage(); if (object.version != null) message.version = object.version | 0; if (object.encIv != null) if (typeof object.encIv === "string") $util.base64.decode(object.encIv, message.encIv = $util.newBuffer($util.base64.length(object.encIv)), 0); else if (object.encIv.length) message.encIv = object.encIv; if (object.encPayload != null) if (typeof object.encPayload === "string") $util.base64.decode(object.encPayload, message.encPayload = $util.newBuffer($util.base64.length(object.encPayload)), 0); else if (object.encPayload.length) message.encPayload = object.encPayload; return message; }; /** * Creates a plain object from a MessageSecretMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.MessageSecretMessage * @static * @param {proto.MessageSecretMessage} message MessageSecretMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MessageSecretMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.version = 0; if (options.bytes === String) object.encIv = ""; else { object.encIv = []; if (options.bytes !== Array) object.encIv = $util.newBuffer(object.encIv); } if (options.bytes === String) object.encPayload = ""; else { object.encPayload = []; if (options.bytes !== Array) object.encPayload = $util.newBuffer(object.encPayload); } } if (message.version != null && message.hasOwnProperty("version")) object.version = message.version; if (message.encIv != null && message.hasOwnProperty("encIv")) object.encIv = options.bytes === String ? $util.base64.encode(message.encIv, 0, message.encIv.length) : options.bytes === Array ? Array.prototype.slice.call(message.encIv) : message.encIv; if (message.encPayload != null && message.hasOwnProperty("encPayload")) object.encPayload = options.bytes === String ? $util.base64.encode(message.encPayload, 0, message.encPayload.length) : options.bytes === Array ? Array.prototype.slice.call(message.encPayload) : message.encPayload; return object; }; /** * Converts this MessageSecretMessage to JSON. * @function toJSON * @memberof proto.MessageSecretMessage * @instance * @returns {Object.<string,*>} JSON object */ MessageSecretMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MessageSecretMessage; })(); proto.Money = (function() { /** * Properties of a Money. * @memberof proto * @interface IMoney * @property {number|Long|null} [value] Money value * @property {number|null} [offset] Money offset * @property {string|null} [currencyCode] Money currencyCode */ /** * Constructs a new Money. * @memberof proto * @classdesc Represents a Money. * @implements IMoney * @constructor * @param {proto.IMoney=} [properties] Properties to set */ function Money(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]]; } /** * Money value. * @member {number|Long} value * @memberof proto.Money * @instance */ Money.prototype.value = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Money offset. * @member {number} offset * @memberof proto.Money * @instance */ Money.prototype.offset = 0; /** * Money currencyCode. * @member {string} currencyCode * @memberof proto.Money * @instance */ Money.prototype.currencyCode = ""; /** * Creates a new Money instance using the specified properties. * @function create * @memberof proto.Money * @static * @param {proto.IMoney=} [properties] Properties to set * @returns {proto.Money} Money instance */ Money.create = function create(properties) { return new Money(properties); }; /** * Encodes the specified Money message. Does not implicitly {@link proto.Money.verify|verify} messages. * @function encode * @memberof proto.Money * @static * @param {proto.IMoney} message Money message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Money.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.value); if (message.offset != null && Object.hasOwnProperty.call(message, "offset")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.offset); if (message.currencyCode != null && Object.hasOwnProperty.call(message, "currencyCode")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.currencyCode); return writer; }; /** * Encodes the specified Money message, length delimited. Does not implicitly {@link proto.Money.verify|verify} messages. * @function encodeDelimited * @memberof proto.Money * @static * @param {proto.IMoney} message Money message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Money.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Money message from the specified reader or buffer. * @function decode * @memberof proto.Money * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Money} Money * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Money.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.Money(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.value = reader.int64(); break; case 2: message.offset = reader.uint32(); break; case 3: message.currencyCode = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Money message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Money * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Money} Money * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Money.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Money message. * @function verify * @memberof proto.Money * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Money.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.value != null && message.hasOwnProperty("value")) if (!$util.isInteger(message.value) && !(message.value && $util.isInteger(message.value.low) && $util.isInteger(message.value.high))) return "value: integer|Long expected"; if (message.offset != null && message.hasOwnProperty("offset")) if (!$util.isInteger(message.offset)) return "offset: integer expected"; if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) if (!$util.isString(message.currencyCode)) return "currencyCode: string expected"; return null; }; /** * Creates a Money message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Money * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Money} Money */ Money.fromObject = function fromObject(object) { if (object instanceof $root.proto.Money) return object; var message = new $root.proto.Money(); if (object.value != null) if ($util.Long) (message.value = $util.Long.fromValue(object.value)).unsigned = false; else if (typeof object.value === "string") message.value = parseInt(object.value, 10); else if (typeof object.value === "number") message.value = object.value; else if (typeof object.value === "object") message.value = new $util.LongBits(object.value.low >>> 0, object.value.high >>> 0).toNumber(); if (object.offset != null) message.offset = object.offset >>> 0; if (object.currencyCode != null) message.currencyCode = String(object.currencyCode); return message; }; /** * Creates a plain object from a Money message. Also converts values to other types if specified. * @function toObject * @memberof proto.Money * @static * @param {proto.Money} message Money * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Money.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.value = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.value = options.longs === String ? "0" : 0; object.offset = 0; object.currencyCode = ""; } if (message.value != null && message.hasOwnProperty("value")) if (typeof message.value === "number") object.value = options.longs === String ? String(message.value) : message.value; else object.value = options.longs === String ? $util.Long.prototype.toString.call(message.value) : options.longs === Number ? new $util.LongBits(message.value.low >>> 0, message.value.high >>> 0).toNumber() : message.value; if (message.offset != null && message.hasOwnProperty("offset")) object.offset = message.offset; if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) object.currencyCode = message.currencyCode; return object; }; /** * Converts this Money to JSON. * @function toJSON * @memberof proto.Money * @instance * @returns {Object.<string,*>} JSON object */ Money.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Money; })(); proto.MsgOpaqueData = (function() { /** * Properties of a MsgOpaqueData. * @memberof proto * @interface IMsgOpaqueData * @property {string|null} [body] MsgOpaqueData body * @property {string|null} [caption] MsgOpaqueData caption * @property {number|null} [lng] MsgOpaqueData lng * @property {boolean|null} [isLive] MsgOpaqueData isLive * @property {number|null} [lat] MsgOpaqueData lat * @property {number|null} [paymentAmount1000] MsgOpaqueData paymentAmount1000 * @property {string|null} [paymentNoteMsgBody] MsgOpaqueData paymentNoteMsgBody * @property {string|null} [canonicalUrl] MsgOpaqueData canonicalUrl * @property {string|null} [matchedText] MsgOpaqueData matchedText * @property {string|null} [title] MsgOpaqueData title * @property {string|null} [description] MsgOpaqueData description * @property {Uint8Array|null} [futureproofBuffer] MsgOpaqueData futureproofBuffer * @property {string|null} [clientUrl] MsgOpaqueData clientUrl * @property {string|null} [loc] MsgOpaqueData loc * @property {string|null} [pollName] MsgOpaqueData pollName * @property {Array.<proto.MsgOpaqueData.IPollOption>|null} [pollOptions] MsgOpaqueData pollOptions * @property {number|null} [pollSelectableOptionsCount] MsgOpaqueData pollSelectableOptionsCount * @property {Uint8Array|null} [messageSecret] MsgOpaqueData messageSecret * @property {string|null} [originalSelfAuthor] MsgOpaqueData originalSelfAuthor * @property {number|Long|null} [senderTimestampMs] MsgOpaqueData senderTimestampMs * @property {string|null} [pollUpdateParentKey] MsgOpaqueData pollUpdateParentKey * @property {proto.IPollEncValue|null} [encPollVote] MsgOpaqueData encPollVote * @property {boolean|null} [isSentCagPollCreation] MsgOpaqueData isSentCagPollCreation * @property {string|null} [encReactionTargetMessageKey] MsgOpaqueData encReactionTargetMessageKey * @property {Uint8Array|null} [encReactionEncPayload] MsgOpaqueData encReactionEncPayload * @property {Uint8Array|null} [encReactionEncIv] MsgOpaqueData encReactionEncIv * @property {Uint8Array|null} [botMessageSecret] MsgOpaqueData botMessageSecret */ /** * Constructs a new MsgOpaqueData. * @memberof proto * @classdesc Represents a MsgOpaqueData. * @implements IMsgOpaqueData * @constructor * @param {proto.IMsgOpaqueData=} [properties] Properties to set */ function MsgOpaqueData(properties) { this.pollOptions = []; 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]]; } /** * MsgOpaqueData body. * @member {string} body * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.body = ""; /** * MsgOpaqueData caption. * @member {string} caption * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.caption = ""; /** * MsgOpaqueData lng. * @member {number} lng * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.lng = 0; /** * MsgOpaqueData isLive. * @member {boolean} isLive * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.isLive = false; /** * MsgOpaqueData lat. * @member {number} lat * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.lat = 0; /** * MsgOpaqueData paymentAmount1000. * @member {number} paymentAmount1000 * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.paymentAmount1000 = 0; /** * MsgOpaqueData paymentNoteMsgBody. * @member {string} paymentNoteMsgBody * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.paymentNoteMsgBody = ""; /** * MsgOpaqueData canonicalUrl. * @member {string} canonicalUrl * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.canonicalUrl = ""; /** * MsgOpaqueData matchedText. * @member {string} matchedText * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.matchedText = ""; /** * MsgOpaqueData title. * @member {string} title * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.title = ""; /** * MsgOpaqueData description. * @member {string} description * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.description = ""; /** * MsgOpaqueData futureproofBuffer. * @member {Uint8Array} futureproofBuffer * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.futureproofBuffer = $util.newBuffer([]); /** * MsgOpaqueData clientUrl. * @member {string} clientUrl * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.clientUrl = ""; /** * MsgOpaqueData loc. * @member {string} loc * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.loc = ""; /** * MsgOpaqueData pollName. * @member {string} pollName * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.pollName = ""; /** * MsgOpaqueData pollOptions. * @member {Array.<proto.MsgOpaqueData.IPollOption>} pollOptions * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.pollOptions = $util.emptyArray; /** * MsgOpaqueData pollSelectableOptionsCount. * @member {number} pollSelectableOptionsCount * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.pollSelectableOptionsCount = 0; /** * MsgOpaqueData messageSecret. * @member {Uint8Array} messageSecret * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.messageSecret = $util.newBuffer([]); /** * MsgOpaqueData originalSelfAuthor. * @member {string} originalSelfAuthor * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.originalSelfAuthor = ""; /** * MsgOpaqueData senderTimestampMs. * @member {number|Long} senderTimestampMs * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.senderTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * MsgOpaqueData pollUpdateParentKey. * @member {string} pollUpdateParentKey * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.pollUpdateParentKey = ""; /** * MsgOpaqueData encPollVote. * @member {proto.IPollEncValue|null|undefined} encPollVote * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.encPollVote = null; /** * MsgOpaqueData isSentCagPollCreation. * @member {boolean} isSentCagPollCreation * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.isSentCagPollCreation = false; /** * MsgOpaqueData encReactionTargetMessageKey. * @member {string} encReactionTargetMessageKey * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.encReactionTargetMessageKey = ""; /** * MsgOpaqueData encReactionEncPayload. * @member {Uint8Array} encReactionEncPayload * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.encReactionEncPayload = $util.newBuffer([]); /** * MsgOpaqueData encReactionEncIv. * @member {Uint8Array} encReactionEncIv * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.encReactionEncIv = $util.newBuffer([]); /** * MsgOpaqueData botMessageSecret. * @member {Uint8Array} botMessageSecret * @memberof proto.MsgOpaqueData * @instance */ MsgOpaqueData.prototype.botMessageSecret = $util.newBuffer([]); /** * Creates a new MsgOpaqueData instance using the specified properties. * @function create * @memberof proto.MsgOpaqueData * @static * @param {proto.IMsgOpaqueData=} [properties] Properties to set * @returns {proto.MsgOpaqueData} MsgOpaqueData instance */ MsgOpaqueData.create = function create(properties) { return new MsgOpaqueData(properties); }; /** * Encodes the specified MsgOpaqueData message. Does not implicitly {@link proto.MsgOpaqueData.verify|verify} messages. * @function encode * @memberof proto.MsgOpaqueData * @static * @param {proto.IMsgOpaqueData} message MsgOpaqueData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MsgOpaqueData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.body != null && Object.hasOwnProperty.call(message, "body")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.body); if (message.caption != null && Object.hasOwnProperty.call(message, "caption")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.caption); if (message.lng != null && Object.hasOwnProperty.call(message, "lng")) writer.uint32(/* id 5, wireType 1 =*/41).double(message.lng); if (message.isLive != null && Object.hasOwnProperty.call(message, "isLive")) writer.uint32(/* id 6, wireType 0 =*/48).bool(message.isLive); if (message.lat != null && Object.hasOwnProperty.call(message, "lat")) writer.uint32(/* id 7, wireType 1 =*/57).double(message.lat); if (message.paymentAmount1000 != null && Object.hasOwnProperty.call(message, "paymentAmount1000")) writer.uint32(/* id 8, wireType 0 =*/64).int32(message.paymentAmount1000); if (message.paymentNoteMsgBody != null && Object.hasOwnProperty.call(message, "paymentNoteMsgBody")) writer.uint32(/* id 9, wireType 2 =*/74).string(message.paymentNoteMsgBody); if (message.canonicalUrl != null && Object.hasOwnProperty.call(message, "canonicalUrl")) writer.uint32(/* id 10, wireType 2 =*/82).string(message.canonicalUrl); if (message.matchedText != null && Object.hasOwnProperty.call(message, "matchedText")) writer.uint32(/* id 11, wireType 2 =*/90).string(message.matchedText); if (message.title != null && Object.hasOwnProperty.call(message, "title")) writer.uint32(/* id 12, wireType 2 =*/98).string(message.title); if (message.description != null && Object.hasOwnProperty.call(message, "description")) writer.uint32(/* id 13, wireType 2 =*/106).string(message.description); if (message.futureproofBuffer != null && Object.hasOwnProperty.call(message, "futureproofBuffer")) writer.uint32(/* id 14, wireType 2 =*/114).bytes(message.futureproofBuffer); if (message.clientUrl != null && Object.hasOwnProperty.call(message, "clientUrl")) writer.uint32(/* id 15, wireType 2 =*/122).string(message.clientUrl); if (message.loc != null && Object.hasOwnProperty.call(message, "loc")) writer.uint32(/* id 16, wireType 2 =*/130).string(message.loc); if (message.pollName != null && Object.hasOwnProperty.call(message, "pollName")) writer.uint32(/* id 17, wireType 2 =*/138).string(message.pollName); if (message.pollOptions != null && message.pollOptions.length) for (var i = 0; i < message.pollOptions.length; ++i) $root.proto.MsgOpaqueData.PollOption.encode(message.pollOptions[i], writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); if (message.pollSelectableOptionsCount != null && Object.hasOwnProperty.call(message, "pollSelectableOptionsCount")) writer.uint32(/* id 20, wireType 0 =*/160).uint32(message.pollSelectableOptionsCount); if (message.messageSecret != null && Object.hasOwnProperty.call(message, "messageSecret")) writer.uint32(/* id 21, wireType 2 =*/170).bytes(message.messageSecret); if (message.senderTimestampMs != null && Object.hasOwnProperty.call(message, "senderTimestampMs")) writer.uint32(/* id 22, wireType 0 =*/176).int64(message.senderTimestampMs); if (message.pollUpdateParentKey != null && Object.hasOwnProperty.call(message, "pollUpdateParentKey")) writer.uint32(/* id 23, wireType 2 =*/186).string(message.pollUpdateParentKey); if (message.encPollVote != null && Object.hasOwnProperty.call(message, "encPollVote")) $root.proto.PollEncValue.encode(message.encPollVote, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); if (message.encReactionTargetMessageKey != null && Object.hasOwnProperty.call(message, "encReactionTargetMessageKey")) writer.uint32(/* id 25, wireType 2 =*/202).string(message.encReactionTargetMessageKey); if (message.encReactionEncPayload != null && Object.hasOwnProperty.call(message, "encReactionEncPayload")) writer.uint32(/* id 26, wireType 2 =*/210).bytes(message.encReactionEncPayload); if (message.encReactionEncIv != null && Object.hasOwnProperty.call(message, "encReactionEncIv")) writer.uint32(/* id 27, wireType 2 =*/218).bytes(message.encReactionEncIv); if (message.isSentCagPollCreation != null && Object.hasOwnProperty.call(message, "isSentCagPollCreation")) writer.uint32(/* id 28, wireType 0 =*/224).bool(message.isSentCagPollCreation); if (message.botMessageSecret != null && Object.hasOwnProperty.call(message, "botMessageSecret")) writer.uint32(/* id 29, wireType 2 =*/234).bytes(message.botMessageSecret); if (message.originalSelfAuthor != null && Object.hasOwnProperty.call(message, "originalSelfAuthor")) writer.uint32(/* id 51, wireType 2 =*/410).string(message.originalSelfAuthor); return writer; }; /** * Encodes the specified MsgOpaqueData message, length delimited. Does not implicitly {@link proto.MsgOpaqueData.verify|verify} messages. * @function encodeDelimited * @memberof proto.MsgOpaqueData * @static * @param {proto.IMsgOpaqueData} message MsgOpaqueData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MsgOpaqueData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MsgOpaqueData message from the specified reader or buffer. * @function decode * @memberof proto.MsgOpaqueData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.MsgOpaqueData} MsgOpaqueData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MsgOpaqueData.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.MsgOpaqueData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.body = reader.string(); break; case 3: message.caption = reader.string(); break; case 5: message.lng = reader.double(); break; case 6: message.isLive = reader.bool(); break; case 7: message.lat = reader.double(); break; case 8: message.paymentAmount1000 = reader.int32(); break; case 9: message.paymentNoteMsgBody = reader.string(); break; case 10: message.canonicalUrl = reader.string(); break; case 11: message.matchedText = reader.string(); break; case 12: message.title = reader.string(); break; case 13: message.description = reader.string(); break; case 14: message.futureproofBuffer = reader.bytes(); break; case 15: message.clientUrl = reader.string(); break; case 16: message.loc = reader.string(); break; case 17: message.pollName = reader.string(); break; case 18: if (!(message.pollOptions && message.pollOptions.length)) message.pollOptions = []; message.pollOptions.push($root.proto.MsgOpaqueData.PollOption.decode(reader, reader.uint32())); break; case 20: message.pollSelectableOptionsCount = reader.uint32(); break; case 21: message.messageSecret = reader.bytes(); break; case 51: message.originalSelfAuthor = reader.string(); break; case 22: message.senderTimestampMs = reader.int64(); break; case 23: message.pollUpdateParentKey = reader.string(); break; case 24: message.encPollVote = $root.proto.PollEncValue.decode(reader, reader.uint32()); break; case 28: message.isSentCagPollCreation = reader.bool(); break; case 25: message.encReactionTargetMessageKey = reader.string(); break; case 26: message.encReactionEncPayload = reader.bytes(); break; case 27: message.encReactionEncIv = reader.bytes(); break; case 29: message.botMessageSecret = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MsgOpaqueData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.MsgOpaqueData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.MsgOpaqueData} MsgOpaqueData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MsgOpaqueData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MsgOpaqueData message. * @function verify * @memberof proto.MsgOpaqueData * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MsgOpaqueData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.body != null && message.hasOwnProperty("body")) if (!$util.isString(message.body)) return "body: string expected"; if (message.caption != null && message.hasOwnProperty("caption")) if (!$util.isString(message.caption)) return "caption: string expected"; if (message.lng != null && message.hasOwnProperty("lng")) if (typeof message.lng !== "number") return "lng: number expected"; if (message.isLive != null && message.hasOwnProperty("isLive")) if (typeof message.isLive !== "boolean") return "isLive: boolean expected"; if (message.lat != null && message.hasOwnProperty("lat")) if (typeof message.lat !== "number") return "lat: number expected"; if (message.paymentAmount1000 != null && message.hasOwnProperty("paymentAmount1000")) if (!$util.isInteger(message.paymentAmount1000)) return "paymentAmount1000: integer expected"; if (message.paymentNoteMsgBody != null && message.hasOwnProperty("paymentNoteMsgBody")) if (!$util.isString(message.paymentNoteMsgBody)) return "paymentNoteMsgBody: string expected"; if (message.canonicalUrl != null && message.hasOwnProperty("canonicalUrl")) if (!$util.isString(message.canonicalUrl)) return "canonicalUrl: string expected"; if (message.matchedText != null && message.hasOwnProperty("matchedText")) if (!$util.isString(message.matchedText)) return "matchedText: 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.futureproofBuffer != null && message.hasOwnProperty("futureproofBuffer")) if (!(message.futureproofBuffer && typeof message.futureproofBuffer.length === "number" || $util.isString(message.futureproofBuffer))) return "futureproofBuffer: buffer expected"; if (message.clientUrl != null && message.hasOwnProperty("clientUrl")) if (!$util.isString(message.clientUrl)) return "clientUrl: string expected"; if (message.loc != null && message.hasOwnProperty("loc")) if (!$util.isString(message.loc)) return "loc: string expected"; if (message.pollName != null && message.hasOwnProperty("pollName")) if (!$util.isString(message.pollName)) return "pollName: string expected"; if (message.pollOptions != null && message.hasOwnProperty("pollOptions")) { if (!Array.isArray(message.pollOptions)) return "pollOptions: array expected"; for (var i = 0; i < message.pollOptions.length; ++i) { var error = $root.proto.MsgOpaqueData.PollOption.verify(message.pollOptions[i]); if (error) return "pollOptions." + error; } } if (message.pollSelectableOptionsCount != null && message.hasOwnProperty("pollSelectableOptionsCount")) if (!$util.isInteger(message.pollSelectableOptionsCount)) return "pollSelectableOptionsCount: integer expected"; if (message.messageSecret != null && message.hasOwnProperty("messageSecret")) if (!(message.messageSecret && typeof message.messageSecret.length === "number" || $util.isString(message.messageSecret))) return "messageSecret: buffer expected"; if (message.originalSelfAuthor != null && message.hasOwnProperty("originalSelfAuthor")) if (!$util.isString(message.originalSelfAuthor)) return "originalSelfAuthor: string expected"; if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (!$util.isInteger(message.senderTimestampMs) && !(message.senderTimestampMs && $util.isInteger(message.senderTimestampMs.low) && $util.isInteger(message.senderTimestampMs.high))) return "senderTimestampMs: integer|Long expected"; if (message.pollUpdateParentKey != null && message.hasOwnProperty("pollUpdateParentKey")) if (!$util.isString(message.pollUpdateParentKey)) return "pollUpdateParentKey: string expected"; if (message.encPollVote != null && message.hasOwnProperty("encPollVote")) { var error = $root.proto.PollEncValue.verify(message.encPollVote); if (error) return "encPollVote." + error; } if (message.isSentCagPollCreation != null && message.hasOwnProperty("isSentCagPollCreation")) if (typeof message.isSentCagPollCreation !== "boolean") return "isSentCagPollCreation: boolean expected"; if (message.encReactionTargetMessageKey != null && message.hasOwnProperty("encReactionTargetMessageKey")) if (!$util.isString(message.encReactionTargetMessageKey)) return "encReactionTargetMessageKey: string expected"; if (message.encReactionEncPayload != null && message.hasOwnProperty("encReactionEncPayload")) if (!(message.encReactionEncPayload && typeof message.encReactionEncPayload.length === "number" || $util.isString(message.encReactionEncPayload))) return "encReactionEncPayload: buffer expected"; if (message.encReactionEncIv != null && message.hasOwnProperty("encReactionEncIv")) if (!(message.encReactionEncIv && typeof message.encReactionEncIv.length === "number" || $util.isString(message.encReactionEncIv))) return "encReactionEncIv: buffer expected"; if (message.botMessageSecret != null && message.hasOwnProperty("botMessageSecret")) if (!(message.botMessageSecret && typeof message.botMessageSecret.length === "number" || $util.isString(message.botMessageSecret))) return "botMessageSecret: buffer expected"; return null; }; /** * Creates a MsgOpaqueData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.MsgOpaqueData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.MsgOpaqueData} MsgOpaqueData */ MsgOpaqueData.fromObject = function fromObject(object) { if (object instanceof $root.proto.MsgOpaqueData) return object; var message = new $root.proto.MsgOpaqueData(); if (object.body != null) message.body = String(object.body); if (object.caption != null) message.caption = String(object.caption); if (object.lng != null) message.lng = Number(object.lng); if (object.isLive != null) message.isLive = Boolean(object.isLive); if (object.lat != null) message.lat = Number(object.lat); if (object.paymentAmount1000 != null) message.paymentAmount1000 = object.paymentAmount1000 | 0; if (object.paymentNoteMsgBody != null) message.paymentNoteMsgBody = String(object.paymentNoteMsgBody); if (object.canonicalUrl != null) message.canonicalUrl = String(object.canonicalUrl); if (object.matchedText != null) message.matchedText = String(object.matchedText); if (object.title != null) message.title = String(object.title); if (object.description != null) message.description = String(object.description); if (object.futureproofBuffer != null) if (typeof object.futureproofBuffer === "string") $util.base64.decode(object.futureproofBuffer, message.futureproofBuffer = $util.newBuffer($util.base64.length(object.futureproofBuffer)), 0); else if (object.futureproofBuffer.length) message.futureproofBuffer = object.futureproofBuffer; if (object.clientUrl != null) message.clientUrl = String(object.clientUrl); if (object.loc != null) message.loc = String(object.loc); if (object.pollName != null) message.pollName = String(object.pollName); if (object.pollOptions) { if (!Array.isArray(object.pollOptions)) throw TypeError(".proto.MsgOpaqueData.pollOptions: array expected"); message.pollOptions = []; for (var i = 0; i < object.pollOptions.length; ++i) { if (typeof object.pollOptions[i] !== "object") throw TypeError(".proto.MsgOpaqueData.pollOptions: object expected"); message.pollOptions[i] = $root.proto.MsgOpaqueData.PollOption.fromObject(object.pollOptions[i]); } } if (object.pollSelectableOptionsCount != null) message.pollSelectableOptionsCount = object.pollSelectableOptionsCount >>> 0; if (object.messageSecret != null) if (typeof object.messageSecret === "string") $util.base64.decode(object.messageSecret, message.messageSecret = $util.newBuffer($util.base64.length(object.messageSecret)), 0); else if (object.messageSecret.length) message.messageSecret = object.messageSecret; if (object.originalSelfAuthor != null) message.originalSelfAuthor = String(object.originalSelfAuthor); if (object.senderTimestampMs != null) if ($util.Long) (message.senderTimestampMs = $util.Long.fromValue(object.senderTimestampMs)).unsigned = false; else if (typeof object.senderTimestampMs === "string") message.senderTimestampMs = parseInt(object.senderTimestampMs, 10); else if (typeof object.senderTimestampMs === "number") message.senderTimestampMs = object.senderTimestampMs; else if (typeof object.senderTimestampMs === "object") message.senderTimestampMs = new $util.LongBits(object.senderTimestampMs.low >>> 0, object.senderTimestampMs.high >>> 0).toNumber(); if (object.pollUpdateParentKey != null) message.pollUpdateParentKey = String(object.pollUpdateParentKey); if (object.encPollVote != null) { if (typeof object.encPollVote !== "object") throw TypeError(".proto.MsgOpaqueData.encPollVote: object expected"); message.encPollVote = $root.proto.PollEncValue.fromObject(object.encPollVote); } if (object.isSentCagPollCreation != null) message.isSentCagPollCreation = Boolean(object.isSentCagPollCreation); if (object.encReactionTargetMessageKey != null) message.encReactionTargetMessageKey = String(object.encReactionTargetMessageKey); if (object.encReactionEncPayload != null) if (typeof object.encReactionEncPayload === "string") $util.base64.decode(object.encReactionEncPayload, message.encReactionEncPayload = $util.newBuffer($util.base64.length(object.encReactionEncPayload)), 0); else if (object.encReactionEncPayload.length) message.encReactionEncPayload = object.encReactionEncPayload; if (object.encReactionEncIv != null) if (typeof object.encReactionEncIv === "string") $util.base64.decode(object.encReactionEncIv, message.encReactionEncIv = $util.newBuffer($util.base64.length(object.encReactionEncIv)), 0); else if (object.encReactionEncIv.length) message.encReactionEncIv = object.encReactionEncIv; if (object.botMessageSecret != null) if (typeof object.botMessageSecret === "string") $util.base64.decode(object.botMessageSecret, message.botMessageSecret = $util.newBuffer($util.base64.length(object.botMessageSecret)), 0); else if (object.botMessageSecret.length) message.botMessageSecret = object.botMessageSecret; return message; }; /** * Creates a plain object from a MsgOpaqueData message. Also converts values to other types if specified. * @function toObject * @memberof proto.MsgOpaqueData * @static * @param {proto.MsgOpaqueData} message MsgOpaqueData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MsgOpaqueData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.pollOptions = []; if (options.defaults) { object.body = ""; object.caption = ""; object.lng = 0; object.isLive = false; object.lat = 0; object.paymentAmount1000 = 0; object.paymentNoteMsgBody = ""; object.canonicalUrl = ""; object.matchedText = ""; object.title = ""; object.description = ""; if (options.bytes === String) object.futureproofBuffer = ""; else { object.futureproofBuffer = []; if (options.bytes !== Array) object.futureproofBuffer = $util.newBuffer(object.futureproofBuffer); } object.clientUrl = ""; object.loc = ""; object.pollName = ""; object.pollSelectableOptionsCount = 0; if (options.bytes === String) object.messageSecret = ""; else { object.messageSecret = []; if (options.bytes !== Array) object.messageSecret = $util.newBuffer(object.messageSecret); } if ($util.Long) { var long = new $util.Long(0, 0, false); object.senderTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.senderTimestampMs = options.longs === String ? "0" : 0; object.pollUpdateParentKey = ""; object.encPollVote = null; object.encReactionTargetMessageKey = ""; if (options.bytes === String) object.encReactionEncPayload = ""; else { object.encReactionEncPayload = []; if (options.bytes !== Array) object.encReactionEncPayload = $util.newBuffer(object.encReactionEncPayload); } if (options.bytes === String) object.encReactionEncIv = ""; else { object.encReactionEncIv = []; if (options.bytes !== Array) object.encReactionEncIv = $util.newBuffer(object.encReactionEncIv); } object.isSentCagPollCreation = false; if (options.bytes === String) object.botMessageSecret = ""; else { object.botMessageSecret = []; if (options.bytes !== Array) object.botMessageSecret = $util.newBuffer(object.botMessageSecret); } object.originalSelfAuthor = ""; } if (message.body != null && message.hasOwnProperty("body")) object.body = message.body; if (message.caption != null && message.hasOwnProperty("caption")) object.caption = message.caption; if (message.lng != null && message.hasOwnProperty("lng")) object.lng = options.json && !isFinite(message.lng) ? String(message.lng) : message.lng; if (message.isLive != null && message.hasOwnProperty("isLive")) object.isLive = message.isLive; if (message.lat != null && message.hasOwnProperty("lat")) object.lat = options.json && !isFinite(message.lat) ? String(message.lat) : message.lat; if (message.paymentAmount1000 != null && message.hasOwnProperty("paymentAmount1000")) object.paymentAmount1000 = message.paymentAmount1000; if (message.paymentNoteMsgBody != null && message.hasOwnProperty("paymentNoteMsgBody")) object.paymentNoteMsgBody = message.paymentNoteMsgBody; if (message.canonicalUrl != null && message.hasOwnProperty("canonicalUrl")) object.canonicalUrl = message.canonicalUrl; if (message.matchedText != null && message.hasOwnProperty("matchedText")) object.matchedText = message.matchedText; if (message.title != null && message.hasOwnProperty("title")) object.title = message.title; if (message.description != null && message.hasOwnProperty("description")) object.description = message.description; if (message.futureproofBuffer != null && message.hasOwnProperty("futureproofBuffer")) object.futureproofBuffer = options.bytes === String ? $util.base64.encode(message.futureproofBuffer, 0, message.futureproofBuffer.length) : options.bytes === Array ? Array.prototype.slice.call(message.futureproofBuffer) : message.futureproofBuffer; if (message.clientUrl != null && message.hasOwnProperty("clientUrl")) object.clientUrl = message.clientUrl; if (message.loc != null && message.hasOwnProperty("loc")) object.loc = message.loc; if (message.pollName != null && message.hasOwnProperty("pollName")) object.pollName = message.pollName; if (message.pollOptions && message.pollOptions.length) { object.pollOptions = []; for (var j = 0; j < message.pollOptions.length; ++j) object.pollOptions[j] = $root.proto.MsgOpaqueData.PollOption.toObject(message.pollOptions[j], options); } if (message.pollSelectableOptionsCount != null && message.hasOwnProperty("pollSelectableOptionsCount")) object.pollSelectableOptionsCount = message.pollSelectableOptionsCount; if (message.messageSecret != null && message.hasOwnProperty("messageSecret")) object.messageSecret = options.bytes === String ? $util.base64.encode(message.messageSecret, 0, message.messageSecret.length) : options.bytes === Array ? Array.prototype.slice.call(message.messageSecret) : message.messageSecret; if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (typeof message.senderTimestampMs === "number") object.senderTimestampMs = options.longs === String ? String(message.senderTimestampMs) : message.senderTimestampMs; else object.senderTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.senderTimestampMs) : options.longs === Number ? new $util.LongBits(message.senderTimestampMs.low >>> 0, message.senderTimestampMs.high >>> 0).toNumber() : message.senderTimestampMs; if (message.pollUpdateParentKey != null && message.hasOwnProperty("pollUpdateParentKey")) object.pollUpdateParentKey = message.pollUpdateParentKey; if (message.encPollVote != null && message.hasOwnProperty("encPollVote")) object.encPollVote = $root.proto.PollEncValue.toObject(message.encPollVote, options); if (message.encReactionTargetMessageKey != null && message.hasOwnProperty("encReactionTargetMessageKey")) object.encReactionTargetMessageKey = message.encReactionTargetMessageKey; if (message.encReactionEncPayload != null && message.hasOwnProperty("encReactionEncPayload")) object.encReactionEncPayload = options.bytes === String ? $util.base64.encode(message.encReactionEncPayload, 0, message.encReactionEncPayload.length) : options.bytes === Array ? Array.prototype.slice.call(message.encReactionEncPayload) : message.encReactionEncPayload; if (message.encReactionEncIv != null && message.hasOwnProperty("encReactionEncIv")) object.encReactionEncIv = options.bytes === String ? $util.base64.encode(message.encReactionEncIv, 0, message.encReactionEncIv.length) : options.bytes === Array ? Array.prototype.slice.call(message.encReactionEncIv) : message.encReactionEncIv; if (message.isSentCagPollCreation != null && message.hasOwnProperty("isSentCagPollCreation")) object.isSentCagPollCreation = message.isSentCagPollCreation; if (message.botMessageSecret != null && message.hasOwnProperty("botMessageSecret")) object.botMessageSecret = options.bytes === String ? $util.base64.encode(message.botMessageSecret, 0, message.botMessageSecret.length) : options.bytes === Array ? Array.prototype.slice.call(message.botMessageSecret) : message.botMessageSecret; if (message.originalSelfAuthor != null && message.hasOwnProperty("originalSelfAuthor")) object.originalSelfAuthor = message.originalSelfAuthor; return object; }; /** * Converts this MsgOpaqueData to JSON. * @function toJSON * @memberof proto.MsgOpaqueData * @instance * @returns {Object.<string,*>} JSON object */ MsgOpaqueData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; MsgOpaqueData.PollOption = (function() { /** * Properties of a PollOption. * @memberof proto.MsgOpaqueData * @interface IPollOption * @property {string|null} [name] PollOption name */ /** * Constructs a new PollOption. * @memberof proto.MsgOpaqueData * @classdesc Represents a PollOption. * @implements IPollOption * @constructor * @param {proto.MsgOpaqueData.IPollOption=} [properties] Properties to set */ function PollOption(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]]; } /** * PollOption name. * @member {string} name * @memberof proto.MsgOpaqueData.PollOption * @instance */ PollOption.prototype.name = ""; /** * Creates a new PollOption instance using the specified properties. * @function create * @memberof proto.MsgOpaqueData.PollOption * @static * @param {proto.MsgOpaqueData.IPollOption=} [properties] Properties to set * @returns {proto.MsgOpaqueData.PollOption} PollOption instance */ PollOption.create = function create(properties) { return new PollOption(properties); }; /** * Encodes the specified PollOption message. Does not implicitly {@link proto.MsgOpaqueData.PollOption.verify|verify} messages. * @function encode * @memberof proto.MsgOpaqueData.PollOption * @static * @param {proto.MsgOpaqueData.IPollOption} message PollOption message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollOption.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; /** * Encodes the specified PollOption message, length delimited. Does not implicitly {@link proto.MsgOpaqueData.PollOption.verify|verify} messages. * @function encodeDelimited * @memberof proto.MsgOpaqueData.PollOption * @static * @param {proto.MsgOpaqueData.IPollOption} message PollOption message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollOption.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PollOption message from the specified reader or buffer. * @function decode * @memberof proto.MsgOpaqueData.PollOption * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.MsgOpaqueData.PollOption} PollOption * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollOption.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.MsgOpaqueData.PollOption(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PollOption message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.MsgOpaqueData.PollOption * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.MsgOpaqueData.PollOption} PollOption * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollOption.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PollOption message. * @function verify * @memberof proto.MsgOpaqueData.PollOption * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PollOption.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; return null; }; /** * Creates a PollOption message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.MsgOpaqueData.PollOption * @static * @param {Object.<string,*>} object Plain object * @returns {proto.MsgOpaqueData.PollOption} PollOption */ PollOption.fromObject = function fromObject(object) { if (object instanceof $root.proto.MsgOpaqueData.PollOption) return object; var message = new $root.proto.MsgOpaqueData.PollOption(); if (object.name != null) message.name = String(object.name); return message; }; /** * Creates a plain object from a PollOption message. Also converts values to other types if specified. * @function toObject * @memberof proto.MsgOpaqueData.PollOption * @static * @param {proto.MsgOpaqueData.PollOption} message PollOption * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PollOption.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.name = ""; if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; return object; }; /** * Converts this PollOption to JSON. * @function toJSON * @memberof proto.MsgOpaqueData.PollOption * @instance * @returns {Object.<string,*>} JSON object */ PollOption.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PollOption; })(); return MsgOpaqueData; })(); proto.MsgRowOpaqueData = (function() { /** * Properties of a MsgRowOpaqueData. * @memberof proto * @interface IMsgRowOpaqueData * @property {proto.IMsgOpaqueData|null} [currentMsg] MsgRowOpaqueData currentMsg * @property {proto.IMsgOpaqueData|null} [quotedMsg] MsgRowOpaqueData quotedMsg */ /** * Constructs a new MsgRowOpaqueData. * @memberof proto * @classdesc Represents a MsgRowOpaqueData. * @implements IMsgRowOpaqueData * @constructor * @param {proto.IMsgRowOpaqueData=} [properties] Properties to set */ function MsgRowOpaqueData(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]]; } /** * MsgRowOpaqueData currentMsg. * @member {proto.IMsgOpaqueData|null|undefined} currentMsg * @memberof proto.MsgRowOpaqueData * @instance */ MsgRowOpaqueData.prototype.currentMsg = null; /** * MsgRowOpaqueData quotedMsg. * @member {proto.IMsgOpaqueData|null|undefined} quotedMsg * @memberof proto.MsgRowOpaqueData * @instance */ MsgRowOpaqueData.prototype.quotedMsg = null; /** * Creates a new MsgRowOpaqueData instance using the specified properties. * @function create * @memberof proto.MsgRowOpaqueData * @static * @param {proto.IMsgRowOpaqueData=} [properties] Properties to set * @returns {proto.MsgRowOpaqueData} MsgRowOpaqueData instance */ MsgRowOpaqueData.create = function create(properties) { return new MsgRowOpaqueData(properties); }; /** * Encodes the specified MsgRowOpaqueData message. Does not implicitly {@link proto.MsgRowOpaqueData.verify|verify} messages. * @function encode * @memberof proto.MsgRowOpaqueData * @static * @param {proto.IMsgRowOpaqueData} message MsgRowOpaqueData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MsgRowOpaqueData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.currentMsg != null && Object.hasOwnProperty.call(message, "currentMsg")) $root.proto.MsgOpaqueData.encode(message.currentMsg, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.quotedMsg != null && Object.hasOwnProperty.call(message, "quotedMsg")) $root.proto.MsgOpaqueData.encode(message.quotedMsg, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified MsgRowOpaqueData message, length delimited. Does not implicitly {@link proto.MsgRowOpaqueData.verify|verify} messages. * @function encodeDelimited * @memberof proto.MsgRowOpaqueData * @static * @param {proto.IMsgRowOpaqueData} message MsgRowOpaqueData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MsgRowOpaqueData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MsgRowOpaqueData message from the specified reader or buffer. * @function decode * @memberof proto.MsgRowOpaqueData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.MsgRowOpaqueData} MsgRowOpaqueData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MsgRowOpaqueData.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.MsgRowOpaqueData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.currentMsg = $root.proto.MsgOpaqueData.decode(reader, reader.uint32()); break; case 2: message.quotedMsg = $root.proto.MsgOpaqueData.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MsgRowOpaqueData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.MsgRowOpaqueData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.MsgRowOpaqueData} MsgRowOpaqueData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MsgRowOpaqueData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MsgRowOpaqueData message. * @function verify * @memberof proto.MsgRowOpaqueData * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MsgRowOpaqueData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.currentMsg != null && message.hasOwnProperty("currentMsg")) { var error = $root.proto.MsgOpaqueData.verify(message.currentMsg); if (error) return "currentMsg." + error; } if (message.quotedMsg != null && message.hasOwnProperty("quotedMsg")) { var error = $root.proto.MsgOpaqueData.verify(message.quotedMsg); if (error) return "quotedMsg." + error; } return null; }; /** * Creates a MsgRowOpaqueData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.MsgRowOpaqueData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.MsgRowOpaqueData} MsgRowOpaqueData */ MsgRowOpaqueData.fromObject = function fromObject(object) { if (object instanceof $root.proto.MsgRowOpaqueData) return object; var message = new $root.proto.MsgRowOpaqueData(); if (object.currentMsg != null) { if (typeof object.currentMsg !== "object") throw TypeError(".proto.MsgRowOpaqueData.currentMsg: object expected"); message.currentMsg = $root.proto.MsgOpaqueData.fromObject(object.currentMsg); } if (object.quotedMsg != null) { if (typeof object.quotedMsg !== "object") throw TypeError(".proto.MsgRowOpaqueData.quotedMsg: object expected"); message.quotedMsg = $root.proto.MsgOpaqueData.fromObject(object.quotedMsg); } return message; }; /** * Creates a plain object from a MsgRowOpaqueData message. Also converts values to other types if specified. * @function toObject * @memberof proto.MsgRowOpaqueData * @static * @param {proto.MsgRowOpaqueData} message MsgRowOpaqueData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MsgRowOpaqueData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.currentMsg = null; object.quotedMsg = null; } if (message.currentMsg != null && message.hasOwnProperty("currentMsg")) object.currentMsg = $root.proto.MsgOpaqueData.toObject(message.currentMsg, options); if (message.quotedMsg != null && message.hasOwnProperty("quotedMsg")) object.quotedMsg = $root.proto.MsgOpaqueData.toObject(message.quotedMsg, options); return object; }; /** * Converts this MsgRowOpaqueData to JSON. * @function toJSON * @memberof proto.MsgRowOpaqueData * @instance * @returns {Object.<string,*>} JSON object */ MsgRowOpaqueData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MsgRowOpaqueData; })(); proto.NoiseCertificate = (function() { /** * Properties of a NoiseCertificate. * @memberof proto * @interface INoiseCertificate * @property {Uint8Array|null} [details] NoiseCertificate details * @property {Uint8Array|null} [signature] NoiseCertificate signature */ /** * Constructs a new NoiseCertificate. * @memberof proto * @classdesc Represents a NoiseCertificate. * @implements INoiseCertificate * @constructor * @param {proto.INoiseCertificate=} [properties] Properties to set */ function NoiseCertificate(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]]; } /** * NoiseCertificate details. * @member {Uint8Array} details * @memberof proto.NoiseCertificate * @instance */ NoiseCertificate.prototype.details = $util.newBuffer([]); /** * NoiseCertificate signature. * @member {Uint8Array} signature * @memberof proto.NoiseCertificate * @instance */ NoiseCertificate.prototype.signature = $util.newBuffer([]); /** * Creates a new NoiseCertificate instance using the specified properties. * @function create * @memberof proto.NoiseCertificate * @static * @param {proto.INoiseCertificate=} [properties] Properties to set * @returns {proto.NoiseCertificate} NoiseCertificate instance */ NoiseCertificate.create = function create(properties) { return new NoiseCertificate(properties); }; /** * Encodes the specified NoiseCertificate message. Does not implicitly {@link proto.NoiseCertificate.verify|verify} messages. * @function encode * @memberof proto.NoiseCertificate * @static * @param {proto.INoiseCertificate} message NoiseCertificate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NoiseCertificate.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.details != null && Object.hasOwnProperty.call(message, "details")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.details); if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.signature); return writer; }; /** * Encodes the specified NoiseCertificate message, length delimited. Does not implicitly {@link proto.NoiseCertificate.verify|verify} messages. * @function encodeDelimited * @memberof proto.NoiseCertificate * @static * @param {proto.INoiseCertificate} message NoiseCertificate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NoiseCertificate.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a NoiseCertificate message from the specified reader or buffer. * @function decode * @memberof proto.NoiseCertificate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.NoiseCertificate} NoiseCertificate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NoiseCertificate.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.NoiseCertificate(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.details = reader.bytes(); break; case 2: message.signature = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a NoiseCertificate message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.NoiseCertificate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.NoiseCertificate} NoiseCertificate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NoiseCertificate.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a NoiseCertificate message. * @function verify * @memberof proto.NoiseCertificate * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ NoiseCertificate.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.details != null && message.hasOwnProperty("details")) if (!(message.details && typeof message.details.length === "number" || $util.isString(message.details))) return "details: buffer expected"; if (message.signature != null && message.hasOwnProperty("signature")) if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) return "signature: buffer expected"; return null; }; /** * Creates a NoiseCertificate message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.NoiseCertificate * @static * @param {Object.<string,*>} object Plain object * @returns {proto.NoiseCertificate} NoiseCertificate */ NoiseCertificate.fromObject = function fromObject(object) { if (object instanceof $root.proto.NoiseCertificate) return object; var message = new $root.proto.NoiseCertificate(); if (object.details != null) if (typeof object.details === "string") $util.base64.decode(object.details, message.details = $util.newBuffer($util.base64.length(object.details)), 0); else if (object.details.length) message.details = object.details; if (object.signature != null) if (typeof object.signature === "string") $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); else if (object.signature.length) message.signature = object.signature; return message; }; /** * Creates a plain object from a NoiseCertificate message. Also converts values to other types if specified. * @function toObject * @memberof proto.NoiseCertificate * @static * @param {proto.NoiseCertificate} message NoiseCertificate * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ NoiseCertificate.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.details = ""; else { object.details = []; if (options.bytes !== Array) object.details = $util.newBuffer(object.details); } if (options.bytes === String) object.signature = ""; else { object.signature = []; if (options.bytes !== Array) object.signature = $util.newBuffer(object.signature); } } if (message.details != null && message.hasOwnProperty("details")) object.details = options.bytes === String ? $util.base64.encode(message.details, 0, message.details.length) : options.bytes === Array ? Array.prototype.slice.call(message.details) : message.details; if (message.signature != null && message.hasOwnProperty("signature")) object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; return object; }; /** * Converts this NoiseCertificate to JSON. * @function toJSON * @memberof proto.NoiseCertificate * @instance * @returns {Object.<string,*>} JSON object */ NoiseCertificate.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; NoiseCertificate.Details = (function() { /** * Properties of a Details. * @memberof proto.NoiseCertificate * @interface IDetails * @property {number|null} [serial] Details serial * @property {string|null} [issuer] Details issuer * @property {number|Long|null} [expires] Details expires * @property {string|null} [subject] Details subject * @property {Uint8Array|null} [key] Details key */ /** * Constructs a new Details. * @memberof proto.NoiseCertificate * @classdesc Represents a Details. * @implements IDetails * @constructor * @param {proto.NoiseCertificate.IDetails=} [properties] Properties to set */ function Details(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]]; } /** * Details serial. * @member {number} serial * @memberof proto.NoiseCertificate.Details * @instance */ Details.prototype.serial = 0; /** * Details issuer. * @member {string} issuer * @memberof proto.NoiseCertificate.Details * @instance */ Details.prototype.issuer = ""; /** * Details expires. * @member {number|Long} expires * @memberof proto.NoiseCertificate.Details * @instance */ Details.prototype.expires = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Details subject. * @member {string} subject * @memberof proto.NoiseCertificate.Details * @instance */ Details.prototype.subject = ""; /** * Details key. * @member {Uint8Array} key * @memberof proto.NoiseCertificate.Details * @instance */ Details.prototype.key = $util.newBuffer([]); /** * Creates a new Details instance using the specified properties. * @function create * @memberof proto.NoiseCertificate.Details * @static * @param {proto.NoiseCertificate.IDetails=} [properties] Properties to set * @returns {proto.NoiseCertificate.Details} Details instance */ Details.create = function create(properties) { return new Details(properties); }; /** * Encodes the specified Details message. Does not implicitly {@link proto.NoiseCertificate.Details.verify|verify} messages. * @function encode * @memberof proto.NoiseCertificate.Details * @static * @param {proto.NoiseCertificate.IDetails} message Details message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Details.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.serial != null && Object.hasOwnProperty.call(message, "serial")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.serial); if (message.issuer != null && Object.hasOwnProperty.call(message, "issuer")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.issuer); if (message.expires != null && Object.hasOwnProperty.call(message, "expires")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.expires); if (message.subject != null && Object.hasOwnProperty.call(message, "subject")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.subject); if (message.key != null && Object.hasOwnProperty.call(message, "key")) writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.key); return writer; }; /** * Encodes the specified Details message, length delimited. Does not implicitly {@link proto.NoiseCertificate.Details.verify|verify} messages. * @function encodeDelimited * @memberof proto.NoiseCertificate.Details * @static * @param {proto.NoiseCertificate.IDetails} message Details message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Details.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Details message from the specified reader or buffer. * @function decode * @memberof proto.NoiseCertificate.Details * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.NoiseCertificate.Details} Details * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Details.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.NoiseCertificate.Details(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.serial = reader.uint32(); break; case 2: message.issuer = reader.string(); break; case 3: message.expires = reader.uint64(); break; case 4: message.subject = reader.string(); break; case 5: message.key = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Details message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.NoiseCertificate.Details * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.NoiseCertificate.Details} Details * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Details.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Details message. * @function verify * @memberof proto.NoiseCertificate.Details * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Details.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.serial != null && message.hasOwnProperty("serial")) if (!$util.isInteger(message.serial)) return "serial: integer expected"; if (message.issuer != null && message.hasOwnProperty("issuer")) if (!$util.isString(message.issuer)) return "issuer: string expected"; if (message.expires != null && message.hasOwnProperty("expires")) if (!$util.isInteger(message.expires) && !(message.expires && $util.isInteger(message.expires.low) && $util.isInteger(message.expires.high))) return "expires: integer|Long expected"; if (message.subject != null && message.hasOwnProperty("subject")) if (!$util.isString(message.subject)) return "subject: string expected"; if (message.key != null && message.hasOwnProperty("key")) if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) return "key: buffer expected"; return null; }; /** * Creates a Details message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.NoiseCertificate.Details * @static * @param {Object.<string,*>} object Plain object * @returns {proto.NoiseCertificate.Details} Details */ Details.fromObject = function fromObject(object) { if (object instanceof $root.proto.NoiseCertificate.Details) return object; var message = new $root.proto.NoiseCertificate.Details(); if (object.serial != null) message.serial = object.serial >>> 0; if (object.issuer != null) message.issuer = String(object.issuer); if (object.expires != null) if ($util.Long) (message.expires = $util.Long.fromValue(object.expires)).unsigned = true; else if (typeof object.expires === "string") message.expires = parseInt(object.expires, 10); else if (typeof object.expires === "number") message.expires = object.expires; else if (typeof object.expires === "object") message.expires = new $util.LongBits(object.expires.low >>> 0, object.expires.high >>> 0).toNumber(true); if (object.subject != null) message.subject = String(object.subject); if (object.key != null) if (typeof object.key === "string") $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); else if (object.key.length) message.key = object.key; return message; }; /** * Creates a plain object from a Details message. Also converts values to other types if specified. * @function toObject * @memberof proto.NoiseCertificate.Details * @static * @param {proto.NoiseCertificate.Details} message Details * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Details.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.serial = 0; object.issuer = ""; if ($util.Long) { var long = new $util.Long(0, 0, true); object.expires = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.expires = options.longs === String ? "0" : 0; object.subject = ""; if (options.bytes === String) object.key = ""; else { object.key = []; if (options.bytes !== Array) object.key = $util.newBuffer(object.key); } } if (message.serial != null && message.hasOwnProperty("serial")) object.serial = message.serial; if (message.issuer != null && message.hasOwnProperty("issuer")) object.issuer = message.issuer; if (message.expires != null && message.hasOwnProperty("expires")) if (typeof message.expires === "number") object.expires = options.longs === String ? String(message.expires) : message.expires; else object.expires = options.longs === String ? $util.Long.prototype.toString.call(message.expires) : options.longs === Number ? new $util.LongBits(message.expires.low >>> 0, message.expires.high >>> 0).toNumber(true) : message.expires; if (message.subject != null && message.hasOwnProperty("subject")) object.subject = message.subject; if (message.key != null && message.hasOwnProperty("key")) object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; return object; }; /** * Converts this Details to JSON. * @function toJSON * @memberof proto.NoiseCertificate.Details * @instance * @returns {Object.<string,*>} JSON object */ Details.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Details; })(); return NoiseCertificate; })(); 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.<string,*>} 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.<string,*>} 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.<string,*>} 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.<string,*>} JSON object */ NotificationMessageInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return NotificationMessageInfo; })(); proto.NotificationSettings = (function() { /** * Properties of a NotificationSettings. * @memberof proto * @interface INotificationSettings * @property {string|null} [messageVibrate] NotificationSettings messageVibrate * @property {string|null} [messagePopup] NotificationSettings messagePopup * @property {string|null} [messageLight] NotificationSettings messageLight * @property {boolean|null} [lowPriorityNotifications] NotificationSettings lowPriorityNotifications * @property {boolean|null} [reactionsMuted] NotificationSettings reactionsMuted * @property {string|null} [callVibrate] NotificationSettings callVibrate */ /** * Constructs a new NotificationSettings. * @memberof proto * @classdesc Represents a NotificationSettings. * @implements INotificationSettings * @constructor * @param {proto.INotificationSettings=} [properties] Properties to set */ function NotificationSettings(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]]; } /** * NotificationSettings messageVibrate. * @member {string} messageVibrate * @memberof proto.NotificationSettings * @instance */ NotificationSettings.prototype.messageVibrate = ""; /** * NotificationSettings messagePopup. * @member {string} messagePopup * @memberof proto.NotificationSettings * @instance */ NotificationSettings.prototype.messagePopup = ""; /** * NotificationSettings messageLight. * @member {string} messageLight * @memberof proto.NotificationSettings * @instance */ NotificationSettings.prototype.messageLight = ""; /** * NotificationSettings lowPriorityNotifications. * @member {boolean} lowPriorityNotifications * @memberof proto.NotificationSettings * @instance */ NotificationSettings.prototype.lowPriorityNotifications = false; /** * NotificationSettings reactionsMuted. * @member {boolean} reactionsMuted * @memberof proto.NotificationSettings * @instance */ NotificationSettings.prototype.reactionsMuted = false; /** * NotificationSettings callVibrate. * @member {string} callVibrate * @memberof proto.NotificationSettings * @instance */ NotificationSettings.prototype.callVibrate = ""; /** * Creates a new NotificationSettings instance using the specified properties. * @function create * @memberof proto.NotificationSettings * @static * @param {proto.INotificationSettings=} [properties] Properties to set * @returns {proto.NotificationSettings} NotificationSettings instance */ NotificationSettings.create = function create(properties) { return new NotificationSettings(properties); }; /** * Encodes the specified NotificationSettings message. Does not implicitly {@link proto.NotificationSettings.verify|verify} messages. * @function encode * @memberof proto.NotificationSettings * @static * @param {proto.INotificationSettings} message NotificationSettings message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NotificationSettings.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.messageVibrate != null && Object.hasOwnProperty.call(message, "messageVibrate")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.messageVibrate); if (message.messagePopup != null && Object.hasOwnProperty.call(message, "messagePopup")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.messagePopup); if (message.messageLight != null && Object.hasOwnProperty.call(message, "messageLight")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.messageLight); if (message.lowPriorityNotifications != null && Object.hasOwnProperty.call(message, "lowPriorityNotifications")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.lowPriorityNotifications); if (message.reactionsMuted != null && Object.hasOwnProperty.call(message, "reactionsMuted")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.reactionsMuted); if (message.callVibrate != null && Object.hasOwnProperty.call(message, "callVibrate")) writer.uint32(/* id 6, wireType 2 =*/50).string(message.callVibrate); return writer; }; /** * Encodes the specified NotificationSettings message, length delimited. Does not implicitly {@link proto.NotificationSettings.verify|verify} messages. * @function encodeDelimited * @memberof proto.NotificationSettings * @static * @param {proto.INotificationSettings} message NotificationSettings message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NotificationSettings.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a NotificationSettings message from the specified reader or buffer. * @function decode * @memberof proto.NotificationSettings * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.NotificationSettings} NotificationSettings * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NotificationSettings.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.NotificationSettings(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.messageVibrate = reader.string(); break; case 2: message.messagePopup = reader.string(); break; case 3: message.messageLight = reader.string(); break; case 4: message.lowPriorityNotifications = reader.bool(); break; case 5: message.reactionsMuted = reader.bool(); break; case 6: message.callVibrate = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a NotificationSettings message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.NotificationSettings * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.NotificationSettings} NotificationSettings * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NotificationSettings.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a NotificationSettings message. * @function verify * @memberof proto.NotificationSettings * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ NotificationSettings.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.messageVibrate != null && message.hasOwnProperty("messageVibrate")) if (!$util.isString(message.messageVibrate)) return "messageVibrate: string expected"; if (message.messagePopup != null && message.hasOwnProperty("messagePopup")) if (!$util.isString(message.messagePopup)) return "messagePopup: string expected"; if (message.messageLight != null && message.hasOwnProperty("messageLight")) if (!$util.isString(message.messageLight)) return "messageLight: string expected"; if (message.lowPriorityNotifications != null && message.hasOwnProperty("lowPriorityNotifications")) if (typeof message.lowPriorityNotifications !== "boolean") return "lowPriorityNotifications: boolean expected"; if (message.reactionsMuted != null && message.hasOwnProperty("reactionsMuted")) if (typeof message.reactionsMuted !== "boolean") return "reactionsMuted: boolean expected"; if (message.callVibrate != null && message.hasOwnProperty("callVibrate")) if (!$util.isString(message.callVibrate)) return "callVibrate: string expected"; return null; }; /** * Creates a NotificationSettings message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.NotificationSettings * @static * @param {Object.<string,*>} object Plain object * @returns {proto.NotificationSettings} NotificationSettings */ NotificationSettings.fromObject = function fromObject(object) { if (object instanceof $root.proto.NotificationSettings) return object; var message = new $root.proto.NotificationSettings(); if (object.messageVibrate != null) message.messageVibrate = String(object.messageVibrate); if (object.messagePopup != null) message.messagePopup = String(object.messagePopup); if (object.messageLight != null) message.messageLight = String(object.messageLight); if (object.lowPriorityNotifications != null) message.lowPriorityNotifications = Boolean(object.lowPriorityNotifications); if (object.reactionsMuted != null) message.reactionsMuted = Boolean(object.reactionsMuted); if (object.callVibrate != null) message.callVibrate = String(object.callVibrate); return message; }; /** * Creates a plain object from a NotificationSettings message. Also converts values to other types if specified. * @function toObject * @memberof proto.NotificationSettings * @static * @param {proto.NotificationSettings} message NotificationSettings * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ NotificationSettings.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.messageVibrate = ""; object.messagePopup = ""; object.messageLight = ""; object.lowPriorityNotifications = false; object.reactionsMuted = false; object.callVibrate = ""; } if (message.messageVibrate != null && message.hasOwnProperty("messageVibrate")) object.messageVibrate = message.messageVibrate; if (message.messagePopup != null && message.hasOwnProperty("messagePopup")) object.messagePopup = message.messagePopup; if (message.messageLight != null && message.hasOwnProperty("messageLight")) object.messageLight = message.messageLight; if (message.lowPriorityNotifications != null && message.hasOwnProperty("lowPriorityNotifications")) object.lowPriorityNotifications = message.lowPriorityNotifications; if (message.reactionsMuted != null && message.hasOwnProperty("reactionsMuted")) object.reactionsMuted = message.reactionsMuted; if (message.callVibrate != null && message.hasOwnProperty("callVibrate")) object.callVibrate = message.callVibrate; return object; }; /** * Converts this NotificationSettings to JSON. * @function toJSON * @memberof proto.NotificationSettings * @instance * @returns {Object.<string,*>} JSON object */ NotificationSettings.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return NotificationSettings; })(); proto.PastParticipant = (function() { /** * Properties of a PastParticipant. * @memberof proto * @interface IPastParticipant * @property {string|null} [userJid] PastParticipant userJid * @property {proto.PastParticipant.LeaveReason|null} [leaveReason] PastParticipant leaveReason * @property {number|Long|null} [leaveTs] PastParticipant leaveTs */ /** * Constructs a new PastParticipant. * @memberof proto * @classdesc Represents a PastParticipant. * @implements IPastParticipant * @constructor * @param {proto.IPastParticipant=} [properties] Properties to set */ function PastParticipant(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]]; } /** * PastParticipant userJid. * @member {string} userJid * @memberof proto.PastParticipant * @instance */ PastParticipant.prototype.userJid = ""; /** * PastParticipant leaveReason. * @member {proto.PastParticipant.LeaveReason} leaveReason * @memberof proto.PastParticipant * @instance */ PastParticipant.prototype.leaveReason = 0; /** * PastParticipant leaveTs. * @member {number|Long} leaveTs * @memberof proto.PastParticipant * @instance */ PastParticipant.prototype.leaveTs = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Creates a new PastParticipant instance using the specified properties. * @function create * @memberof proto.PastParticipant * @static * @param {proto.IPastParticipant=} [properties] Properties to set * @returns {proto.PastParticipant} PastParticipant instance */ PastParticipant.create = function create(properties) { return new PastParticipant(properties); }; /** * Encodes the specified PastParticipant message. Does not implicitly {@link proto.PastParticipant.verify|verify} messages. * @function encode * @memberof proto.PastParticipant * @static * @param {proto.IPastParticipant} message PastParticipant message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PastParticipant.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.userJid != null && Object.hasOwnProperty.call(message, "userJid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.userJid); if (message.leaveReason != null && Object.hasOwnProperty.call(message, "leaveReason")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.leaveReason); if (message.leaveTs != null && Object.hasOwnProperty.call(message, "leaveTs")) writer.uint32(/* id 3, wireType 0 =*/24).uint64(message.leaveTs); return writer; }; /** * Encodes the specified PastParticipant message, length delimited. Does not implicitly {@link proto.PastParticipant.verify|verify} messages. * @function encodeDelimited * @memberof proto.PastParticipant * @static * @param {proto.IPastParticipant} message PastParticipant message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PastParticipant.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PastParticipant message from the specified reader or buffer. * @function decode * @memberof proto.PastParticipant * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PastParticipant} PastParticipant * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PastParticipant.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.PastParticipant(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.userJid = reader.string(); break; case 2: message.leaveReason = reader.int32(); break; case 3: message.leaveTs = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PastParticipant message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PastParticipant * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PastParticipant} PastParticipant * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PastParticipant.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PastParticipant message. * @function verify * @memberof proto.PastParticipant * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PastParticipant.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.userJid != null && message.hasOwnProperty("userJid")) if (!$util.isString(message.userJid)) return "userJid: string expected"; if (message.leaveReason != null && message.hasOwnProperty("leaveReason")) switch (message.leaveReason) { default: return "leaveReason: enum value expected"; case 0: case 1: break; } if (message.leaveTs != null && message.hasOwnProperty("leaveTs")) if (!$util.isInteger(message.leaveTs) && !(message.leaveTs && $util.isInteger(message.leaveTs.low) && $util.isInteger(message.leaveTs.high))) return "leaveTs: integer|Long expected"; return null; }; /** * Creates a PastParticipant message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PastParticipant * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PastParticipant} PastParticipant */ PastParticipant.fromObject = function fromObject(object) { if (object instanceof $root.proto.PastParticipant) return object; var message = new $root.proto.PastParticipant(); if (object.userJid != null) message.userJid = String(object.userJid); switch (object.leaveReason) { case "LEFT": case 0: message.leaveReason = 0; break; case "REMOVED": case 1: message.leaveReason = 1; break; } if (object.leaveTs != null) if ($util.Long) (message.leaveTs = $util.Long.fromValue(object.leaveTs)).unsigned = true; else if (typeof object.leaveTs === "string") message.leaveTs = parseInt(object.leaveTs, 10); else if (typeof object.leaveTs === "number") message.leaveTs = object.leaveTs; else if (typeof object.leaveTs === "object") message.leaveTs = new $util.LongBits(object.leaveTs.low >>> 0, object.leaveTs.high >>> 0).toNumber(true); return message; }; /** * Creates a plain object from a PastParticipant message. Also converts values to other types if specified. * @function toObject * @memberof proto.PastParticipant * @static * @param {proto.PastParticipant} message PastParticipant * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PastParticipant.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.userJid = ""; object.leaveReason = options.enums === String ? "LEFT" : 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.leaveTs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.leaveTs = options.longs === String ? "0" : 0; } if (message.userJid != null && message.hasOwnProperty("userJid")) object.userJid = message.userJid; if (message.leaveReason != null && message.hasOwnProperty("leaveReason")) object.leaveReason = options.enums === String ? $root.proto.PastParticipant.LeaveReason[message.leaveReason] : message.leaveReason; if (message.leaveTs != null && message.hasOwnProperty("leaveTs")) if (typeof message.leaveTs === "number") object.leaveTs = options.longs === String ? String(message.leaveTs) : message.leaveTs; else object.leaveTs = options.longs === String ? $util.Long.prototype.toString.call(message.leaveTs) : options.longs === Number ? new $util.LongBits(message.leaveTs.low >>> 0, message.leaveTs.high >>> 0).toNumber(true) : message.leaveTs; return object; }; /** * Converts this PastParticipant to JSON. * @function toJSON * @memberof proto.PastParticipant * @instance * @returns {Object.<string,*>} JSON object */ PastParticipant.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * LeaveReason enum. * @name proto.PastParticipant.LeaveReason * @enum {number} * @property {number} LEFT=0 LEFT value * @property {number} REMOVED=1 REMOVED value */ PastParticipant.LeaveReason = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "LEFT"] = 0; values[valuesById[1] = "REMOVED"] = 1; return values; })(); return PastParticipant; })(); proto.PastParticipants = (function() { /** * Properties of a PastParticipants. * @memberof proto * @interface IPastParticipants * @property {string|null} [groupJid] PastParticipants groupJid * @property {Array.<proto.IPastParticipant>|null} [pastParticipants] PastParticipants pastParticipants */ /** * Constructs a new PastParticipants. * @memberof proto * @classdesc Represents a PastParticipants. * @implements IPastParticipants * @constructor * @param {proto.IPastParticipants=} [properties] Properties to set */ function PastParticipants(properties) { this.pastParticipants = []; 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]]; } /** * PastParticipants groupJid. * @member {string} groupJid * @memberof proto.PastParticipants * @instance */ PastParticipants.prototype.groupJid = ""; /** * PastParticipants pastParticipants. * @member {Array.<proto.IPastParticipant>} pastParticipants * @memberof proto.PastParticipants * @instance */ PastParticipants.prototype.pastParticipants = $util.emptyArray; /** * Creates a new PastParticipants instance using the specified properties. * @function create * @memberof proto.PastParticipants * @static * @param {proto.IPastParticipants=} [properties] Properties to set * @returns {proto.PastParticipants} PastParticipants instance */ PastParticipants.create = function create(properties) { return new PastParticipants(properties); }; /** * Encodes the specified PastParticipants message. Does not implicitly {@link proto.PastParticipants.verify|verify} messages. * @function encode * @memberof proto.PastParticipants * @static * @param {proto.IPastParticipants} message PastParticipants message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PastParticipants.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.pastParticipants != null && message.pastParticipants.length) for (var i = 0; i < message.pastParticipants.length; ++i) $root.proto.PastParticipant.encode(message.pastParticipants[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified PastParticipants message, length delimited. Does not implicitly {@link proto.PastParticipants.verify|verify} messages. * @function encodeDelimited * @memberof proto.PastParticipants * @static * @param {proto.IPastParticipants} message PastParticipants message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PastParticipants.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PastParticipants message from the specified reader or buffer. * @function decode * @memberof proto.PastParticipants * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PastParticipants} PastParticipants * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PastParticipants.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.PastParticipants(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.groupJid = reader.string(); break; case 2: if (!(message.pastParticipants && message.pastParticipants.length)) message.pastParticipants = []; message.pastParticipants.push($root.proto.PastParticipant.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PastParticipants message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PastParticipants * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PastParticipants} PastParticipants * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PastParticipants.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PastParticipants message. * @function verify * @memberof proto.PastParticipants * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PastParticipants.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.pastParticipants != null && message.hasOwnProperty("pastParticipants")) { if (!Array.isArray(message.pastParticipants)) return "pastParticipants: array expected"; for (var i = 0; i < message.pastParticipants.length; ++i) { var error = $root.proto.PastParticipant.verify(message.pastParticipants[i]); if (error) return "pastParticipants." + error; } } return null; }; /** * Creates a PastParticipants message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PastParticipants * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PastParticipants} PastParticipants */ PastParticipants.fromObject = function fromObject(object) { if (object instanceof $root.proto.PastParticipants) return object; var message = new $root.proto.PastParticipants(); if (object.groupJid != null) message.groupJid = String(object.groupJid); if (object.pastParticipants) { if (!Array.isArray(object.pastParticipants)) throw TypeError(".proto.PastParticipants.pastParticipants: array expected"); message.pastParticipants = []; for (var i = 0; i < object.pastParticipants.length; ++i) { if (typeof object.pastParticipants[i] !== "object") throw TypeError(".proto.PastParticipants.pastParticipants: object expected"); message.pastParticipants[i] = $root.proto.PastParticipant.fromObject(object.pastParticipants[i]); } } return message; }; /** * Creates a plain object from a PastParticipants message. Also converts values to other types if specified. * @function toObject * @memberof proto.PastParticipants * @static * @param {proto.PastParticipants} message PastParticipants * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PastParticipants.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.pastParticipants = []; if (options.defaults) object.groupJid = ""; if (message.groupJid != null && message.hasOwnProperty("groupJid")) object.groupJid = message.groupJid; if (message.pastParticipants && message.pastParticipants.length) { object.pastParticipants = []; for (var j = 0; j < message.pastParticipants.length; ++j) object.pastParticipants[j] = $root.proto.PastParticipant.toObject(message.pastParticipants[j], options); } return object; }; /** * Converts this PastParticipants to JSON. * @function toJSON * @memberof proto.PastParticipants * @instance * @returns {Object.<string,*>} JSON object */ PastParticipants.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PastParticipants; })(); proto.PaymentBackground = (function() { /** * Properties of a PaymentBackground. * @memberof proto * @interface IPaymentBackground * @property {string|null} [id] PaymentBackground id * @property {number|Long|null} [fileLength] PaymentBackground fileLength * @property {number|null} [width] PaymentBackground width * @property {number|null} [height] PaymentBackground height * @property {string|null} [mimetype] PaymentBackground mimetype * @property {number|null} [placeholderArgb] PaymentBackground placeholderArgb * @property {number|null} [textArgb] PaymentBackground textArgb * @property {number|null} [subtextArgb] PaymentBackground subtextArgb * @property {proto.PaymentBackground.IMediaData|null} [mediaData] PaymentBackground mediaData * @property {proto.PaymentBackground.Type|null} [type] PaymentBackground type */ /** * Constructs a new PaymentBackground. * @memberof proto * @classdesc Represents a PaymentBackground. * @implements IPaymentBackground * @constructor * @param {proto.IPaymentBackground=} [properties] Properties to set */ function PaymentBackground(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]]; } /** * PaymentBackground id. * @member {string} id * @memberof proto.PaymentBackground * @instance */ PaymentBackground.prototype.id = ""; /** * PaymentBackground fileLength. * @member {number|Long} fileLength * @memberof proto.PaymentBackground * @instance */ PaymentBackground.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * PaymentBackground width. * @member {number} width * @memberof proto.PaymentBackground * @instance */ PaymentBackground.prototype.width = 0; /** * PaymentBackground height. * @member {number} height * @memberof proto.PaymentBackground * @instance */ PaymentBackground.prototype.height = 0; /** * PaymentBackground mimetype. * @member {string} mimetype * @memberof proto.PaymentBackground * @instance */ PaymentBackground.prototype.mimetype = ""; /** * PaymentBackground placeholderArgb. * @member {number} placeholderArgb * @memberof proto.PaymentBackground * @instance */ PaymentBackground.prototype.placeholderArgb = 0; /** * PaymentBackground textArgb. * @member {number} textArgb * @memberof proto.PaymentBackground * @instance */ PaymentBackground.prototype.textArgb = 0; /** * PaymentBackground subtextArgb. * @member {number} subtextArgb * @memberof proto.PaymentBackground * @instance */ PaymentBackground.prototype.subtextArgb = 0; /** * PaymentBackground mediaData. * @member {proto.PaymentBackground.IMediaData|null|undefined} mediaData * @memberof proto.PaymentBackground * @instance */ PaymentBackground.prototype.mediaData = null; /** * PaymentBackground type. * @member {proto.PaymentBackground.Type} type * @memberof proto.PaymentBackground * @instance */ PaymentBackground.prototype.type = 0; /** * Creates a new PaymentBackground instance using the specified properties. * @function create * @memberof proto.PaymentBackground * @static * @param {proto.IPaymentBackground=} [properties] Properties to set * @returns {proto.PaymentBackground} PaymentBackground instance */ PaymentBackground.create = function create(properties) { return new PaymentBackground(properties); }; /** * Encodes the specified PaymentBackground message. Does not implicitly {@link proto.PaymentBackground.verify|verify} messages. * @function encode * @memberof proto.PaymentBackground * @static * @param {proto.IPaymentBackground} message PaymentBackground message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PaymentBackground.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.id); if (message.fileLength != null && Object.hasOwnProperty.call(message, "fileLength")) writer.uint32(/* id 2, wireType 0 =*/16).uint64(message.fileLength); if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.width); if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 4, wireType 0 =*/32).uint32(message.height); if (message.mimetype != null && Object.hasOwnProperty.call(message, "mimetype")) writer.uint32(/* id 5, wireType 2 =*/42).string(message.mimetype); if (message.placeholderArgb != null && Object.hasOwnProperty.call(message, "placeholderArgb")) writer.uint32(/* id 6, wireType 5 =*/53).fixed32(message.placeholderArgb); if (message.textArgb != null && Object.hasOwnProperty.call(message, "textArgb")) writer.uint32(/* id 7, wireType 5 =*/61).fixed32(message.textArgb); if (message.subtextArgb != null && Object.hasOwnProperty.call(message, "subtextArgb")) writer.uint32(/* id 8, wireType 5 =*/69).fixed32(message.subtextArgb); if (message.mediaData != null && Object.hasOwnProperty.call(message, "mediaData")) $root.proto.PaymentBackground.MediaData.encode(message.mediaData, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 10, wireType 0 =*/80).int32(message.type); return writer; }; /** * Encodes the specified PaymentBackground message, length delimited. Does not implicitly {@link proto.PaymentBackground.verify|verify} messages. * @function encodeDelimited * @memberof proto.PaymentBackground * @static * @param {proto.IPaymentBackground} message PaymentBackground message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PaymentBackground.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PaymentBackground message from the specified reader or buffer. * @function decode * @memberof proto.PaymentBackground * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PaymentBackground} PaymentBackground * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PaymentBackground.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.PaymentBackground(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.fileLength = reader.uint64(); break; case 3: message.width = reader.uint32(); break; case 4: message.height = reader.uint32(); break; case 5: message.mimetype = reader.string(); break; case 6: message.placeholderArgb = reader.fixed32(); break; case 7: message.textArgb = reader.fixed32(); break; case 8: message.subtextArgb = reader.fixed32(); break; case 9: message.mediaData = $root.proto.PaymentBackground.MediaData.decode(reader, reader.uint32()); break; case 10: message.type = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PaymentBackground message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PaymentBackground * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PaymentBackground} PaymentBackground * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PaymentBackground.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PaymentBackground message. * @function verify * @memberof proto.PaymentBackground * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PaymentBackground.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: 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.width != null && message.hasOwnProperty("width")) if (!$util.isInteger(message.width)) return "width: integer expected"; if (message.height != null && message.hasOwnProperty("height")) if (!$util.isInteger(message.height)) return "height: integer expected"; if (message.mimetype != null && message.hasOwnProperty("mimetype")) if (!$util.isString(message.mimetype)) return "mimetype: string expected"; if (message.placeholderArgb != null && message.hasOwnProperty("placeholderArgb")) if (!$util.isInteger(message.placeholderArgb)) return "placeholderArgb: integer expected"; if (message.textArgb != null && message.hasOwnProperty("textArgb")) if (!$util.isInteger(message.textArgb)) return "textArgb: integer expected"; if (message.subtextArgb != null && message.hasOwnProperty("subtextArgb")) if (!$util.isInteger(message.subtextArgb)) return "subtextArgb: integer expected"; if (message.mediaData != null && message.hasOwnProperty("mediaData")) { var error = $root.proto.PaymentBackground.MediaData.verify(message.mediaData); if (error) return "mediaData." + error; } if (message.type != null && message.hasOwnProperty("type")) switch (message.type) { default: return "type: enum value expected"; case 0: case 1: break; } return null; }; /** * Creates a PaymentBackground message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PaymentBackground * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PaymentBackground} PaymentBackground */ PaymentBackground.fromObject = function fromObject(object) { if (object instanceof $root.proto.PaymentBackground) return object; var message = new $root.proto.PaymentBackground(); if (object.id != null) message.id = String(object.id); 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.width != null) message.width = object.width >>> 0; if (object.height != null) message.height = object.height >>> 0; if (object.mimetype != null) message.mimetype = String(object.mimetype); if (object.placeholderArgb != null) message.placeholderArgb = object.placeholderArgb >>> 0; if (object.textArgb != null) message.textArgb = object.textArgb >>> 0; if (object.subtextArgb != null) message.subtextArgb = object.subtextArgb >>> 0; if (object.mediaData != null) { if (typeof object.mediaData !== "object") throw TypeError(".proto.PaymentBackground.mediaData: object expected"); message.mediaData = $root.proto.PaymentBackground.MediaData.fromObject(object.mediaData); } switch (object.type) { case "UNKNOWN": case 0: message.type = 0; break; case "DEFAULT": case 1: message.type = 1; break; } return message; }; /** * Creates a plain object from a PaymentBackground message. Also converts values to other types if specified. * @function toObject * @memberof proto.PaymentBackground * @static * @param {proto.PaymentBackground} message PaymentBackground * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PaymentBackground.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.id = ""; 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.width = 0; object.height = 0; object.mimetype = ""; object.placeholderArgb = 0; object.textArgb = 0; object.subtextArgb = 0; object.mediaData = null; object.type = options.enums === String ? "UNKNOWN" : 0; } if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; 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.width != null && message.hasOwnProperty("width")) object.width = message.width; if (message.height != null && message.hasOwnProperty("height")) object.height = message.height; if (message.mimetype != null && message.hasOwnProperty("mimetype")) object.mimetype = message.mimetype; if (message.placeholderArgb != null && message.hasOwnProperty("placeholderArgb")) object.placeholderArgb = message.placeholderArgb; if (message.textArgb != null && message.hasOwnProperty("textArgb")) object.textArgb = message.textArgb; if (message.subtextArgb != null && message.hasOwnProperty("subtextArgb")) object.subtextArgb = message.subtextArgb; if (message.mediaData != null && message.hasOwnProperty("mediaData")) object.mediaData = $root.proto.PaymentBackground.MediaData.toObject(message.mediaData, options); if (message.type != null && message.hasOwnProperty("type")) object.type = options.enums === String ? $root.proto.PaymentBackground.Type[message.type] : message.type; return object; }; /** * Converts this PaymentBackground to JSON. * @function toJSON * @memberof proto.PaymentBackground * @instance * @returns {Object.<string,*>} JSON object */ PaymentBackground.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; PaymentBackground.MediaData = (function() { /** * Properties of a MediaData. * @memberof proto.PaymentBackground * @interface IMediaData * @property {Uint8Array|null} [mediaKey] MediaData mediaKey * @property {number|Long|null} [mediaKeyTimestamp] MediaData mediaKeyTimestamp * @property {Uint8Array|null} [fileSha256] MediaData fileSha256 * @property {Uint8Array|null} [fileEncSha256] MediaData fileEncSha256 * @property {string|null} [directPath] MediaData directPath */ /** * Constructs a new MediaData. * @memberof proto.PaymentBackground * @classdesc Represents a MediaData. * @implements IMediaData * @constructor * @param {proto.PaymentBackground.IMediaData=} [properties] Properties to set */ function MediaData(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]]; } /** * MediaData mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.PaymentBackground.MediaData * @instance */ MediaData.prototype.mediaKey = $util.newBuffer([]); /** * MediaData mediaKeyTimestamp. * @member {number|Long} mediaKeyTimestamp * @memberof proto.PaymentBackground.MediaData * @instance */ MediaData.prototype.mediaKeyTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * MediaData fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.PaymentBackground.MediaData * @instance */ MediaData.prototype.fileSha256 = $util.newBuffer([]); /** * MediaData fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.PaymentBackground.MediaData * @instance */ MediaData.prototype.fileEncSha256 = $util.newBuffer([]); /** * MediaData directPath. * @member {string} directPath * @memberof proto.PaymentBackground.MediaData * @instance */ MediaData.prototype.directPath = ""; /** * Creates a new MediaData instance using the specified properties. * @function create * @memberof proto.PaymentBackground.MediaData * @static * @param {proto.PaymentBackground.IMediaData=} [properties] Properties to set * @returns {proto.PaymentBackground.MediaData} MediaData instance */ MediaData.create = function create(properties) { return new MediaData(properties); }; /** * Encodes the specified MediaData message. Does not implicitly {@link proto.PaymentBackground.MediaData.verify|verify} messages. * @function encode * @memberof proto.PaymentBackground.MediaData * @static * @param {proto.PaymentBackground.IMediaData} message MediaData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MediaData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.mediaKey); if (message.mediaKeyTimestamp != null && Object.hasOwnProperty.call(message, "mediaKeyTimestamp")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.mediaKeyTimestamp); if (message.fileSha256 != null && Object.hasOwnProperty.call(message, "fileSha256")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.fileSha256); 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); return writer; }; /** * Encodes the specified MediaData message, length delimited. Does not implicitly {@link proto.PaymentBackground.MediaData.verify|verify} messages. * @function encodeDelimited * @memberof proto.PaymentBackground.MediaData * @static * @param {proto.PaymentBackground.IMediaData} message MediaData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MediaData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MediaData message from the specified reader or buffer. * @function decode * @memberof proto.PaymentBackground.MediaData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PaymentBackground.MediaData} MediaData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MediaData.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.PaymentBackground.MediaData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.mediaKey = reader.bytes(); break; case 2: message.mediaKeyTimestamp = reader.int64(); break; case 3: message.fileSha256 = reader.bytes(); break; case 4: message.fileEncSha256 = reader.bytes(); break; case 5: message.directPath = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MediaData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PaymentBackground.MediaData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PaymentBackground.MediaData} MediaData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MediaData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MediaData message. * @function verify * @memberof proto.PaymentBackground.MediaData * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MediaData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object 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.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.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.directPath != null && message.hasOwnProperty("directPath")) if (!$util.isString(message.directPath)) return "directPath: string expected"; return null; }; /** * Creates a MediaData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PaymentBackground.MediaData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PaymentBackground.MediaData} MediaData */ MediaData.fromObject = function fromObject(object) { if (object instanceof $root.proto.PaymentBackground.MediaData) return object; var message = new $root.proto.PaymentBackground.MediaData(); 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.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.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.directPath != null) message.directPath = String(object.directPath); return message; }; /** * Creates a plain object from a MediaData message. Also converts values to other types if specified. * @function toObject * @memberof proto.PaymentBackground.MediaData * @static * @param {proto.PaymentBackground.MediaData} message MediaData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MediaData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.mediaKey = ""; else { object.mediaKey = []; if (options.bytes !== Array) object.mediaKey = $util.newBuffer(object.mediaKey); } 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.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); } object.directPath = ""; } 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.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.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.directPath != null && message.hasOwnProperty("directPath")) object.directPath = message.directPath; return object; }; /** * Converts this MediaData to JSON. * @function toJSON * @memberof proto.PaymentBackground.MediaData * @instance * @returns {Object.<string,*>} JSON object */ MediaData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MediaData; })(); /** * Type enum. * @name proto.PaymentBackground.Type * @enum {number} * @property {number} UNKNOWN=0 UNKNOWN value * @property {number} DEFAULT=1 DEFAULT value */ PaymentBackground.Type = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN"] = 0; values[valuesById[1] = "DEFAULT"] = 1; return values; })(); return PaymentBackground; })(); proto.PaymentInfo = (function() { /** * Properties of a PaymentInfo. * @memberof proto * @interface IPaymentInfo * @property {proto.PaymentInfo.Currency|null} [currencyDeprecated] PaymentInfo currencyDeprecated * @property {number|Long|null} [amount1000] PaymentInfo amount1000 * @property {string|null} [receiverJid] PaymentInfo receiverJid * @property {proto.PaymentInfo.Status|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.TxnStatus|null} [txnStatus] PaymentInfo txnStatus * @property {boolean|null} [useNoviFiatFormat] PaymentInfo useNoviFiatFormat * @property {proto.IMoney|null} [primaryAmount] PaymentInfo primaryAmount * @property {proto.IMoney|null} [exchangeAmount] PaymentInfo exchangeAmount */ /** * 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.Currency} 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.Status} 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.TxnStatus} txnStatus * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.txnStatus = 0; /** * PaymentInfo useNoviFiatFormat. * @member {boolean} useNoviFiatFormat * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.useNoviFiatFormat = false; /** * PaymentInfo primaryAmount. * @member {proto.IMoney|null|undefined} primaryAmount * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.primaryAmount = null; /** * PaymentInfo exchangeAmount. * @member {proto.IMoney|null|undefined} exchangeAmount * @memberof proto.PaymentInfo * @instance */ PaymentInfo.prototype.exchangeAmount = null; /** * 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); if (message.useNoviFiatFormat != null && Object.hasOwnProperty.call(message, "useNoviFiatFormat")) writer.uint32(/* id 11, wireType 0 =*/88).bool(message.useNoviFiatFormat); if (message.primaryAmount != null && Object.hasOwnProperty.call(message, "primaryAmount")) $root.proto.Money.encode(message.primaryAmount, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); if (message.exchangeAmount != null && Object.hasOwnProperty.call(message, "exchangeAmount")) $root.proto.Money.encode(message.exchangeAmount, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); 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; case 11: message.useNoviFiatFormat = reader.bool(); break; case 12: message.primaryAmount = $root.proto.Money.decode(reader, reader.uint32()); break; case 13: message.exchangeAmount = $root.proto.Money.decode(reader, reader.uint32()); 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.<string,*>} 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: case 28: case 29: case 30: case 31: break; } if (message.useNoviFiatFormat != null && message.hasOwnProperty("useNoviFiatFormat")) if (typeof message.useNoviFiatFormat !== "boolean") return "useNoviFiatFormat: boolean expected"; if (message.primaryAmount != null && message.hasOwnProperty("primaryAmount")) { var error = $root.proto.Money.verify(message.primaryAmount); if (error) return "primaryAmount." + error; } if (message.exchangeAmount != null && message.hasOwnProperty("exchangeAmount")) { var error = $root.proto.Money.verify(message.exchangeAmount); if (error) return "exchangeAmount." + error; } 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.<string,*>} 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; case "IN_REVIEW": case 28: message.txnStatus = 28; break; case "REVERSAL_SUCCESS": case 29: message.txnStatus = 29; break; case "REVERSAL_PENDING": case 30: message.txnStatus = 30; break; case "REFUND_PENDING": case 31: message.txnStatus = 31; break; } if (object.useNoviFiatFormat != null) message.useNoviFiatFormat = Boolean(object.useNoviFiatFormat); if (object.primaryAmount != null) { if (typeof object.primaryAmount !== "object") throw TypeError(".proto.PaymentInfo.primaryAmount: object expected"); message.primaryAmount = $root.proto.Money.fromObject(object.primaryAmount); } if (object.exchangeAmount != null) { if (typeof object.exchangeAmount !== "object") throw TypeError(".proto.PaymentInfo.exchangeAmount: object expected"); message.exchangeAmount = $root.proto.Money.fromObject(object.exchangeAmount); } 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.<string,*>} 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; object.useNoviFiatFormat = false; object.primaryAmount = null; object.exchangeAmount = null; } if (message.currencyDeprecated != null && message.hasOwnProperty("currencyDeprecated")) object.currencyDeprecated = options.enums === String ? $root.proto.PaymentInfo.Currency[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.Status[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.TxnStatus[message.txnStatus] : message.txnStatus; if (message.useNoviFiatFormat != null && message.hasOwnProperty("useNoviFiatFormat")) object.useNoviFiatFormat = message.useNoviFiatFormat; if (message.primaryAmount != null && message.hasOwnProperty("primaryAmount")) object.primaryAmount = $root.proto.Money.toObject(message.primaryAmount, options); if (message.exchangeAmount != null && message.hasOwnProperty("exchangeAmount")) object.exchangeAmount = $root.proto.Money.toObject(message.exchangeAmount, options); return object; }; /** * Converts this PaymentInfo to JSON. * @function toJSON * @memberof proto.PaymentInfo * @instance * @returns {Object.<string,*>} JSON object */ PaymentInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Currency enum. * @name proto.PaymentInfo.Currency * @enum {number} * @property {number} UNKNOWN_CURRENCY=0 UNKNOWN_CURRENCY value * @property {number} INR=1 INR value */ PaymentInfo.Currency = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN_CURRENCY"] = 0; values[valuesById[1] = "INR"] = 1; return values; })(); /** * Status enum. * @name proto.PaymentInfo.Status * @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.Status = (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; })(); /** * TxnStatus enum. * @name proto.PaymentInfo.TxnStatus * @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 * @property {number} IN_REVIEW=28 IN_REVIEW value * @property {number} REVERSAL_SUCCESS=29 REVERSAL_SUCCESS value * @property {number} REVERSAL_PENDING=30 REVERSAL_PENDING value * @property {number} REFUND_PENDING=31 REFUND_PENDING value */ PaymentInfo.TxnStatus = (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; values[valuesById[28] = "IN_REVIEW"] = 28; values[valuesById[29] = "REVERSAL_SUCCESS"] = 29; values[valuesById[30] = "REVERSAL_PENDING"] = 30; values[valuesById[31] = "REFUND_PENDING"] = 31; return values; })(); return PaymentInfo; })(); proto.PhotoChange = (function() { /** * Properties of a PhotoChange. * @memberof proto * @interface IPhotoChange * @property {Uint8Array|null} [oldPhoto] PhotoChange oldPhoto * @property {Uint8Array|null} [newPhoto] PhotoChange newPhoto * @property {number|null} [newPhotoId] PhotoChange newPhotoId */ /** * Constructs a new PhotoChange. * @memberof proto * @classdesc Represents a PhotoChange. * @implements IPhotoChange * @constructor * @param {proto.IPhotoChange=} [properties] Properties to set */ function PhotoChange(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]]; } /** * PhotoChange oldPhoto. * @member {Uint8Array} oldPhoto * @memberof proto.PhotoChange * @instance */ PhotoChange.prototype.oldPhoto = $util.newBuffer([]); /** * PhotoChange newPhoto. * @member {Uint8Array} newPhoto * @memberof proto.PhotoChange * @instance */ PhotoChange.prototype.newPhoto = $util.newBuffer([]); /** * PhotoChange newPhotoId. * @member {number} newPhotoId * @memberof proto.PhotoChange * @instance */ PhotoChange.prototype.newPhotoId = 0; /** * Creates a new PhotoChange instance using the specified properties. * @function create * @memberof proto.PhotoChange * @static * @param {proto.IPhotoChange=} [properties] Properties to set * @returns {proto.PhotoChange} PhotoChange instance */ PhotoChange.create = function create(properties) { return new PhotoChange(properties); }; /** * Encodes the specified PhotoChange message. Does not implicitly {@link proto.PhotoChange.verify|verify} messages. * @function encode * @memberof proto.PhotoChange * @static * @param {proto.IPhotoChange} message PhotoChange message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PhotoChange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.oldPhoto != null && Object.hasOwnProperty.call(message, "oldPhoto")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.oldPhoto); if (message.newPhoto != null && Object.hasOwnProperty.call(message, "newPhoto")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.newPhoto); if (message.newPhotoId != null && Object.hasOwnProperty.call(message, "newPhotoId")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.newPhotoId); return writer; }; /** * Encodes the specified PhotoChange message, length delimited. Does not implicitly {@link proto.PhotoChange.verify|verify} messages. * @function encodeDelimited * @memberof proto.PhotoChange * @static * @param {proto.IPhotoChange} message PhotoChange message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PhotoChange.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PhotoChange message from the specified reader or buffer. * @function decode * @memberof proto.PhotoChange * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PhotoChange} PhotoChange * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PhotoChange.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.PhotoChange(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.oldPhoto = reader.bytes(); break; case 2: message.newPhoto = reader.bytes(); break; case 3: message.newPhotoId = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PhotoChange message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PhotoChange * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PhotoChange} PhotoChange * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PhotoChange.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PhotoChange message. * @function verify * @memberof proto.PhotoChange * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PhotoChange.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.oldPhoto != null && message.hasOwnProperty("oldPhoto")) if (!(message.oldPhoto && typeof message.oldPhoto.length === "number" || $util.isString(message.oldPhoto))) return "oldPhoto: buffer expected"; if (message.newPhoto != null && message.hasOwnProperty("newPhoto")) if (!(message.newPhoto && typeof message.newPhoto.length === "number" || $util.isString(message.newPhoto))) return "newPhoto: buffer expected"; if (message.newPhotoId != null && message.hasOwnProperty("newPhotoId")) if (!$util.isInteger(message.newPhotoId)) return "newPhotoId: integer expected"; return null; }; /** * Creates a PhotoChange message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PhotoChange * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PhotoChange} PhotoChange */ PhotoChange.fromObject = function fromObject(object) { if (object instanceof $root.proto.PhotoChange) return object; var message = new $root.proto.PhotoChange(); if (object.oldPhoto != null) if (typeof object.oldPhoto === "string") $util.base64.decode(object.oldPhoto, message.oldPhoto = $util.newBuffer($util.base64.length(object.oldPhoto)), 0); else if (object.oldPhoto.length) message.oldPhoto = object.oldPhoto; if (object.newPhoto != null) if (typeof object.newPhoto === "string") $util.base64.decode(object.newPhoto, message.newPhoto = $util.newBuffer($util.base64.length(object.newPhoto)), 0); else if (object.newPhoto.length) message.newPhoto = object.newPhoto; if (object.newPhotoId != null) message.newPhotoId = object.newPhotoId >>> 0; return message; }; /** * Creates a plain object from a PhotoChange message. Also converts values to other types if specified. * @function toObject * @memberof proto.PhotoChange * @static * @param {proto.PhotoChange} message PhotoChange * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PhotoChange.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.oldPhoto = ""; else { object.oldPhoto = []; if (options.bytes !== Array) object.oldPhoto = $util.newBuffer(object.oldPhoto); } if (options.bytes === String) object.newPhoto = ""; else { object.newPhoto = []; if (options.bytes !== Array) object.newPhoto = $util.newBuffer(object.newPhoto); } object.newPhotoId = 0; } if (message.oldPhoto != null && message.hasOwnProperty("oldPhoto")) object.oldPhoto = options.bytes === String ? $util.base64.encode(message.oldPhoto, 0, message.oldPhoto.length) : options.bytes === Array ? Array.prototype.slice.call(message.oldPhoto) : message.oldPhoto; if (message.newPhoto != null && message.hasOwnProperty("newPhoto")) object.newPhoto = options.bytes === String ? $util.base64.encode(message.newPhoto, 0, message.newPhoto.length) : options.bytes === Array ? Array.prototype.slice.call(message.newPhoto) : message.newPhoto; if (message.newPhotoId != null && message.hasOwnProperty("newPhotoId")) object.newPhotoId = message.newPhotoId; return object; }; /** * Converts this PhotoChange to JSON. * @function toJSON * @memberof proto.PhotoChange * @instance * @returns {Object.<string,*>} JSON object */ PhotoChange.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PhotoChange; })(); proto.PinInChat = (function() { /** * Properties of a PinInChat. * @memberof proto * @interface IPinInChat * @property {proto.PinInChat.Type|null} [type] PinInChat type * @property {proto.IMessageKey|null} [key] PinInChat key * @property {number|Long|null} [senderTimestampMs] PinInChat senderTimestampMs * @property {number|Long|null} [serverTimestampMs] PinInChat serverTimestampMs * @property {proto.IMessageAddOnContextInfo|null} [messageAddOnContextInfo] PinInChat messageAddOnContextInfo */ /** * Constructs a new PinInChat. * @memberof proto * @classdesc Represents a PinInChat. * @implements IPinInChat * @constructor * @param {proto.IPinInChat=} [properties] Properties to set */ function PinInChat(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]]; } /** * PinInChat type. * @member {proto.PinInChat.Type} type * @memberof proto.PinInChat * @instance */ PinInChat.prototype.type = 0; /** * PinInChat key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.PinInChat * @instance */ PinInChat.prototype.key = null; /** * PinInChat senderTimestampMs. * @member {number|Long} senderTimestampMs * @memberof proto.PinInChat * @instance */ PinInChat.prototype.senderTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * PinInChat serverTimestampMs. * @member {number|Long} serverTimestampMs * @memberof proto.PinInChat * @instance */ PinInChat.prototype.serverTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * PinInChat messageAddOnContextInfo. * @member {proto.IMessageAddOnContextInfo|null|undefined} messageAddOnContextInfo * @memberof proto.PinInChat * @instance */ PinInChat.prototype.messageAddOnContextInfo = null; /** * Creates a new PinInChat instance using the specified properties. * @function create * @memberof proto.PinInChat * @static * @param {proto.IPinInChat=} [properties] Properties to set * @returns {proto.PinInChat} PinInChat instance */ PinInChat.create = function create(properties) { return new PinInChat(properties); }; /** * Encodes the specified PinInChat message. Does not implicitly {@link proto.PinInChat.verify|verify} messages. * @function encode * @memberof proto.PinInChat * @static * @param {proto.IPinInChat} message PinInChat message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PinInChat.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type); if (message.key != null && Object.hasOwnProperty.call(message, "key")) $root.proto.MessageKey.encode(message.key, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.senderTimestampMs != null && Object.hasOwnProperty.call(message, "senderTimestampMs")) writer.uint32(/* id 3, wireType 0 =*/24).int64(message.senderTimestampMs); if (message.serverTimestampMs != null && Object.hasOwnProperty.call(message, "serverTimestampMs")) writer.uint32(/* id 4, wireType 0 =*/32).int64(message.serverTimestampMs); if (message.messageAddOnContextInfo != null && Object.hasOwnProperty.call(message, "messageAddOnContextInfo")) $root.proto.MessageAddOnContextInfo.encode(message.messageAddOnContextInfo, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); return writer; }; /** * Encodes the specified PinInChat message, length delimited. Does not implicitly {@link proto.PinInChat.verify|verify} messages. * @function encodeDelimited * @memberof proto.PinInChat * @static * @param {proto.IPinInChat} message PinInChat message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PinInChat.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PinInChat message from the specified reader or buffer. * @function decode * @memberof proto.PinInChat * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PinInChat} PinInChat * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PinInChat.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.PinInChat(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.type = reader.int32(); break; case 2: message.key = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 3: message.senderTimestampMs = reader.int64(); break; case 4: message.serverTimestampMs = reader.int64(); break; case 5: message.messageAddOnContextInfo = $root.proto.MessageAddOnContextInfo.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PinInChat message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PinInChat * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PinInChat} PinInChat * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PinInChat.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PinInChat message. * @function verify * @memberof proto.PinInChat * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PinInChat.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.type != null && message.hasOwnProperty("type")) switch (message.type) { default: return "type: enum value expected"; case 0: case 1: case 2: break; } if (message.key != null && message.hasOwnProperty("key")) { var error = $root.proto.MessageKey.verify(message.key); if (error) return "key." + error; } if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (!$util.isInteger(message.senderTimestampMs) && !(message.senderTimestampMs && $util.isInteger(message.senderTimestampMs.low) && $util.isInteger(message.senderTimestampMs.high))) return "senderTimestampMs: integer|Long expected"; if (message.serverTimestampMs != null && message.hasOwnProperty("serverTimestampMs")) if (!$util.isInteger(message.serverTimestampMs) && !(message.serverTimestampMs && $util.isInteger(message.serverTimestampMs.low) && $util.isInteger(message.serverTimestampMs.high))) return "serverTimestampMs: integer|Long expected"; if (message.messageAddOnContextInfo != null && message.hasOwnProperty("messageAddOnContextInfo")) { var error = $root.proto.MessageAddOnContextInfo.verify(message.messageAddOnContextInfo); if (error) return "messageAddOnContextInfo." + error; } return null; }; /** * Creates a PinInChat message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PinInChat * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PinInChat} PinInChat */ PinInChat.fromObject = function fromObject(object) { if (object instanceof $root.proto.PinInChat) return object; var message = new $root.proto.PinInChat(); switch (object.type) { case "UNKNOWN_TYPE": case 0: message.type = 0; break; case "PIN_FOR_ALL": case 1: message.type = 1; break; case "UNPIN_FOR_ALL": case 2: message.type = 2; break; } if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.PinInChat.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } if (object.senderTimestampMs != null) if ($util.Long) (message.senderTimestampMs = $util.Long.fromValue(object.senderTimestampMs)).unsigned = false; else if (typeof object.senderTimestampMs === "string") message.senderTimestampMs = parseInt(object.senderTimestampMs, 10); else if (typeof object.senderTimestampMs === "number") message.senderTimestampMs = object.senderTimestampMs; else if (typeof object.senderTimestampMs === "object") message.senderTimestampMs = new $util.LongBits(object.senderTimestampMs.low >>> 0, object.senderTimestampMs.high >>> 0).toNumber(); if (object.serverTimestampMs != null) if ($util.Long) (message.serverTimestampMs = $util.Long.fromValue(object.serverTimestampMs)).unsigned = false; else if (typeof object.serverTimestampMs === "string") message.serverTimestampMs = parseInt(object.serverTimestampMs, 10); else if (typeof object.serverTimestampMs === "number") message.serverTimestampMs = object.serverTimestampMs; else if (typeof object.serverTimestampMs === "object") message.serverTimestampMs = new $util.LongBits(object.serverTimestampMs.low >>> 0, object.serverTimestampMs.high >>> 0).toNumber(); if (object.messageAddOnContextInfo != null) { if (typeof object.messageAddOnContextInfo !== "object") throw TypeError(".proto.PinInChat.messageAddOnContextInfo: object expected"); message.messageAddOnContextInfo = $root.proto.MessageAddOnContextInfo.fromObject(object.messageAddOnContextInfo); } return message; }; /** * Creates a plain object from a PinInChat message. Also converts values to other types if specified. * @function toObject * @memberof proto.PinInChat * @static * @param {proto.PinInChat} message PinInChat * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PinInChat.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.type = options.enums === String ? "UNKNOWN_TYPE" : 0; object.key = null; if ($util.Long) { var long = new $util.Long(0, 0, false); object.senderTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.senderTimestampMs = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.serverTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.serverTimestampMs = options.longs === String ? "0" : 0; object.messageAddOnContextInfo = null; } if (message.type != null && message.hasOwnProperty("type")) object.type = options.enums === String ? $root.proto.PinInChat.Type[message.type] : message.type; if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (typeof message.senderTimestampMs === "number") object.senderTimestampMs = options.longs === String ? String(message.senderTimestampMs) : message.senderTimestampMs; else object.senderTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.senderTimestampMs) : options.longs === Number ? new $util.LongBits(message.senderTimestampMs.low >>> 0, message.senderTimestampMs.high >>> 0).toNumber() : message.senderTimestampMs; if (message.serverTimestampMs != null && message.hasOwnProperty("serverTimestampMs")) if (typeof message.serverTimestampMs === "number") object.serverTimestampMs = options.longs === String ? String(message.serverTimestampMs) : message.serverTimestampMs; else object.serverTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.serverTimestampMs) : options.longs === Number ? new $util.LongBits(message.serverTimestampMs.low >>> 0, message.serverTimestampMs.high >>> 0).toNumber() : message.serverTimestampMs; if (message.messageAddOnContextInfo != null && message.hasOwnProperty("messageAddOnContextInfo")) object.messageAddOnContextInfo = $root.proto.MessageAddOnContextInfo.toObject(message.messageAddOnContextInfo, options); return object; }; /** * Converts this PinInChat to JSON. * @function toJSON * @memberof proto.PinInChat * @instance * @returns {Object.<string,*>} JSON object */ PinInChat.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Type enum. * @name proto.PinInChat.Type * @enum {number} * @property {number} UNKNOWN_TYPE=0 UNKNOWN_TYPE value * @property {number} PIN_FOR_ALL=1 PIN_FOR_ALL value * @property {number} UNPIN_FOR_ALL=2 UNPIN_FOR_ALL value */ PinInChat.Type = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "UNKNOWN_TYPE"] = 0; values[valuesById[1] = "PIN_FOR_ALL"] = 1; values[valuesById[2] = "UNPIN_FOR_ALL"] = 2; return values; })(); return PinInChat; })(); 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.<string,*>} 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.<string,*>} 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.<string,*>} 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.<string,*>} JSON object */ Point.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Point; })(); proto.PollAdditionalMetadata = (function() { /** * Properties of a PollAdditionalMetadata. * @memberof proto * @interface IPollAdditionalMetadata * @property {boolean|null} [pollInvalidated] PollAdditionalMetadata pollInvalidated */ /** * Constructs a new PollAdditionalMetadata. * @memberof proto * @classdesc Represents a PollAdditionalMetadata. * @implements IPollAdditionalMetadata * @constructor * @param {proto.IPollAdditionalMetadata=} [properties] Properties to set */ function PollAdditionalMetadata(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]]; } /** * PollAdditionalMetadata pollInvalidated. * @member {boolean} pollInvalidated * @memberof proto.PollAdditionalMetadata * @instance */ PollAdditionalMetadata.prototype.pollInvalidated = false; /** * Creates a new PollAdditionalMetadata instance using the specified properties. * @function create * @memberof proto.PollAdditionalMetadata * @static * @param {proto.IPollAdditionalMetadata=} [properties] Properties to set * @returns {proto.PollAdditionalMetadata} PollAdditionalMetadata instance */ PollAdditionalMetadata.create = function create(properties) { return new PollAdditionalMetadata(properties); }; /** * Encodes the specified PollAdditionalMetadata message. Does not implicitly {@link proto.PollAdditionalMetadata.verify|verify} messages. * @function encode * @memberof proto.PollAdditionalMetadata * @static * @param {proto.IPollAdditionalMetadata} message PollAdditionalMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollAdditionalMetadata.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.pollInvalidated != null && Object.hasOwnProperty.call(message, "pollInvalidated")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.pollInvalidated); return writer; }; /** * Encodes the specified PollAdditionalMetadata message, length delimited. Does not implicitly {@link proto.PollAdditionalMetadata.verify|verify} messages. * @function encodeDelimited * @memberof proto.PollAdditionalMetadata * @static * @param {proto.IPollAdditionalMetadata} message PollAdditionalMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollAdditionalMetadata.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PollAdditionalMetadata message from the specified reader or buffer. * @function decode * @memberof proto.PollAdditionalMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PollAdditionalMetadata} PollAdditionalMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollAdditionalMetadata.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.PollAdditionalMetadata(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.pollInvalidated = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PollAdditionalMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PollAdditionalMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PollAdditionalMetadata} PollAdditionalMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollAdditionalMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PollAdditionalMetadata message. * @function verify * @memberof proto.PollAdditionalMetadata * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PollAdditionalMetadata.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.pollInvalidated != null && message.hasOwnProperty("pollInvalidated")) if (typeof message.pollInvalidated !== "boolean") return "pollInvalidated: boolean expected"; return null; }; /** * Creates a PollAdditionalMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PollAdditionalMetadata * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PollAdditionalMetadata} PollAdditionalMetadata */ PollAdditionalMetadata.fromObject = function fromObject(object) { if (object instanceof $root.proto.PollAdditionalMetadata) return object; var message = new $root.proto.PollAdditionalMetadata(); if (object.pollInvalidated != null) message.pollInvalidated = Boolean(object.pollInvalidated); return message; }; /** * Creates a plain object from a PollAdditionalMetadata message. Also converts values to other types if specified. * @function toObject * @memberof proto.PollAdditionalMetadata * @static * @param {proto.PollAdditionalMetadata} message PollAdditionalMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PollAdditionalMetadata.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.pollInvalidated = false; if (message.pollInvalidated != null && message.hasOwnProperty("pollInvalidated")) object.pollInvalidated = message.pollInvalidated; return object; }; /** * Converts this PollAdditionalMetadata to JSON. * @function toJSON * @memberof proto.PollAdditionalMetadata * @instance * @returns {Object.<string,*>} JSON object */ PollAdditionalMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PollAdditionalMetadata; })(); proto.PollEncValue = (function() { /** * Properties of a PollEncValue. * @memberof proto * @interface IPollEncValue * @property {Uint8Array|null} [encPayload] PollEncValue encPayload * @property {Uint8Array|null} [encIv] PollEncValue encIv */ /** * Constructs a new PollEncValue. * @memberof proto * @classdesc Represents a PollEncValue. * @implements IPollEncValue * @constructor * @param {proto.IPollEncValue=} [properties] Properties to set */ function PollEncValue(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]]; } /** * PollEncValue encPayload. * @member {Uint8Array} encPayload * @memberof proto.PollEncValue * @instance */ PollEncValue.prototype.encPayload = $util.newBuffer([]); /** * PollEncValue encIv. * @member {Uint8Array} encIv * @memberof proto.PollEncValue * @instance */ PollEncValue.prototype.encIv = $util.newBuffer([]); /** * Creates a new PollEncValue instance using the specified properties. * @function create * @memberof proto.PollEncValue * @static * @param {proto.IPollEncValue=} [properties] Properties to set * @returns {proto.PollEncValue} PollEncValue instance */ PollEncValue.create = function create(properties) { return new PollEncValue(properties); }; /** * Encodes the specified PollEncValue message. Does not implicitly {@link proto.PollEncValue.verify|verify} messages. * @function encode * @memberof proto.PollEncValue * @static * @param {proto.IPollEncValue} message PollEncValue message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollEncValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.encPayload != null && Object.hasOwnProperty.call(message, "encPayload")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.encPayload); if (message.encIv != null && Object.hasOwnProperty.call(message, "encIv")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.encIv); return writer; }; /** * Encodes the specified PollEncValue message, length delimited. Does not implicitly {@link proto.PollEncValue.verify|verify} messages. * @function encodeDelimited * @memberof proto.PollEncValue * @static * @param {proto.IPollEncValue} message PollEncValue message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollEncValue.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PollEncValue message from the specified reader or buffer. * @function decode * @memberof proto.PollEncValue * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PollEncValue} PollEncValue * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollEncValue.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.PollEncValue(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.encPayload = reader.bytes(); break; case 2: message.encIv = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PollEncValue message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PollEncValue * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PollEncValue} PollEncValue * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollEncValue.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PollEncValue message. * @function verify * @memberof proto.PollEncValue * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PollEncValue.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.encPayload != null && message.hasOwnProperty("encPayload")) if (!(message.encPayload && typeof message.encPayload.length === "number" || $util.isString(message.encPayload))) return "encPayload: buffer expected"; if (message.encIv != null && message.hasOwnProperty("encIv")) if (!(message.encIv && typeof message.encIv.length === "number" || $util.isString(message.encIv))) return "encIv: buffer expected"; return null; }; /** * Creates a PollEncValue message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PollEncValue * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PollEncValue} PollEncValue */ PollEncValue.fromObject = function fromObject(object) { if (object instanceof $root.proto.PollEncValue) return object; var message = new $root.proto.PollEncValue(); if (object.encPayload != null) if (typeof object.encPayload === "string") $util.base64.decode(object.encPayload, message.encPayload = $util.newBuffer($util.base64.length(object.encPayload)), 0); else if (object.encPayload.length) message.encPayload = object.encPayload; if (object.encIv != null) if (typeof object.encIv === "string") $util.base64.decode(object.encIv, message.encIv = $util.newBuffer($util.base64.length(object.encIv)), 0); else if (object.encIv.length) message.encIv = object.encIv; return message; }; /** * Creates a plain object from a PollEncValue message. Also converts values to other types if specified. * @function toObject * @memberof proto.PollEncValue * @static * @param {proto.PollEncValue} message PollEncValue * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PollEncValue.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.encPayload = ""; else { object.encPayload = []; if (options.bytes !== Array) object.encPayload = $util.newBuffer(object.encPayload); } if (options.bytes === String) object.encIv = ""; else { object.encIv = []; if (options.bytes !== Array) object.encIv = $util.newBuffer(object.encIv); } } if (message.encPayload != null && message.hasOwnProperty("encPayload")) object.encPayload = options.bytes === String ? $util.base64.encode(message.encPayload, 0, message.encPayload.length) : options.bytes === Array ? Array.prototype.slice.call(message.encPayload) : message.encPayload; if (message.encIv != null && message.hasOwnProperty("encIv")) object.encIv = options.bytes === String ? $util.base64.encode(message.encIv, 0, message.encIv.length) : options.bytes === Array ? Array.prototype.slice.call(message.encIv) : message.encIv; return object; }; /** * Converts this PollEncValue to JSON. * @function toJSON * @memberof proto.PollEncValue * @instance * @returns {Object.<string,*>} JSON object */ PollEncValue.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PollEncValue; })(); proto.PollUpdate = (function() { /** * Properties of a PollUpdate. * @memberof proto * @interface IPollUpdate * @property {proto.IMessageKey|null} [pollUpdateMessageKey] PollUpdate pollUpdateMessageKey * @property {proto.Message.IPollVoteMessage|null} [vote] PollUpdate vote * @property {number|Long|null} [senderTimestampMs] PollUpdate senderTimestampMs * @property {number|Long|null} [serverTimestampMs] PollUpdate serverTimestampMs * @property {boolean|null} [unread] PollUpdate unread */ /** * Constructs a new PollUpdate. * @memberof proto * @classdesc Represents a PollUpdate. * @implements IPollUpdate * @constructor * @param {proto.IPollUpdate=} [properties] Properties to set */ function PollUpdate(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]]; } /** * PollUpdate pollUpdateMessageKey. * @member {proto.IMessageKey|null|undefined} pollUpdateMessageKey * @memberof proto.PollUpdate * @instance */ PollUpdate.prototype.pollUpdateMessageKey = null; /** * PollUpdate vote. * @member {proto.Message.IPollVoteMessage|null|undefined} vote * @memberof proto.PollUpdate * @instance */ PollUpdate.prototype.vote = null; /** * PollUpdate senderTimestampMs. * @member {number|Long} senderTimestampMs * @memberof proto.PollUpdate * @instance */ PollUpdate.prototype.senderTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * PollUpdate serverTimestampMs. * @member {number|Long} serverTimestampMs * @memberof proto.PollUpdate * @instance */ PollUpdate.prototype.serverTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * PollUpdate unread. * @member {boolean} unread * @memberof proto.PollUpdate * @instance */ PollUpdate.prototype.unread = false; /** * Creates a new PollUpdate instance using the specified properties. * @function create * @memberof proto.PollUpdate * @static * @param {proto.IPollUpdate=} [properties] Properties to set * @returns {proto.PollUpdate} PollUpdate instance */ PollUpdate.create = function create(properties) { return new PollUpdate(properties); }; /** * Encodes the specified PollUpdate message. Does not implicitly {@link proto.PollUpdate.verify|verify} messages. * @function encode * @memberof proto.PollUpdate * @static * @param {proto.IPollUpdate} message PollUpdate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollUpdate.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.pollUpdateMessageKey != null && Object.hasOwnProperty.call(message, "pollUpdateMessageKey")) $root.proto.MessageKey.encode(message.pollUpdateMessageKey, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.vote != null && Object.hasOwnProperty.call(message, "vote")) $root.proto.Message.PollVoteMessage.encode(message.vote, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.senderTimestampMs != null && Object.hasOwnProperty.call(message, "senderTimestampMs")) writer.uint32(/* id 3, wireType 0 =*/24).int64(message.senderTimestampMs); if (message.serverTimestampMs != null && Object.hasOwnProperty.call(message, "serverTimestampMs")) writer.uint32(/* id 4, wireType 0 =*/32).int64(message.serverTimestampMs); if (message.unread != null && Object.hasOwnProperty.call(message, "unread")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.unread); return writer; }; /** * Encodes the specified PollUpdate message, length delimited. Does not implicitly {@link proto.PollUpdate.verify|verify} messages. * @function encodeDelimited * @memberof proto.PollUpdate * @static * @param {proto.IPollUpdate} message PollUpdate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PollUpdate.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PollUpdate message from the specified reader or buffer. * @function decode * @memberof proto.PollUpdate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PollUpdate} PollUpdate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollUpdate.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.PollUpdate(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.pollUpdateMessageKey = $root.proto.MessageKey.decode(reader, reader.uint32()); break; case 2: message.vote = $root.proto.Message.PollVoteMessage.decode(reader, reader.uint32()); break; case 3: message.senderTimestampMs = reader.int64(); break; case 4: message.serverTimestampMs = reader.int64(); break; case 5: message.unread = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PollUpdate message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PollUpdate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PollUpdate} PollUpdate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PollUpdate.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PollUpdate message. * @function verify * @memberof proto.PollUpdate * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PollUpdate.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.pollUpdateMessageKey != null && message.hasOwnProperty("pollUpdateMessageKey")) { var error = $root.proto.MessageKey.verify(message.pollUpdateMessageKey); if (error) return "pollUpdateMessageKey." + error; } if (message.vote != null && message.hasOwnProperty("vote")) { var error = $root.proto.Message.PollVoteMessage.verify(message.vote); if (error) return "vote." + error; } if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (!$util.isInteger(message.senderTimestampMs) && !(message.senderTimestampMs && $util.isInteger(message.senderTimestampMs.low) && $util.isInteger(message.senderTimestampMs.high))) return "senderTimestampMs: integer|Long expected"; if (message.serverTimestampMs != null && message.hasOwnProperty("serverTimestampMs")) if (!$util.isInteger(message.serverTimestampMs) && !(message.serverTimestampMs && $util.isInteger(message.serverTimestampMs.low) && $util.isInteger(message.serverTimestampMs.high))) return "serverTimestampMs: integer|Long expected"; if (message.unread != null && message.hasOwnProperty("unread")) if (typeof message.unread !== "boolean") return "unread: boolean expected"; return null; }; /** * Creates a PollUpdate message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PollUpdate * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PollUpdate} PollUpdate */ PollUpdate.fromObject = function fromObject(object) { if (object instanceof $root.proto.PollUpdate) return object; var message = new $root.proto.PollUpdate(); if (object.pollUpdateMessageKey != null) { if (typeof object.pollUpdateMessageKey !== "object") throw TypeError(".proto.PollUpdate.pollUpdateMessageKey: object expected"); message.pollUpdateMessageKey = $root.proto.MessageKey.fromObject(object.pollUpdateMessageKey); } if (object.vote != null) { if (typeof object.vote !== "object") throw TypeError(".proto.PollUpdate.vote: object expected"); message.vote = $root.proto.Message.PollVoteMessage.fromObject(object.vote); } if (object.senderTimestampMs != null) if ($util.Long) (message.senderTimestampMs = $util.Long.fromValue(object.senderTimestampMs)).unsigned = false; else if (typeof object.senderTimestampMs === "string") message.senderTimestampMs = parseInt(object.senderTimestampMs, 10); else if (typeof object.senderTimestampMs === "number") message.senderTimestampMs = object.senderTimestampMs; else if (typeof object.senderTimestampMs === "object") message.senderTimestampMs = new $util.LongBits(object.senderTimestampMs.low >>> 0, object.senderTimestampMs.high >>> 0).toNumber(); if (object.serverTimestampMs != null) if ($util.Long) (message.serverTimestampMs = $util.Long.fromValue(object.serverTimestampMs)).unsigned = false; else if (typeof object.serverTimestampMs === "string") message.serverTimestampMs = parseInt(object.serverTimestampMs, 10); else if (typeof object.serverTimestampMs === "number") message.serverTimestampMs = object.serverTimestampMs; else if (typeof object.serverTimestampMs === "object") message.serverTimestampMs = new $util.LongBits(object.serverTimestampMs.low >>> 0, object.serverTimestampMs.high >>> 0).toNumber(); if (object.unread != null) message.unread = Boolean(object.unread); return message; }; /** * Creates a plain object from a PollUpdate message. Also converts values to other types if specified. * @function toObject * @memberof proto.PollUpdate * @static * @param {proto.PollUpdate} message PollUpdate * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PollUpdate.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.pollUpdateMessageKey = null; object.vote = null; if ($util.Long) { var long = new $util.Long(0, 0, false); object.senderTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.senderTimestampMs = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.serverTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.serverTimestampMs = options.longs === String ? "0" : 0; object.unread = false; } if (message.pollUpdateMessageKey != null && message.hasOwnProperty("pollUpdateMessageKey")) object.pollUpdateMessageKey = $root.proto.MessageKey.toObject(message.pollUpdateMessageKey, options); if (message.vote != null && message.hasOwnProperty("vote")) object.vote = $root.proto.Message.PollVoteMessage.toObject(message.vote, options); if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (typeof message.senderTimestampMs === "number") object.senderTimestampMs = options.longs === String ? String(message.senderTimestampMs) : message.senderTimestampMs; else object.senderTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.senderTimestampMs) : options.longs === Number ? new $util.LongBits(message.senderTimestampMs.low >>> 0, message.senderTimestampMs.high >>> 0).toNumber() : message.senderTimestampMs; if (message.serverTimestampMs != null && message.hasOwnProperty("serverTimestampMs")) if (typeof message.serverTimestampMs === "number") object.serverTimestampMs = options.longs === String ? String(message.serverTimestampMs) : message.serverTimestampMs; else object.serverTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.serverTimestampMs) : options.longs === Number ? new $util.LongBits(message.serverTimestampMs.low >>> 0, message.serverTimestampMs.high >>> 0).toNumber() : message.serverTimestampMs; if (message.unread != null && message.hasOwnProperty("unread")) object.unread = message.unread; return object; }; /** * Converts this PollUpdate to JSON. * @function toJSON * @memberof proto.PollUpdate * @instance * @returns {Object.<string,*>} JSON object */ PollUpdate.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PollUpdate; })(); proto.PreKeyRecordStructure = (function() { /** * Properties of a PreKeyRecordStructure. * @memberof proto * @interface IPreKeyRecordStructure * @property {number|null} [id] PreKeyRecordStructure id * @property {Uint8Array|null} [publicKey] PreKeyRecordStructure publicKey * @property {Uint8Array|null} [privateKey] PreKeyRecordStructure privateKey */ /** * Constructs a new PreKeyRecordStructure. * @memberof proto * @classdesc Represents a PreKeyRecordStructure. * @implements IPreKeyRecordStructure * @constructor * @param {proto.IPreKeyRecordStructure=} [properties] Properties to set */ function PreKeyRecordStructure(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]]; } /** * PreKeyRecordStructure id. * @member {number} id * @memberof proto.PreKeyRecordStructure * @instance */ PreKeyRecordStructure.prototype.id = 0; /** * PreKeyRecordStructure publicKey. * @member {Uint8Array} publicKey * @memberof proto.PreKeyRecordStructure * @instance */ PreKeyRecordStructure.prototype.publicKey = $util.newBuffer([]); /** * PreKeyRecordStructure privateKey. * @member {Uint8Array} privateKey * @memberof proto.PreKeyRecordStructure * @instance */ PreKeyRecordStructure.prototype.privateKey = $util.newBuffer([]); /** * Creates a new PreKeyRecordStructure instance using the specified properties. * @function create * @memberof proto.PreKeyRecordStructure * @static * @param {proto.IPreKeyRecordStructure=} [properties] Properties to set * @returns {proto.PreKeyRecordStructure} PreKeyRecordStructure instance */ PreKeyRecordStructure.create = function create(properties) { return new PreKeyRecordStructure(properties); }; /** * Encodes the specified PreKeyRecordStructure message. Does not implicitly {@link proto.PreKeyRecordStructure.verify|verify} messages. * @function encode * @memberof proto.PreKeyRecordStructure * @static * @param {proto.IPreKeyRecordStructure} message PreKeyRecordStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PreKeyRecordStructure.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.id); if (message.publicKey != null && Object.hasOwnProperty.call(message, "publicKey")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.publicKey); if (message.privateKey != null && Object.hasOwnProperty.call(message, "privateKey")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.privateKey); return writer; }; /** * Encodes the specified PreKeyRecordStructure message, length delimited. Does not implicitly {@link proto.PreKeyRecordStructure.verify|verify} messages. * @function encodeDelimited * @memberof proto.PreKeyRecordStructure * @static * @param {proto.IPreKeyRecordStructure} message PreKeyRecordStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PreKeyRecordStructure.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PreKeyRecordStructure message from the specified reader or buffer. * @function decode * @memberof proto.PreKeyRecordStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PreKeyRecordStructure} PreKeyRecordStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PreKeyRecordStructure.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.PreKeyRecordStructure(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.uint32(); break; case 2: message.publicKey = reader.bytes(); break; case 3: message.privateKey = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PreKeyRecordStructure message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PreKeyRecordStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PreKeyRecordStructure} PreKeyRecordStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PreKeyRecordStructure.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PreKeyRecordStructure message. * @function verify * @memberof proto.PreKeyRecordStructure * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PreKeyRecordStructure.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isInteger(message.id)) return "id: integer expected"; if (message.publicKey != null && message.hasOwnProperty("publicKey")) if (!(message.publicKey && typeof message.publicKey.length === "number" || $util.isString(message.publicKey))) return "publicKey: buffer expected"; if (message.privateKey != null && message.hasOwnProperty("privateKey")) if (!(message.privateKey && typeof message.privateKey.length === "number" || $util.isString(message.privateKey))) return "privateKey: buffer expected"; return null; }; /** * Creates a PreKeyRecordStructure message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PreKeyRecordStructure * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PreKeyRecordStructure} PreKeyRecordStructure */ PreKeyRecordStructure.fromObject = function fromObject(object) { if (object instanceof $root.proto.PreKeyRecordStructure) return object; var message = new $root.proto.PreKeyRecordStructure(); if (object.id != null) message.id = object.id >>> 0; if (object.publicKey != null) if (typeof object.publicKey === "string") $util.base64.decode(object.publicKey, message.publicKey = $util.newBuffer($util.base64.length(object.publicKey)), 0); else if (object.publicKey.length) message.publicKey = object.publicKey; if (object.privateKey != null) if (typeof object.privateKey === "string") $util.base64.decode(object.privateKey, message.privateKey = $util.newBuffer($util.base64.length(object.privateKey)), 0); else if (object.privateKey.length) message.privateKey = object.privateKey; return message; }; /** * Creates a plain object from a PreKeyRecordStructure message. Also converts values to other types if specified. * @function toObject * @memberof proto.PreKeyRecordStructure * @static * @param {proto.PreKeyRecordStructure} message PreKeyRecordStructure * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PreKeyRecordStructure.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.id = 0; if (options.bytes === String) object.publicKey = ""; else { object.publicKey = []; if (options.bytes !== Array) object.publicKey = $util.newBuffer(object.publicKey); } if (options.bytes === String) object.privateKey = ""; else { object.privateKey = []; if (options.bytes !== Array) object.privateKey = $util.newBuffer(object.privateKey); } } if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; if (message.publicKey != null && message.hasOwnProperty("publicKey")) object.publicKey = options.bytes === String ? $util.base64.encode(message.publicKey, 0, message.publicKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKey) : message.publicKey; if (message.privateKey != null && message.hasOwnProperty("privateKey")) object.privateKey = options.bytes === String ? $util.base64.encode(message.privateKey, 0, message.privateKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.privateKey) : message.privateKey; return object; }; /** * Converts this PreKeyRecordStructure to JSON. * @function toJSON * @memberof proto.PreKeyRecordStructure * @instance * @returns {Object.<string,*>} JSON object */ PreKeyRecordStructure.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PreKeyRecordStructure; })(); proto.PreKeySignalMessage = (function() { /** * Properties of a PreKeySignalMessage. * @memberof proto * @interface IPreKeySignalMessage * @property {number|null} [registrationId] PreKeySignalMessage registrationId * @property {number|null} [preKeyId] PreKeySignalMessage preKeyId * @property {number|null} [signedPreKeyId] PreKeySignalMessage signedPreKeyId * @property {Uint8Array|null} [baseKey] PreKeySignalMessage baseKey * @property {Uint8Array|null} [identityKey] PreKeySignalMessage identityKey * @property {Uint8Array|null} [message] PreKeySignalMessage message */ /** * Constructs a new PreKeySignalMessage. * @memberof proto * @classdesc Represents a PreKeySignalMessage. * @implements IPreKeySignalMessage * @constructor * @param {proto.IPreKeySignalMessage=} [properties] Properties to set */ function PreKeySignalMessage(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]]; } /** * PreKeySignalMessage registrationId. * @member {number} registrationId * @memberof proto.PreKeySignalMessage * @instance */ PreKeySignalMessage.prototype.registrationId = 0; /** * PreKeySignalMessage preKeyId. * @member {number} preKeyId * @memberof proto.PreKeySignalMessage * @instance */ PreKeySignalMessage.prototype.preKeyId = 0; /** * PreKeySignalMessage signedPreKeyId. * @member {number} signedPreKeyId * @memberof proto.PreKeySignalMessage * @instance */ PreKeySignalMessage.prototype.signedPreKeyId = 0; /** * PreKeySignalMessage baseKey. * @member {Uint8Array} baseKey * @memberof proto.PreKeySignalMessage * @instance */ PreKeySignalMessage.prototype.baseKey = $util.newBuffer([]); /** * PreKeySignalMessage identityKey. * @member {Uint8Array} identityKey * @memberof proto.PreKeySignalMessage * @instance */ PreKeySignalMessage.prototype.identityKey = $util.newBuffer([]); /** * PreKeySignalMessage message. * @member {Uint8Array} message * @memberof proto.PreKeySignalMessage * @instance */ PreKeySignalMessage.prototype.message = $util.newBuffer([]); /** * Creates a new PreKeySignalMessage instance using the specified properties. * @function create * @memberof proto.PreKeySignalMessage * @static * @param {proto.IPreKeySignalMessage=} [properties] Properties to set * @returns {proto.PreKeySignalMessage} PreKeySignalMessage instance */ PreKeySignalMessage.create = function create(properties) { return new PreKeySignalMessage(properties); }; /** * Encodes the specified PreKeySignalMessage message. Does not implicitly {@link proto.PreKeySignalMessage.verify|verify} messages. * @function encode * @memberof proto.PreKeySignalMessage * @static * @param {proto.IPreKeySignalMessage} message PreKeySignalMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PreKeySignalMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.preKeyId != null && Object.hasOwnProperty.call(message, "preKeyId")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.preKeyId); if (message.baseKey != null && Object.hasOwnProperty.call(message, "baseKey")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.baseKey); if (message.identityKey != null && Object.hasOwnProperty.call(message, "identityKey")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.identityKey); if (message.message != null && Object.hasOwnProperty.call(message, "message")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.message); if (message.registrationId != null && Object.hasOwnProperty.call(message, "registrationId")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.registrationId); if (message.signedPreKeyId != null && Object.hasOwnProperty.call(message, "signedPreKeyId")) writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.signedPreKeyId); return writer; }; /** * Encodes the specified PreKeySignalMessage message, length delimited. Does not implicitly {@link proto.PreKeySignalMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.PreKeySignalMessage * @static * @param {proto.IPreKeySignalMessage} message PreKeySignalMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PreKeySignalMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PreKeySignalMessage message from the specified reader or buffer. * @function decode * @memberof proto.PreKeySignalMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.PreKeySignalMessage} PreKeySignalMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PreKeySignalMessage.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.PreKeySignalMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 5: message.registrationId = reader.uint32(); break; case 1: message.preKeyId = reader.uint32(); break; case 6: message.signedPreKeyId = reader.uint32(); break; case 2: message.baseKey = reader.bytes(); break; case 3: message.identityKey = reader.bytes(); break; case 4: message.message = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PreKeySignalMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.PreKeySignalMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.PreKeySignalMessage} PreKeySignalMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PreKeySignalMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PreKeySignalMessage message. * @function verify * @memberof proto.PreKeySignalMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PreKeySignalMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.registrationId != null && message.hasOwnProperty("registrationId")) if (!$util.isInteger(message.registrationId)) return "registrationId: integer expected"; if (message.preKeyId != null && message.hasOwnProperty("preKeyId")) if (!$util.isInteger(message.preKeyId)) return "preKeyId: integer expected"; if (message.signedPreKeyId != null && message.hasOwnProperty("signedPreKeyId")) if (!$util.isInteger(message.signedPreKeyId)) return "signedPreKeyId: integer expected"; if (message.baseKey != null && message.hasOwnProperty("baseKey")) if (!(message.baseKey && typeof message.baseKey.length === "number" || $util.isString(message.baseKey))) return "baseKey: buffer expected"; if (message.identityKey != null && message.hasOwnProperty("identityKey")) if (!(message.identityKey && typeof message.identityKey.length === "number" || $util.isString(message.identityKey))) return "identityKey: buffer expected"; if (message.message != null && message.hasOwnProperty("message")) if (!(message.message && typeof message.message.length === "number" || $util.isString(message.message))) return "message: buffer expected"; return null; }; /** * Creates a PreKeySignalMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.PreKeySignalMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.PreKeySignalMessage} PreKeySignalMessage */ PreKeySignalMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.PreKeySignalMessage) return object; var message = new $root.proto.PreKeySignalMessage(); if (object.registrationId != null) message.registrationId = object.registrationId >>> 0; if (object.preKeyId != null) message.preKeyId = object.preKeyId >>> 0; if (object.signedPreKeyId != null) message.signedPreKeyId = object.signedPreKeyId >>> 0; if (object.baseKey != null) if (typeof object.baseKey === "string") $util.base64.decode(object.baseKey, message.baseKey = $util.newBuffer($util.base64.length(object.baseKey)), 0); else if (object.baseKey.length) message.baseKey = object.baseKey; if (object.identityKey != null) if (typeof object.identityKey === "string") $util.base64.decode(object.identityKey, message.identityKey = $util.newBuffer($util.base64.length(object.identityKey)), 0); else if (object.identityKey.length) message.identityKey = object.identityKey; if (object.message != null) if (typeof object.message === "string") $util.base64.decode(object.message, message.message = $util.newBuffer($util.base64.length(object.message)), 0); else if (object.message.length) message.message = object.message; return message; }; /** * Creates a plain object from a PreKeySignalMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.PreKeySignalMessage * @static * @param {proto.PreKeySignalMessage} message PreKeySignalMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PreKeySignalMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.preKeyId = 0; if (options.bytes === String) object.baseKey = ""; else { object.baseKey = []; if (options.bytes !== Array) object.baseKey = $util.newBuffer(object.baseKey); } if (options.bytes === String) object.identityKey = ""; else { object.identityKey = []; if (options.bytes !== Array) object.identityKey = $util.newBuffer(object.identityKey); } if (options.bytes === String) object.message = ""; else { object.message = []; if (options.bytes !== Array) object.message = $util.newBuffer(object.message); } object.registrationId = 0; object.signedPreKeyId = 0; } if (message.preKeyId != null && message.hasOwnProperty("preKeyId")) object.preKeyId = message.preKeyId; if (message.baseKey != null && message.hasOwnProperty("baseKey")) object.baseKey = options.bytes === String ? $util.base64.encode(message.baseKey, 0, message.baseKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.baseKey) : message.baseKey; if (message.identityKey != null && message.hasOwnProperty("identityKey")) object.identityKey = options.bytes === String ? $util.base64.encode(message.identityKey, 0, message.identityKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.identityKey) : message.identityKey; if (message.message != null && message.hasOwnProperty("message")) object.message = options.bytes === String ? $util.base64.encode(message.message, 0, message.message.length) : options.bytes === Array ? Array.prototype.slice.call(message.message) : message.message; if (message.registrationId != null && message.hasOwnProperty("registrationId")) object.registrationId = message.registrationId; if (message.signedPreKeyId != null && message.hasOwnProperty("signedPreKeyId")) object.signedPreKeyId = message.signedPreKeyId; return object; }; /** * Converts this PreKeySignalMessage to JSON. * @function toJSON * @memberof proto.PreKeySignalMessage * @instance * @returns {Object.<string,*>} JSON object */ PreKeySignalMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PreKeySignalMessage; })(); proto.Pushname = (function() { /** * Properties of a Pushname. * @memberof proto * @interface IPushname * @property {string|null} [id] Pushname id * @property {string|null} [pushname] Pushname pushname */ /** * Constructs a new Pushname. * @memberof proto * @classdesc Represents a Pushname. * @implements IPushname * @constructor * @param {proto.IPushname=} [properties] Properties to set */ function Pushname(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]]; } /** * Pushname id. * @member {string} id * @memberof proto.Pushname * @instance */ Pushname.prototype.id = ""; /** * Pushname pushname. * @member {string} pushname * @memberof proto.Pushname * @instance */ Pushname.prototype.pushname = ""; /** * Creates a new Pushname instance using the specified properties. * @function create * @memberof proto.Pushname * @static * @param {proto.IPushname=} [properties] Properties to set * @returns {proto.Pushname} Pushname instance */ Pushname.create = function create(properties) { return new Pushname(properties); }; /** * Encodes the specified Pushname message. Does not implicitly {@link proto.Pushname.verify|verify} messages. * @function encode * @memberof proto.Pushname * @static * @param {proto.IPushname} message Pushname message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Pushname.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.id); if (message.pushname != null && Object.hasOwnProperty.call(message, "pushname")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.pushname); return writer; }; /** * Encodes the specified Pushname message, length delimited. Does not implicitly {@link proto.Pushname.verify|verify} messages. * @function encodeDelimited * @memberof proto.Pushname * @static * @param {proto.IPushname} message Pushname message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Pushname.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Pushname message from the specified reader or buffer. * @function decode * @memberof proto.Pushname * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Pushname} Pushname * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Pushname.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.Pushname(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.string(); break; case 2: message.pushname = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Pushname message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Pushname * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Pushname} Pushname * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Pushname.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Pushname message. * @function verify * @memberof proto.Pushname * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Pushname.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isString(message.id)) return "id: string expected"; if (message.pushname != null && message.hasOwnProperty("pushname")) if (!$util.isString(message.pushname)) return "pushname: string expected"; return null; }; /** * Creates a Pushname message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Pushname * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Pushname} Pushname */ Pushname.fromObject = function fromObject(object) { if (object instanceof $root.proto.Pushname) return object; var message = new $root.proto.Pushname(); if (object.id != null) message.id = String(object.id); if (object.pushname != null) message.pushname = String(object.pushname); return message; }; /** * Creates a plain object from a Pushname message. Also converts values to other types if specified. * @function toObject * @memberof proto.Pushname * @static * @param {proto.Pushname} message Pushname * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Pushname.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.id = ""; object.pushname = ""; } if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; if (message.pushname != null && message.hasOwnProperty("pushname")) object.pushname = message.pushname; return object; }; /** * Converts this Pushname to JSON. * @function toJSON * @memberof proto.Pushname * @instance * @returns {Object.<string,*>} JSON object */ Pushname.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Pushname; })(); proto.QP = (function() { /** * Properties of a QP. * @memberof proto * @interface IQP */ /** * Constructs a new QP. * @memberof proto * @classdesc Represents a QP. * @implements IQP * @constructor * @param {proto.IQP=} [properties] Properties to set */ function QP(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]]; } /** * Creates a new QP instance using the specified properties. * @function create * @memberof proto.QP * @static * @param {proto.IQP=} [properties] Properties to set * @returns {proto.QP} QP instance */ QP.create = function create(properties) { return new QP(properties); }; /** * Encodes the specified QP message. Does not implicitly {@link proto.QP.verify|verify} messages. * @function encode * @memberof proto.QP * @static * @param {proto.IQP} message QP message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ QP.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); return writer; }; /** * Encodes the specified QP message, length delimited. Does not implicitly {@link proto.QP.verify|verify} messages. * @function encodeDelimited * @memberof proto.QP * @static * @param {proto.IQP} message QP message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ QP.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a QP message from the specified reader or buffer. * @function decode * @memberof proto.QP * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.QP} QP * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ QP.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.QP(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a QP message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.QP * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.QP} QP * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ QP.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a QP message. * @function verify * @memberof proto.QP * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ QP.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; return null; }; /** * Creates a QP message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.QP * @static * @param {Object.<string,*>} object Plain object * @returns {proto.QP} QP */ QP.fromObject = function fromObject(object) { if (object instanceof $root.proto.QP) return object; return new $root.proto.QP(); }; /** * Creates a plain object from a QP message. Also converts values to other types if specified. * @function toObject * @memberof proto.QP * @static * @param {proto.QP} message QP * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ QP.toObject = function toObject() { return {}; }; /** * Converts this QP to JSON. * @function toJSON * @memberof proto.QP * @instance * @returns {Object.<string,*>} JSON object */ QP.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * ClauseType enum. * @name proto.QP.ClauseType * @enum {number} * @property {number} AND=1 AND value * @property {number} OR=2 OR value * @property {number} NOR=3 NOR value */ QP.ClauseType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[1] = "AND"] = 1; values[valuesById[2] = "OR"] = 2; values[valuesById[3] = "NOR"] = 3; return values; })(); QP.Filter = (function() { /** * Properties of a Filter. * @memberof proto.QP * @interface IFilter * @property {string} filterName Filter filterName * @property {Array.<proto.QP.IFilterParameters>|null} [parameters] Filter parameters * @property {proto.QP.FilterResult|null} [filterResult] Filter filterResult * @property {proto.QP.FilterClientNotSupportedConfig} clientNotSupportedConfig Filter clientNotSupportedConfig */ /** * Constructs a new Filter. * @memberof proto.QP * @classdesc Represents a Filter. * @implements IFilter * @constructor * @param {proto.QP.IFilter=} [properties] Properties to set */ function Filter(properties) { this.parameters = []; 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]]; } /** * Filter filterName. * @member {string} filterName * @memberof proto.QP.Filter * @instance */ Filter.prototype.filterName = ""; /** * Filter parameters. * @member {Array.<proto.QP.IFilterParameters>} parameters * @memberof proto.QP.Filter * @instance */ Filter.prototype.parameters = $util.emptyArray; /** * Filter filterResult. * @member {proto.QP.FilterResult} filterResult * @memberof proto.QP.Filter * @instance */ Filter.prototype.filterResult = 1; /** * Filter clientNotSupportedConfig. * @member {proto.QP.FilterClientNotSupportedConfig} clientNotSupportedConfig * @memberof proto.QP.Filter * @instance */ Filter.prototype.clientNotSupportedConfig = 1; /** * Creates a new Filter instance using the specified properties. * @function create * @memberof proto.QP.Filter * @static * @param {proto.QP.IFilter=} [properties] Properties to set * @returns {proto.QP.Filter} Filter instance */ Filter.create = function create(properties) { return new Filter(properties); }; /** * Encodes the specified Filter message. Does not implicitly {@link proto.QP.Filter.verify|verify} messages. * @function encode * @memberof proto.QP.Filter * @static * @param {proto.QP.IFilter} message Filter message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Filter.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); writer.uint32(/* id 1, wireType 2 =*/10).string(message.filterName); if (message.parameters != null && message.parameters.length) for (var i = 0; i < message.parameters.length; ++i) $root.proto.QP.FilterParameters.encode(message.parameters[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.filterResult != null && Object.hasOwnProperty.call(message, "filterResult")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.filterResult); writer.uint32(/* id 4, wireType 0 =*/32).int32(message.clientNotSupportedConfig); return writer; }; /** * Encodes the specified Filter message, length delimited. Does not implicitly {@link proto.QP.Filter.verify|verify} messages. * @function encodeDelimited * @memberof proto.QP.Filter * @static * @param {proto.QP.IFilter} message Filter message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Filter.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Filter message from the specified reader or buffer. * @function decode * @memberof proto.QP.Filter * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.QP.Filter} Filter * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Filter.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.QP.Filter(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.filterName = reader.string(); break; case 2: if (!(message.parameters && message.parameters.length)) message.parameters = []; message.parameters.push($root.proto.QP.FilterParameters.decode(reader, reader.uint32())); break; case 3: message.filterResult = reader.int32(); break; case 4: message.clientNotSupportedConfig = reader.int32(); break; default: reader.skipType(tag & 7); break; } } if (!message.hasOwnProperty("filterName")) throw $util.ProtocolError("missing required 'filterName'", { instance: message }); if (!message.hasOwnProperty("clientNotSupportedConfig")) throw $util.ProtocolError("missing required 'clientNotSupportedConfig'", { instance: message }); return message; }; /** * Decodes a Filter message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.QP.Filter * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.QP.Filter} Filter * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Filter.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Filter message. * @function verify * @memberof proto.QP.Filter * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Filter.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (!$util.isString(message.filterName)) return "filterName: string expected"; if (message.parameters != null && message.hasOwnProperty("parameters")) { if (!Array.isArray(message.parameters)) return "parameters: array expected"; for (var i = 0; i < message.parameters.length; ++i) { var error = $root.proto.QP.FilterParameters.verify(message.parameters[i]); if (error) return "parameters." + error; } } if (message.filterResult != null && message.hasOwnProperty("filterResult")) switch (message.filterResult) { default: return "filterResult: enum value expected"; case 1: case 2: case 3: break; } switch (message.clientNotSupportedConfig) { default: return "clientNotSupportedConfig: enum value expected"; case 1: case 2: break; } return null; }; /** * Creates a Filter message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.QP.Filter * @static * @param {Object.<string,*>} object Plain object * @returns {proto.QP.Filter} Filter */ Filter.fromObject = function fromObject(object) { if (object instanceof $root.proto.QP.Filter) return object; var message = new $root.proto.QP.Filter(); if (object.filterName != null) message.filterName = String(object.filterName); if (object.parameters) { if (!Array.isArray(object.parameters)) throw TypeError(".proto.QP.Filter.parameters: array expected"); message.parameters = []; for (var i = 0; i < object.parameters.length; ++i) { if (typeof object.parameters[i] !== "object") throw TypeError(".proto.QP.Filter.parameters: object expected"); message.parameters[i] = $root.proto.QP.FilterParameters.fromObject(object.parameters[i]); } } switch (object.filterResult) { case "TRUE": case 1: message.filterResult = 1; break; case "FALSE": case 2: message.filterResult = 2; break; case "UNKNOWN": case 3: message.filterResult = 3; break; } switch (object.clientNotSupportedConfig) { case "PASS_BY_DEFAULT": case 1: message.clientNotSupportedConfig = 1; break; case "FAIL_BY_DEFAULT": case 2: message.clientNotSupportedConfig = 2; break; } return message; }; /** * Creates a plain object from a Filter message. Also converts values to other types if specified. * @function toObject * @memberof proto.QP.Filter * @static * @param {proto.QP.Filter} message Filter * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Filter.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.parameters = []; if (options.defaults) { object.filterName = ""; object.filterResult = options.enums === String ? "TRUE" : 1; object.clientNotSupportedConfig = options.enums === String ? "PASS_BY_DEFAULT" : 1; } if (message.filterName != null && message.hasOwnProperty("filterName")) object.filterName = message.filterName; if (message.parameters && message.parameters.length) { object.parameters = []; for (var j = 0; j < message.parameters.length; ++j) object.parameters[j] = $root.proto.QP.FilterParameters.toObject(message.parameters[j], options); } if (message.filterResult != null && message.hasOwnProperty("filterResult")) object.filterResult = options.enums === String ? $root.proto.QP.FilterResult[message.filterResult] : message.filterResult; if (message.clientNotSupportedConfig != null && message.hasOwnProperty("clientNotSupportedConfig")) object.clientNotSupportedConfig = options.enums === String ? $root.proto.QP.FilterClientNotSupportedConfig[message.clientNotSupportedConfig] : message.clientNotSupportedConfig; return object; }; /** * Converts this Filter to JSON. * @function toJSON * @memberof proto.QP.Filter * @instance * @returns {Object.<string,*>} JSON object */ Filter.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Filter; })(); QP.FilterClause = (function() { /** * Properties of a FilterClause. * @memberof proto.QP * @interface IFilterClause * @property {proto.QP.ClauseType} clauseType FilterClause clauseType * @property {Array.<proto.QP.IFilterClause>|null} [clauses] FilterClause clauses * @property {Array.<proto.QP.IFilter>|null} [filters] FilterClause filters */ /** * Constructs a new FilterClause. * @memberof proto.QP * @classdesc Represents a FilterClause. * @implements IFilterClause * @constructor * @param {proto.QP.IFilterClause=} [properties] Properties to set */ function FilterClause(properties) { this.clauses = []; this.filters = []; 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]]; } /** * FilterClause clauseType. * @member {proto.QP.ClauseType} clauseType * @memberof proto.QP.FilterClause * @instance */ FilterClause.prototype.clauseType = 1; /** * FilterClause clauses. * @member {Array.<proto.QP.IFilterClause>} clauses * @memberof proto.QP.FilterClause * @instance */ FilterClause.prototype.clauses = $util.emptyArray; /** * FilterClause filters. * @member {Array.<proto.QP.IFilter>} filters * @memberof proto.QP.FilterClause * @instance */ FilterClause.prototype.filters = $util.emptyArray; /** * Creates a new FilterClause instance using the specified properties. * @function create * @memberof proto.QP.FilterClause * @static * @param {proto.QP.IFilterClause=} [properties] Properties to set * @returns {proto.QP.FilterClause} FilterClause instance */ FilterClause.create = function create(properties) { return new FilterClause(properties); }; /** * Encodes the specified FilterClause message. Does not implicitly {@link proto.QP.FilterClause.verify|verify} messages. * @function encode * @memberof proto.QP.FilterClause * @static * @param {proto.QP.IFilterClause} message FilterClause message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ FilterClause.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); writer.uint32(/* id 1, wireType 0 =*/8).int32(message.clauseType); if (message.clauses != null && message.clauses.length) for (var i = 0; i < message.clauses.length; ++i) $root.proto.QP.FilterClause.encode(message.clauses[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.filters != null && message.filters.length) for (var i = 0; i < message.filters.length; ++i) $root.proto.QP.Filter.encode(message.filters[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** * Encodes the specified FilterClause message, length delimited. Does not implicitly {@link proto.QP.FilterClause.verify|verify} messages. * @function encodeDelimited * @memberof proto.QP.FilterClause * @static * @param {proto.QP.IFilterClause} message FilterClause message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ FilterClause.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a FilterClause message from the specified reader or buffer. * @function decode * @memberof proto.QP.FilterClause * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.QP.FilterClause} FilterClause * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ FilterClause.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.QP.FilterClause(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.clauseType = reader.int32(); break; case 2: if (!(message.clauses && message.clauses.length)) message.clauses = []; message.clauses.push($root.proto.QP.FilterClause.decode(reader, reader.uint32())); break; case 3: if (!(message.filters && message.filters.length)) message.filters = []; message.filters.push($root.proto.QP.Filter.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } if (!message.hasOwnProperty("clauseType")) throw $util.ProtocolError("missing required 'clauseType'", { instance: message }); return message; }; /** * Decodes a FilterClause message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.QP.FilterClause * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.QP.FilterClause} FilterClause * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ FilterClause.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a FilterClause message. * @function verify * @memberof proto.QP.FilterClause * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ FilterClause.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; switch (message.clauseType) { default: return "clauseType: enum value expected"; case 1: case 2: case 3: break; } if (message.clauses != null && message.hasOwnProperty("clauses")) { if (!Array.isArray(message.clauses)) return "clauses: array expected"; for (var i = 0; i < message.clauses.length; ++i) { var error = $root.proto.QP.FilterClause.verify(message.clauses[i]); if (error) return "clauses." + error; } } if (message.filters != null && message.hasOwnProperty("filters")) { if (!Array.isArray(message.filters)) return "filters: array expected"; for (var i = 0; i < message.filters.length; ++i) { var error = $root.proto.QP.Filter.verify(message.filters[i]); if (error) return "filters." + error; } } return null; }; /** * Creates a FilterClause message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.QP.FilterClause * @static * @param {Object.<string,*>} object Plain object * @returns {proto.QP.FilterClause} FilterClause */ FilterClause.fromObject = function fromObject(object) { if (object instanceof $root.proto.QP.FilterClause) return object; var message = new $root.proto.QP.FilterClause(); switch (object.clauseType) { case "AND": case 1: message.clauseType = 1; break; case "OR": case 2: message.clauseType = 2; break; case "NOR": case 3: message.clauseType = 3; break; } if (object.clauses) { if (!Array.isArray(object.clauses)) throw TypeError(".proto.QP.FilterClause.clauses: array expected"); message.clauses = []; for (var i = 0; i < object.clauses.length; ++i) { if (typeof object.clauses[i] !== "object") throw TypeError(".proto.QP.FilterClause.clauses: object expected"); message.clauses[i] = $root.proto.QP.FilterClause.fromObject(object.clauses[i]); } } if (object.filters) { if (!Array.isArray(object.filters)) throw TypeError(".proto.QP.FilterClause.filters: array expected"); message.filters = []; for (var i = 0; i < object.filters.length; ++i) { if (typeof object.filters[i] !== "object") throw TypeError(".proto.QP.FilterClause.filters: object expected"); message.filters[i] = $root.proto.QP.Filter.fromObject(object.filters[i]); } } return message; }; /** * Creates a plain object from a FilterClause message. Also converts values to other types if specified. * @function toObject * @memberof proto.QP.FilterClause * @static * @param {proto.QP.FilterClause} message FilterClause * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ FilterClause.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.clauses = []; object.filters = []; } if (options.defaults) object.clauseType = options.enums === String ? "AND" : 1; if (message.clauseType != null && message.hasOwnProperty("clauseType")) object.clauseType = options.enums === String ? $root.proto.QP.ClauseType[message.clauseType] : message.clauseType; if (message.clauses && message.clauses.length) { object.clauses = []; for (var j = 0; j < message.clauses.length; ++j) object.clauses[j] = $root.proto.QP.FilterClause.toObject(message.clauses[j], options); } if (message.filters && message.filters.length) { object.filters = []; for (var j = 0; j < message.filters.length; ++j) object.filters[j] = $root.proto.QP.Filter.toObject(message.filters[j], options); } return object; }; /** * Converts this FilterClause to JSON. * @function toJSON * @memberof proto.QP.FilterClause * @instance * @returns {Object.<string,*>} JSON object */ FilterClause.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return FilterClause; })(); /** * FilterClientNotSupportedConfig enum. * @name proto.QP.FilterClientNotSupportedConfig * @enum {number} * @property {number} PASS_BY_DEFAULT=1 PASS_BY_DEFAULT value * @property {number} FAIL_BY_DEFAULT=2 FAIL_BY_DEFAULT value */ QP.FilterClientNotSupportedConfig = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[1] = "PASS_BY_DEFAULT"] = 1; values[valuesById[2] = "FAIL_BY_DEFAULT"] = 2; return values; })(); QP.FilterParameters = (function() { /** * Properties of a FilterParameters. * @memberof proto.QP * @interface IFilterParameters * @property {string|null} [key] FilterParameters key * @property {string|null} [value] FilterParameters value */ /** * Constructs a new FilterParameters. * @memberof proto.QP * @classdesc Represents a FilterParameters. * @implements IFilterParameters * @constructor * @param {proto.QP.IFilterParameters=} [properties] Properties to set */ function FilterParameters(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]]; } /** * FilterParameters key. * @member {string} key * @memberof proto.QP.FilterParameters * @instance */ FilterParameters.prototype.key = ""; /** * FilterParameters value. * @member {string} value * @memberof proto.QP.FilterParameters * @instance */ FilterParameters.prototype.value = ""; /** * Creates a new FilterParameters instance using the specified properties. * @function create * @memberof proto.QP.FilterParameters * @static * @param {proto.QP.IFilterParameters=} [properties] Properties to set * @returns {proto.QP.FilterParameters} FilterParameters instance */ FilterParameters.create = function create(properties) { return new FilterParameters(properties); }; /** * Encodes the specified FilterParameters message. Does not implicitly {@link proto.QP.FilterParameters.verify|verify} messages. * @function encode * @memberof proto.QP.FilterParameters * @static * @param {proto.QP.IFilterParameters} message FilterParameters message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ FilterParameters.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.key != null && Object.hasOwnProperty.call(message, "key")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); if (message.value != null && Object.hasOwnProperty.call(message, "value")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.value); return writer; }; /** * Encodes the specified FilterParameters message, length delimited. Does not implicitly {@link proto.QP.FilterParameters.verify|verify} messages. * @function encodeDelimited * @memberof proto.QP.FilterParameters * @static * @param {proto.QP.IFilterParameters} message FilterParameters message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ FilterParameters.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a FilterParameters message from the specified reader or buffer. * @function decode * @memberof proto.QP.FilterParameters * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.QP.FilterParameters} FilterParameters * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ FilterParameters.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.QP.FilterParameters(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.key = reader.string(); break; case 2: message.value = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a FilterParameters message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.QP.FilterParameters * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.QP.FilterParameters} FilterParameters * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ FilterParameters.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a FilterParameters message. * @function verify * @memberof proto.QP.FilterParameters * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ FilterParameters.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.key != null && message.hasOwnProperty("key")) if (!$util.isString(message.key)) return "key: string expected"; if (message.value != null && message.hasOwnProperty("value")) if (!$util.isString(message.value)) return "value: string expected"; return null; }; /** * Creates a FilterParameters message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.QP.FilterParameters * @static * @param {Object.<string,*>} object Plain object * @returns {proto.QP.FilterParameters} FilterParameters */ FilterParameters.fromObject = function fromObject(object) { if (object instanceof $root.proto.QP.FilterParameters) return object; var message = new $root.proto.QP.FilterParameters(); if (object.key != null) message.key = String(object.key); if (object.value != null) message.value = String(object.value); return message; }; /** * Creates a plain object from a FilterParameters message. Also converts values to other types if specified. * @function toObject * @memberof proto.QP.FilterParameters * @static * @param {proto.QP.FilterParameters} message FilterParameters * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ FilterParameters.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.key = ""; object.value = ""; } if (message.key != null && message.hasOwnProperty("key")) object.key = message.key; if (message.value != null && message.hasOwnProperty("value")) object.value = message.value; return object; }; /** * Converts this FilterParameters to JSON. * @function toJSON * @memberof proto.QP.FilterParameters * @instance * @returns {Object.<string,*>} JSON object */ FilterParameters.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return FilterParameters; })(); /** * FilterResult enum. * @name proto.QP.FilterResult * @enum {number} * @property {number} TRUE=1 TRUE value * @property {number} FALSE=2 FALSE value * @property {number} UNKNOWN=3 UNKNOWN value */ QP.FilterResult = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[1] = "TRUE"] = 1; values[valuesById[2] = "FALSE"] = 2; values[valuesById[3] = "UNKNOWN"] = 3; return values; })(); return QP; })(); proto.Reaction = (function() { /** * Properties of a Reaction. * @memberof proto * @interface IReaction * @property {proto.IMessageKey|null} [key] Reaction key * @property {string|null} [text] Reaction text * @property {string|null} [groupingKey] Reaction groupingKey * @property {number|Long|null} [senderTimestampMs] Reaction senderTimestampMs * @property {boolean|null} [unread] Reaction unread */ /** * Constructs a new Reaction. * @memberof proto * @classdesc Represents a Reaction. * @implements IReaction * @constructor * @param {proto.IReaction=} [properties] Properties to set */ function Reaction(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]]; } /** * Reaction key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.Reaction * @instance */ Reaction.prototype.key = null; /** * Reaction text. * @member {string} text * @memberof proto.Reaction * @instance */ Reaction.prototype.text = ""; /** * Reaction groupingKey. * @member {string} groupingKey * @memberof proto.Reaction * @instance */ Reaction.prototype.groupingKey = ""; /** * Reaction senderTimestampMs. * @member {number|Long} senderTimestampMs * @memberof proto.Reaction * @instance */ Reaction.prototype.senderTimestampMs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Reaction unread. * @member {boolean} unread * @memberof proto.Reaction * @instance */ Reaction.prototype.unread = false; /** * Creates a new Reaction instance using the specified properties. * @function create * @memberof proto.Reaction * @static * @param {proto.IReaction=} [properties] Properties to set * @returns {proto.Reaction} Reaction instance */ Reaction.create = function create(properties) { return new Reaction(properties); }; /** * Encodes the specified Reaction message. Does not implicitly {@link proto.Reaction.verify|verify} messages. * @function encode * @memberof proto.Reaction * @static * @param {proto.IReaction} message Reaction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Reaction.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.text != null && Object.hasOwnProperty.call(message, "text")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.text); if (message.groupingKey != null && Object.hasOwnProperty.call(message, "groupingKey")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.groupingKey); if (message.senderTimestampMs != null && Object.hasOwnProperty.call(message, "senderTimestampMs")) writer.uint32(/* id 4, wireType 0 =*/32).int64(message.senderTimestampMs); if (message.unread != null && Object.hasOwnProperty.call(message, "unread")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.unread); return writer; }; /** * Encodes the specified Reaction message, length delimited. Does not implicitly {@link proto.Reaction.verify|verify} messages. * @function encodeDelimited * @memberof proto.Reaction * @static * @param {proto.IReaction} message Reaction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Reaction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Reaction message from the specified reader or buffer. * @function decode * @memberof proto.Reaction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.Reaction} Reaction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Reaction.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.Reaction(); 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.text = reader.string(); break; case 3: message.groupingKey = reader.string(); break; case 4: message.senderTimestampMs = reader.int64(); break; case 5: message.unread = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Reaction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.Reaction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.Reaction} Reaction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Reaction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Reaction message. * @function verify * @memberof proto.Reaction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Reaction.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.text != null && message.hasOwnProperty("text")) if (!$util.isString(message.text)) return "text: string expected"; if (message.groupingKey != null && message.hasOwnProperty("groupingKey")) if (!$util.isString(message.groupingKey)) return "groupingKey: string expected"; if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (!$util.isInteger(message.senderTimestampMs) && !(message.senderTimestampMs && $util.isInteger(message.senderTimestampMs.low) && $util.isInteger(message.senderTimestampMs.high))) return "senderTimestampMs: integer|Long expected"; if (message.unread != null && message.hasOwnProperty("unread")) if (typeof message.unread !== "boolean") return "unread: boolean expected"; return null; }; /** * Creates a Reaction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.Reaction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.Reaction} Reaction */ Reaction.fromObject = function fromObject(object) { if (object instanceof $root.proto.Reaction) return object; var message = new $root.proto.Reaction(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.Reaction.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } if (object.text != null) message.text = String(object.text); if (object.groupingKey != null) message.groupingKey = String(object.groupingKey); if (object.senderTimestampMs != null) if ($util.Long) (message.senderTimestampMs = $util.Long.fromValue(object.senderTimestampMs)).unsigned = false; else if (typeof object.senderTimestampMs === "string") message.senderTimestampMs = parseInt(object.senderTimestampMs, 10); else if (typeof object.senderTimestampMs === "number") message.senderTimestampMs = object.senderTimestampMs; else if (typeof object.senderTimestampMs === "object") message.senderTimestampMs = new $util.LongBits(object.senderTimestampMs.low >>> 0, object.senderTimestampMs.high >>> 0).toNumber(); if (object.unread != null) message.unread = Boolean(object.unread); return message; }; /** * Creates a plain object from a Reaction message. Also converts values to other types if specified. * @function toObject * @memberof proto.Reaction * @static * @param {proto.Reaction} message Reaction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Reaction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.key = null; object.text = ""; object.groupingKey = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.senderTimestampMs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.senderTimestampMs = options.longs === String ? "0" : 0; object.unread = false; } if (message.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, options); if (message.text != null && message.hasOwnProperty("text")) object.text = message.text; if (message.groupingKey != null && message.hasOwnProperty("groupingKey")) object.groupingKey = message.groupingKey; if (message.senderTimestampMs != null && message.hasOwnProperty("senderTimestampMs")) if (typeof message.senderTimestampMs === "number") object.senderTimestampMs = options.longs === String ? String(message.senderTimestampMs) : message.senderTimestampMs; else object.senderTimestampMs = options.longs === String ? $util.Long.prototype.toString.call(message.senderTimestampMs) : options.longs === Number ? new $util.LongBits(message.senderTimestampMs.low >>> 0, message.senderTimestampMs.high >>> 0).toNumber() : message.senderTimestampMs; if (message.unread != null && message.hasOwnProperty("unread")) object.unread = message.unread; return object; }; /** * Converts this Reaction to JSON. * @function toJSON * @memberof proto.Reaction * @instance * @returns {Object.<string,*>} JSON object */ Reaction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Reaction; })(); proto.RecentEmojiWeight = (function() { /** * Properties of a RecentEmojiWeight. * @memberof proto * @interface IRecentEmojiWeight * @property {string|null} [emoji] RecentEmojiWeight emoji * @property {number|null} [weight] RecentEmojiWeight weight */ /** * Constructs a new RecentEmojiWeight. * @memberof proto * @classdesc Represents a RecentEmojiWeight. * @implements IRecentEmojiWeight * @constructor * @param {proto.IRecentEmojiWeight=} [properties] Properties to set */ function RecentEmojiWeight(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]]; } /** * RecentEmojiWeight emoji. * @member {string} emoji * @memberof proto.RecentEmojiWeight * @instance */ RecentEmojiWeight.prototype.emoji = ""; /** * RecentEmojiWeight weight. * @member {number} weight * @memberof proto.RecentEmojiWeight * @instance */ RecentEmojiWeight.prototype.weight = 0; /** * Creates a new RecentEmojiWeight instance using the specified properties. * @function create * @memberof proto.RecentEmojiWeight * @static * @param {proto.IRecentEmojiWeight=} [properties] Properties to set * @returns {proto.RecentEmojiWeight} RecentEmojiWeight instance */ RecentEmojiWeight.create = function create(properties) { return new RecentEmojiWeight(properties); }; /** * Encodes the specified RecentEmojiWeight message. Does not implicitly {@link proto.RecentEmojiWeight.verify|verify} messages. * @function encode * @memberof proto.RecentEmojiWeight * @static * @param {proto.IRecentEmojiWeight} message RecentEmojiWeight message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RecentEmojiWeight.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.emoji != null && Object.hasOwnProperty.call(message, "emoji")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.emoji); if (message.weight != null && Object.hasOwnProperty.call(message, "weight")) writer.uint32(/* id 2, wireType 5 =*/21).float(message.weight); return writer; }; /** * Encodes the specified RecentEmojiWeight message, length delimited. Does not implicitly {@link proto.RecentEmojiWeight.verify|verify} messages. * @function encodeDelimited * @memberof proto.RecentEmojiWeight * @static * @param {proto.IRecentEmojiWeight} message RecentEmojiWeight message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RecentEmojiWeight.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a RecentEmojiWeight message from the specified reader or buffer. * @function decode * @memberof proto.RecentEmojiWeight * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.RecentEmojiWeight} RecentEmojiWeight * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RecentEmojiWeight.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.RecentEmojiWeight(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.emoji = reader.string(); break; case 2: message.weight = reader.float(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a RecentEmojiWeight message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.RecentEmojiWeight * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.RecentEmojiWeight} RecentEmojiWeight * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RecentEmojiWeight.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a RecentEmojiWeight message. * @function verify * @memberof proto.RecentEmojiWeight * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ RecentEmojiWeight.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.emoji != null && message.hasOwnProperty("emoji")) if (!$util.isString(message.emoji)) return "emoji: string expected"; if (message.weight != null && message.hasOwnProperty("weight")) if (typeof message.weight !== "number") return "weight: number expected"; return null; }; /** * Creates a RecentEmojiWeight message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.RecentEmojiWeight * @static * @param {Object.<string,*>} object Plain object * @returns {proto.RecentEmojiWeight} RecentEmojiWeight */ RecentEmojiWeight.fromObject = function fromObject(object) { if (object instanceof $root.proto.RecentEmojiWeight) return object; var message = new $root.proto.RecentEmojiWeight(); if (object.emoji != null) message.emoji = String(object.emoji); if (object.weight != null) message.weight = Number(object.weight); return message; }; /** * Creates a plain object from a RecentEmojiWeight message. Also converts values to other types if specified. * @function toObject * @memberof proto.RecentEmojiWeight * @static * @param {proto.RecentEmojiWeight} message RecentEmojiWeight * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ RecentEmojiWeight.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.emoji = ""; object.weight = 0; } if (message.emoji != null && message.hasOwnProperty("emoji")) object.emoji = message.emoji; if (message.weight != null && message.hasOwnProperty("weight")) object.weight = options.json && !isFinite(message.weight) ? String(message.weight) : message.weight; return object; }; /** * Converts this RecentEmojiWeight to JSON. * @function toJSON * @memberof proto.RecentEmojiWeight * @instance * @returns {Object.<string,*>} JSON object */ RecentEmojiWeight.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return RecentEmojiWeight; })(); proto.RecordStructure = (function() { /** * Properties of a RecordStructure. * @memberof proto * @interface IRecordStructure * @property {proto.ISessionStructure|null} [currentSession] RecordStructure currentSession * @property {Array.<proto.ISessionStructure>|null} [previousSessions] RecordStructure previousSessions */ /** * Constructs a new RecordStructure. * @memberof proto * @classdesc Represents a RecordStructure. * @implements IRecordStructure * @constructor * @param {proto.IRecordStructure=} [properties] Properties to set */ function RecordStructure(properties) { this.previousSessions = []; 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]]; } /** * RecordStructure currentSession. * @member {proto.ISessionStructure|null|undefined} currentSession * @memberof proto.RecordStructure * @instance */ RecordStructure.prototype.currentSession = null; /** * RecordStructure previousSessions. * @member {Array.<proto.ISessionStructure>} previousSessions * @memberof proto.RecordStructure * @instance */ RecordStructure.prototype.previousSessions = $util.emptyArray; /** * Creates a new RecordStructure instance using the specified properties. * @function create * @memberof proto.RecordStructure * @static * @param {proto.IRecordStructure=} [properties] Properties to set * @returns {proto.RecordStructure} RecordStructure instance */ RecordStructure.create = function create(properties) { return new RecordStructure(properties); }; /** * Encodes the specified RecordStructure message. Does not implicitly {@link proto.RecordStructure.verify|verify} messages. * @function encode * @memberof proto.RecordStructure * @static * @param {proto.IRecordStructure} message RecordStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RecordStructure.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.currentSession != null && Object.hasOwnProperty.call(message, "currentSession")) $root.proto.SessionStructure.encode(message.currentSession, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.previousSessions != null && message.previousSessions.length) for (var i = 0; i < message.previousSessions.length; ++i) $root.proto.SessionStructure.encode(message.previousSessions[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified RecordStructure message, length delimited. Does not implicitly {@link proto.RecordStructure.verify|verify} messages. * @function encodeDelimited * @memberof proto.RecordStructure * @static * @param {proto.IRecordStructure} message RecordStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RecordStructure.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a RecordStructure message from the specified reader or buffer. * @function decode * @memberof proto.RecordStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.RecordStructure} RecordStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RecordStructure.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.RecordStructure(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.currentSession = $root.proto.SessionStructure.decode(reader, reader.uint32()); break; case 2: if (!(message.previousSessions && message.previousSessions.length)) message.previousSessions = []; message.previousSessions.push($root.proto.SessionStructure.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a RecordStructure message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.RecordStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.RecordStructure} RecordStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RecordStructure.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a RecordStructure message. * @function verify * @memberof proto.RecordStructure * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ RecordStructure.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.currentSession != null && message.hasOwnProperty("currentSession")) { var error = $root.proto.SessionStructure.verify(message.currentSession); if (error) return "currentSession." + error; } if (message.previousSessions != null && message.hasOwnProperty("previousSessions")) { if (!Array.isArray(message.previousSessions)) return "previousSessions: array expected"; for (var i = 0; i < message.previousSessions.length; ++i) { var error = $root.proto.SessionStructure.verify(message.previousSessions[i]); if (error) return "previousSessions." + error; } } return null; }; /** * Creates a RecordStructure message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.RecordStructure * @static * @param {Object.<string,*>} object Plain object * @returns {proto.RecordStructure} RecordStructure */ RecordStructure.fromObject = function fromObject(object) { if (object instanceof $root.proto.RecordStructure) return object; var message = new $root.proto.RecordStructure(); if (object.currentSession != null) { if (typeof object.currentSession !== "object") throw TypeError(".proto.RecordStructure.currentSession: object expected"); message.currentSession = $root.proto.SessionStructure.fromObject(object.currentSession); } if (object.previousSessions) { if (!Array.isArray(object.previousSessions)) throw TypeError(".proto.RecordStructure.previousSessions: array expected"); message.previousSessions = []; for (var i = 0; i < object.previousSessions.length; ++i) { if (typeof object.previousSessions[i] !== "object") throw TypeError(".proto.RecordStructure.previousSessions: object expected"); message.previousSessions[i] = $root.proto.SessionStructure.fromObject(object.previousSessions[i]); } } return message; }; /** * Creates a plain object from a RecordStructure message. Also converts values to other types if specified. * @function toObject * @memberof proto.RecordStructure * @static * @param {proto.RecordStructure} message RecordStructure * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ RecordStructure.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.previousSessions = []; if (options.defaults) object.currentSession = null; if (message.currentSession != null && message.hasOwnProperty("currentSession")) object.currentSession = $root.proto.SessionStructure.toObject(message.currentSession, options); if (message.previousSessions && message.previousSessions.length) { object.previousSessions = []; for (var j = 0; j < message.previousSessions.length; ++j) object.previousSessions[j] = $root.proto.SessionStructure.toObject(message.previousSessions[j], options); } return object; }; /** * Converts this RecordStructure to JSON. * @function toJSON * @memberof proto.RecordStructure * @instance * @returns {Object.<string,*>} JSON object */ RecordStructure.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return RecordStructure; })(); proto.SenderKeyDistributionMessage = (function() { /** * Properties of a SenderKeyDistributionMessage. * @memberof proto * @interface ISenderKeyDistributionMessage * @property {number|null} [id] SenderKeyDistributionMessage id * @property {number|null} [iteration] SenderKeyDistributionMessage iteration * @property {Uint8Array|null} [chainKey] SenderKeyDistributionMessage chainKey * @property {Uint8Array|null} [signingKey] SenderKeyDistributionMessage signingKey */ /** * 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 id. * @member {number} id * @memberof proto.SenderKeyDistributionMessage * @instance */ SenderKeyDistributionMessage.prototype.id = 0; /** * SenderKeyDistributionMessage iteration. * @member {number} iteration * @memberof proto.SenderKeyDistributionMessage * @instance */ SenderKeyDistributionMessage.prototype.iteration = 0; /** * SenderKeyDistributionMessage chainKey. * @member {Uint8Array} chainKey * @memberof proto.SenderKeyDistributionMessage * @instance */ SenderKeyDistributionMessage.prototype.chainKey = $util.newBuffer([]); /** * SenderKeyDistributionMessage signingKey. * @member {Uint8Array} signingKey * @memberof proto.SenderKeyDistributionMessage * @instance */ SenderKeyDistributionMessage.prototype.signingKey = $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.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.id); if (message.iteration != null && Object.hasOwnProperty.call(message, "iteration")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.iteration); if (message.chainKey != null && Object.hasOwnProperty.call(message, "chainKey")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.chainKey); if (message.signingKey != null && Object.hasOwnProperty.call(message, "signingKey")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.signingKey); 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.id = reader.uint32(); break; case 2: message.iteration = reader.uint32(); break; case 3: message.chainKey = reader.bytes(); break; case 4: message.signingKey = 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.<string,*>} 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.id != null && message.hasOwnProperty("id")) if (!$util.isInteger(message.id)) return "id: integer expected"; if (message.iteration != null && message.hasOwnProperty("iteration")) if (!$util.isInteger(message.iteration)) return "iteration: integer expected"; if (message.chainKey != null && message.hasOwnProperty("chainKey")) if (!(message.chainKey && typeof message.chainKey.length === "number" || $util.isString(message.chainKey))) return "chainKey: buffer expected"; if (message.signingKey != null && message.hasOwnProperty("signingKey")) if (!(message.signingKey && typeof message.signingKey.length === "number" || $util.isString(message.signingKey))) return "signingKey: 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.<string,*>} 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.id != null) message.id = object.id >>> 0; if (object.iteration != null) message.iteration = object.iteration >>> 0; if (object.chainKey != null) if (typeof object.chainKey === "string") $util.base64.decode(object.chainKey, message.chainKey = $util.newBuffer($util.base64.length(object.chainKey)), 0); else if (object.chainKey.length) message.chainKey = object.chainKey; if (object.signingKey != null) if (typeof object.signingKey === "string") $util.base64.decode(object.signingKey, message.signingKey = $util.newBuffer($util.base64.length(object.signingKey)), 0); else if (object.signingKey.length) message.signingKey = object.signingKey; 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.<string,*>} Plain object */ SenderKeyDistributionMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.id = 0; object.iteration = 0; if (options.bytes === String) object.chainKey = ""; else { object.chainKey = []; if (options.bytes !== Array) object.chainKey = $util.newBuffer(object.chainKey); } if (options.bytes === String) object.signingKey = ""; else { object.signingKey = []; if (options.bytes !== Array) object.signingKey = $util.newBuffer(object.signingKey); } } if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; if (message.iteration != null && message.hasOwnProperty("iteration")) object.iteration = message.iteration; if (message.chainKey != null && message.hasOwnProperty("chainKey")) object.chainKey = options.bytes === String ? $util.base64.encode(message.chainKey, 0, message.chainKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.chainKey) : message.chainKey; if (message.signingKey != null && message.hasOwnProperty("signingKey")) object.signingKey = options.bytes === String ? $util.base64.encode(message.signingKey, 0, message.signingKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.signingKey) : message.signingKey; return object; }; /** * Converts this SenderKeyDistributionMessage to JSON. * @function toJSON * @memberof proto.SenderKeyDistributionMessage * @instance * @returns {Object.<string,*>} JSON object */ SenderKeyDistributionMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SenderKeyDistributionMessage; })(); proto.SenderKeyMessage = (function() { /** * Properties of a SenderKeyMessage. * @memberof proto * @interface ISenderKeyMessage * @property {number|null} [id] SenderKeyMessage id * @property {number|null} [iteration] SenderKeyMessage iteration * @property {Uint8Array|null} [ciphertext] SenderKeyMessage ciphertext */ /** * Constructs a new SenderKeyMessage. * @memberof proto * @classdesc Represents a SenderKeyMessage. * @implements ISenderKeyMessage * @constructor * @param {proto.ISenderKeyMessage=} [properties] Properties to set */ function SenderKeyMessage(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]]; } /** * SenderKeyMessage id. * @member {number} id * @memberof proto.SenderKeyMessage * @instance */ SenderKeyMessage.prototype.id = 0; /** * SenderKeyMessage iteration. * @member {number} iteration * @memberof proto.SenderKeyMessage * @instance */ SenderKeyMessage.prototype.iteration = 0; /** * SenderKeyMessage ciphertext. * @member {Uint8Array} ciphertext * @memberof proto.SenderKeyMessage * @instance */ SenderKeyMessage.prototype.ciphertext = $util.newBuffer([]); /** * Creates a new SenderKeyMessage instance using the specified properties. * @function create * @memberof proto.SenderKeyMessage * @static * @param {proto.ISenderKeyMessage=} [properties] Properties to set * @returns {proto.SenderKeyMessage} SenderKeyMessage instance */ SenderKeyMessage.create = function create(properties) { return new SenderKeyMessage(properties); }; /** * Encodes the specified SenderKeyMessage message. Does not implicitly {@link proto.SenderKeyMessage.verify|verify} messages. * @function encode * @memberof proto.SenderKeyMessage * @static * @param {proto.ISenderKeyMessage} message SenderKeyMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderKeyMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.id); if (message.iteration != null && Object.hasOwnProperty.call(message, "iteration")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.iteration); if (message.ciphertext != null && Object.hasOwnProperty.call(message, "ciphertext")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.ciphertext); return writer; }; /** * Encodes the specified SenderKeyMessage message, length delimited. Does not implicitly {@link proto.SenderKeyMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.SenderKeyMessage * @static * @param {proto.ISenderKeyMessage} message SenderKeyMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderKeyMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SenderKeyMessage message from the specified reader or buffer. * @function decode * @memberof proto.SenderKeyMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SenderKeyMessage} SenderKeyMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderKeyMessage.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.SenderKeyMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.uint32(); break; case 2: message.iteration = reader.uint32(); break; case 3: message.ciphertext = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SenderKeyMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SenderKeyMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SenderKeyMessage} SenderKeyMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderKeyMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SenderKeyMessage message. * @function verify * @memberof proto.SenderKeyMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SenderKeyMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isInteger(message.id)) return "id: integer expected"; if (message.iteration != null && message.hasOwnProperty("iteration")) if (!$util.isInteger(message.iteration)) return "iteration: integer expected"; if (message.ciphertext != null && message.hasOwnProperty("ciphertext")) if (!(message.ciphertext && typeof message.ciphertext.length === "number" || $util.isString(message.ciphertext))) return "ciphertext: buffer expected"; return null; }; /** * Creates a SenderKeyMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SenderKeyMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SenderKeyMessage} SenderKeyMessage */ SenderKeyMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.SenderKeyMessage) return object; var message = new $root.proto.SenderKeyMessage(); if (object.id != null) message.id = object.id >>> 0; if (object.iteration != null) message.iteration = object.iteration >>> 0; if (object.ciphertext != null) if (typeof object.ciphertext === "string") $util.base64.decode(object.ciphertext, message.ciphertext = $util.newBuffer($util.base64.length(object.ciphertext)), 0); else if (object.ciphertext.length) message.ciphertext = object.ciphertext; return message; }; /** * Creates a plain object from a SenderKeyMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.SenderKeyMessage * @static * @param {proto.SenderKeyMessage} message SenderKeyMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SenderKeyMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.id = 0; object.iteration = 0; if (options.bytes === String) object.ciphertext = ""; else { object.ciphertext = []; if (options.bytes !== Array) object.ciphertext = $util.newBuffer(object.ciphertext); } } if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; if (message.iteration != null && message.hasOwnProperty("iteration")) object.iteration = message.iteration; if (message.ciphertext != null && message.hasOwnProperty("ciphertext")) object.ciphertext = options.bytes === String ? $util.base64.encode(message.ciphertext, 0, message.ciphertext.length) : options.bytes === Array ? Array.prototype.slice.call(message.ciphertext) : message.ciphertext; return object; }; /** * Converts this SenderKeyMessage to JSON. * @function toJSON * @memberof proto.SenderKeyMessage * @instance * @returns {Object.<string,*>} JSON object */ SenderKeyMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SenderKeyMessage; })(); proto.SenderKeyRecordStructure = (function() { /** * Properties of a SenderKeyRecordStructure. * @memberof proto * @interface ISenderKeyRecordStructure * @property {Array.<proto.ISenderKeyStateStructure>|null} [senderKeyStates] SenderKeyRecordStructure senderKeyStates */ /** * Constructs a new SenderKeyRecordStructure. * @memberof proto * @classdesc Represents a SenderKeyRecordStructure. * @implements ISenderKeyRecordStructure * @constructor * @param {proto.ISenderKeyRecordStructure=} [properties] Properties to set */ function SenderKeyRecordStructure(properties) { this.senderKeyStates = []; 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]]; } /** * SenderKeyRecordStructure senderKeyStates. * @member {Array.<proto.ISenderKeyStateStructure>} senderKeyStates * @memberof proto.SenderKeyRecordStructure * @instance */ SenderKeyRecordStructure.prototype.senderKeyStates = $util.emptyArray; /** * Creates a new SenderKeyRecordStructure instance using the specified properties. * @function create * @memberof proto.SenderKeyRecordStructure * @static * @param {proto.ISenderKeyRecordStructure=} [properties] Properties to set * @returns {proto.SenderKeyRecordStructure} SenderKeyRecordStructure instance */ SenderKeyRecordStructure.create = function create(properties) { return new SenderKeyRecordStructure(properties); }; /** * Encodes the specified SenderKeyRecordStructure message. Does not implicitly {@link proto.SenderKeyRecordStructure.verify|verify} messages. * @function encode * @memberof proto.SenderKeyRecordStructure * @static * @param {proto.ISenderKeyRecordStructure} message SenderKeyRecordStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderKeyRecordStructure.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.senderKeyStates != null && message.senderKeyStates.length) for (var i = 0; i < message.senderKeyStates.length; ++i) $root.proto.SenderKeyStateStructure.encode(message.senderKeyStates[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified SenderKeyRecordStructure message, length delimited. Does not implicitly {@link proto.SenderKeyRecordStructure.verify|verify} messages. * @function encodeDelimited * @memberof proto.SenderKeyRecordStructure * @static * @param {proto.ISenderKeyRecordStructure} message SenderKeyRecordStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderKeyRecordStructure.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SenderKeyRecordStructure message from the specified reader or buffer. * @function decode * @memberof proto.SenderKeyRecordStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SenderKeyRecordStructure} SenderKeyRecordStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderKeyRecordStructure.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.SenderKeyRecordStructure(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.senderKeyStates && message.senderKeyStates.length)) message.senderKeyStates = []; message.senderKeyStates.push($root.proto.SenderKeyStateStructure.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SenderKeyRecordStructure message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SenderKeyRecordStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SenderKeyRecordStructure} SenderKeyRecordStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderKeyRecordStructure.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SenderKeyRecordStructure message. * @function verify * @memberof proto.SenderKeyRecordStructure * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SenderKeyRecordStructure.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.senderKeyStates != null && message.hasOwnProperty("senderKeyStates")) { if (!Array.isArray(message.senderKeyStates)) return "senderKeyStates: array expected"; for (var i = 0; i < message.senderKeyStates.length; ++i) { var error = $root.proto.SenderKeyStateStructure.verify(message.senderKeyStates[i]); if (error) return "senderKeyStates." + error; } } return null; }; /** * Creates a SenderKeyRecordStructure message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SenderKeyRecordStructure * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SenderKeyRecordStructure} SenderKeyRecordStructure */ SenderKeyRecordStructure.fromObject = function fromObject(object) { if (object instanceof $root.proto.SenderKeyRecordStructure) return object; var message = new $root.proto.SenderKeyRecordStructure(); if (object.senderKeyStates) { if (!Array.isArray(object.senderKeyStates)) throw TypeError(".proto.SenderKeyRecordStructure.senderKeyStates: array expected"); message.senderKeyStates = []; for (var i = 0; i < object.senderKeyStates.length; ++i) { if (typeof object.senderKeyStates[i] !== "object") throw TypeError(".proto.SenderKeyRecordStructure.senderKeyStates: object expected"); message.senderKeyStates[i] = $root.proto.SenderKeyStateStructure.fromObject(object.senderKeyStates[i]); } } return message; }; /** * Creates a plain object from a SenderKeyRecordStructure message. Also converts values to other types if specified. * @function toObject * @memberof proto.SenderKeyRecordStructure * @static * @param {proto.SenderKeyRecordStructure} message SenderKeyRecordStructure * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SenderKeyRecordStructure.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.senderKeyStates = []; if (message.senderKeyStates && message.senderKeyStates.length) { object.senderKeyStates = []; for (var j = 0; j < message.senderKeyStates.length; ++j) object.senderKeyStates[j] = $root.proto.SenderKeyStateStructure.toObject(message.senderKeyStates[j], options); } return object; }; /** * Converts this SenderKeyRecordStructure to JSON. * @function toJSON * @memberof proto.SenderKeyRecordStructure * @instance * @returns {Object.<string,*>} JSON object */ SenderKeyRecordStructure.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SenderKeyRecordStructure; })(); proto.SenderKeyStateStructure = (function() { /** * Properties of a SenderKeyStateStructure. * @memberof proto * @interface ISenderKeyStateStructure * @property {number|null} [senderKeyId] SenderKeyStateStructure senderKeyId * @property {proto.SenderKeyStateStructure.ISenderChainKey|null} [senderChainKey] SenderKeyStateStructure senderChainKey * @property {proto.SenderKeyStateStructure.ISenderSigningKey|null} [senderSigningKey] SenderKeyStateStructure senderSigningKey * @property {Array.<proto.SenderKeyStateStructure.ISenderMessageKey>|null} [senderMessageKeys] SenderKeyStateStructure senderMessageKeys */ /** * Constructs a new SenderKeyStateStructure. * @memberof proto * @classdesc Represents a SenderKeyStateStructure. * @implements ISenderKeyStateStructure * @constructor * @param {proto.ISenderKeyStateStructure=} [properties] Properties to set */ function SenderKeyStateStructure(properties) { this.senderMessageKeys = []; 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]]; } /** * SenderKeyStateStructure senderKeyId. * @member {number} senderKeyId * @memberof proto.SenderKeyStateStructure * @instance */ SenderKeyStateStructure.prototype.senderKeyId = 0; /** * SenderKeyStateStructure senderChainKey. * @member {proto.SenderKeyStateStructure.ISenderChainKey|null|undefined} senderChainKey * @memberof proto.SenderKeyStateStructure * @instance */ SenderKeyStateStructure.prototype.senderChainKey = null; /** * SenderKeyStateStructure senderSigningKey. * @member {proto.SenderKeyStateStructure.ISenderSigningKey|null|undefined} senderSigningKey * @memberof proto.SenderKeyStateStructure * @instance */ SenderKeyStateStructure.prototype.senderSigningKey = null; /** * SenderKeyStateStructure senderMessageKeys. * @member {Array.<proto.SenderKeyStateStructure.ISenderMessageKey>} senderMessageKeys * @memberof proto.SenderKeyStateStructure * @instance */ SenderKeyStateStructure.prototype.senderMessageKeys = $util.emptyArray; /** * Creates a new SenderKeyStateStructure instance using the specified properties. * @function create * @memberof proto.SenderKeyStateStructure * @static * @param {proto.ISenderKeyStateStructure=} [properties] Properties to set * @returns {proto.SenderKeyStateStructure} SenderKeyStateStructure instance */ SenderKeyStateStructure.create = function create(properties) { return new SenderKeyStateStructure(properties); }; /** * Encodes the specified SenderKeyStateStructure message. Does not implicitly {@link proto.SenderKeyStateStructure.verify|verify} messages. * @function encode * @memberof proto.SenderKeyStateStructure * @static * @param {proto.ISenderKeyStateStructure} message SenderKeyStateStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderKeyStateStructure.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.senderKeyId != null && Object.hasOwnProperty.call(message, "senderKeyId")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.senderKeyId); if (message.senderChainKey != null && Object.hasOwnProperty.call(message, "senderChainKey")) $root.proto.SenderKeyStateStructure.SenderChainKey.encode(message.senderChainKey, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.senderSigningKey != null && Object.hasOwnProperty.call(message, "senderSigningKey")) $root.proto.SenderKeyStateStructure.SenderSigningKey.encode(message.senderSigningKey, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.senderMessageKeys != null && message.senderMessageKeys.length) for (var i = 0; i < message.senderMessageKeys.length; ++i) $root.proto.SenderKeyStateStructure.SenderMessageKey.encode(message.senderMessageKeys[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** * Encodes the specified SenderKeyStateStructure message, length delimited. Does not implicitly {@link proto.SenderKeyStateStructure.verify|verify} messages. * @function encodeDelimited * @memberof proto.SenderKeyStateStructure * @static * @param {proto.ISenderKeyStateStructure} message SenderKeyStateStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderKeyStateStructure.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SenderKeyStateStructure message from the specified reader or buffer. * @function decode * @memberof proto.SenderKeyStateStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SenderKeyStateStructure} SenderKeyStateStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderKeyStateStructure.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.SenderKeyStateStructure(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.senderKeyId = reader.uint32(); break; case 2: message.senderChainKey = $root.proto.SenderKeyStateStructure.SenderChainKey.decode(reader, reader.uint32()); break; case 3: message.senderSigningKey = $root.proto.SenderKeyStateStructure.SenderSigningKey.decode(reader, reader.uint32()); break; case 4: if (!(message.senderMessageKeys && message.senderMessageKeys.length)) message.senderMessageKeys = []; message.senderMessageKeys.push($root.proto.SenderKeyStateStructure.SenderMessageKey.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SenderKeyStateStructure message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SenderKeyStateStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SenderKeyStateStructure} SenderKeyStateStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderKeyStateStructure.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SenderKeyStateStructure message. * @function verify * @memberof proto.SenderKeyStateStructure * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SenderKeyStateStructure.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.senderKeyId != null && message.hasOwnProperty("senderKeyId")) if (!$util.isInteger(message.senderKeyId)) return "senderKeyId: integer expected"; if (message.senderChainKey != null && message.hasOwnProperty("senderChainKey")) { var error = $root.proto.SenderKeyStateStructure.SenderChainKey.verify(message.senderChainKey); if (error) return "senderChainKey." + error; } if (message.senderSigningKey != null && message.hasOwnProperty("senderSigningKey")) { var error = $root.proto.SenderKeyStateStructure.SenderSigningKey.verify(message.senderSigningKey); if (error) return "senderSigningKey." + error; } if (message.senderMessageKeys != null && message.hasOwnProperty("senderMessageKeys")) { if (!Array.isArray(message.senderMessageKeys)) return "senderMessageKeys: array expected"; for (var i = 0; i < message.senderMessageKeys.length; ++i) { var error = $root.proto.SenderKeyStateStructure.SenderMessageKey.verify(message.senderMessageKeys[i]); if (error) return "senderMessageKeys." + error; } } return null; }; /** * Creates a SenderKeyStateStructure message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SenderKeyStateStructure * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SenderKeyStateStructure} SenderKeyStateStructure */ SenderKeyStateStructure.fromObject = function fromObject(object) { if (object instanceof $root.proto.SenderKeyStateStructure) return object; var message = new $root.proto.SenderKeyStateStructure(); if (object.senderKeyId != null) message.senderKeyId = object.senderKeyId >>> 0; if (object.senderChainKey != null) { if (typeof object.senderChainKey !== "object") throw TypeError(".proto.SenderKeyStateStructure.senderChainKey: object expected"); message.senderChainKey = $root.proto.SenderKeyStateStructure.SenderChainKey.fromObject(object.senderChainKey); } if (object.senderSigningKey != null) { if (typeof object.senderSigningKey !== "object") throw TypeError(".proto.SenderKeyStateStructure.senderSigningKey: object expected"); message.senderSigningKey = $root.proto.SenderKeyStateStructure.SenderSigningKey.fromObject(object.senderSigningKey); } if (object.senderMessageKeys) { if (!Array.isArray(object.senderMessageKeys)) throw TypeError(".proto.SenderKeyStateStructure.senderMessageKeys: array expected"); message.senderMessageKeys = []; for (var i = 0; i < object.senderMessageKeys.length; ++i) { if (typeof object.senderMessageKeys[i] !== "object") throw TypeError(".proto.SenderKeyStateStructure.senderMessageKeys: object expected"); message.senderMessageKeys[i] = $root.proto.SenderKeyStateStructure.SenderMessageKey.fromObject(object.senderMessageKeys[i]); } } return message; }; /** * Creates a plain object from a SenderKeyStateStructure message. Also converts values to other types if specified. * @function toObject * @memberof proto.SenderKeyStateStructure * @static * @param {proto.SenderKeyStateStructure} message SenderKeyStateStructure * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SenderKeyStateStructure.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.senderMessageKeys = []; if (options.defaults) { object.senderKeyId = 0; object.senderChainKey = null; object.senderSigningKey = null; } if (message.senderKeyId != null && message.hasOwnProperty("senderKeyId")) object.senderKeyId = message.senderKeyId; if (message.senderChainKey != null && message.hasOwnProperty("senderChainKey")) object.senderChainKey = $root.proto.SenderKeyStateStructure.SenderChainKey.toObject(message.senderChainKey, options); if (message.senderSigningKey != null && message.hasOwnProperty("senderSigningKey")) object.senderSigningKey = $root.proto.SenderKeyStateStructure.SenderSigningKey.toObject(message.senderSigningKey, options); if (message.senderMessageKeys && message.senderMessageKeys.length) { object.senderMessageKeys = []; for (var j = 0; j < message.senderMessageKeys.length; ++j) object.senderMessageKeys[j] = $root.proto.SenderKeyStateStructure.SenderMessageKey.toObject(message.senderMessageKeys[j], options); } return object; }; /** * Converts this SenderKeyStateStructure to JSON. * @function toJSON * @memberof proto.SenderKeyStateStructure * @instance * @returns {Object.<string,*>} JSON object */ SenderKeyStateStructure.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; SenderKeyStateStructure.SenderChainKey = (function() { /** * Properties of a SenderChainKey. * @memberof proto.SenderKeyStateStructure * @interface ISenderChainKey * @property {number|null} [iteration] SenderChainKey iteration * @property {Uint8Array|null} [seed] SenderChainKey seed */ /** * Constructs a new SenderChainKey. * @memberof proto.SenderKeyStateStructure * @classdesc Represents a SenderChainKey. * @implements ISenderChainKey * @constructor * @param {proto.SenderKeyStateStructure.ISenderChainKey=} [properties] Properties to set */ function SenderChainKey(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]]; } /** * SenderChainKey iteration. * @member {number} iteration * @memberof proto.SenderKeyStateStructure.SenderChainKey * @instance */ SenderChainKey.prototype.iteration = 0; /** * SenderChainKey seed. * @member {Uint8Array} seed * @memberof proto.SenderKeyStateStructure.SenderChainKey * @instance */ SenderChainKey.prototype.seed = $util.newBuffer([]); /** * Creates a new SenderChainKey instance using the specified properties. * @function create * @memberof proto.SenderKeyStateStructure.SenderChainKey * @static * @param {proto.SenderKeyStateStructure.ISenderChainKey=} [properties] Properties to set * @returns {proto.SenderKeyStateStructure.SenderChainKey} SenderChainKey instance */ SenderChainKey.create = function create(properties) { return new SenderChainKey(properties); }; /** * Encodes the specified SenderChainKey message. Does not implicitly {@link proto.SenderKeyStateStructure.SenderChainKey.verify|verify} messages. * @function encode * @memberof proto.SenderKeyStateStructure.SenderChainKey * @static * @param {proto.SenderKeyStateStructure.ISenderChainKey} message SenderChainKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderChainKey.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.iteration != null && Object.hasOwnProperty.call(message, "iteration")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.iteration); if (message.seed != null && Object.hasOwnProperty.call(message, "seed")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.seed); return writer; }; /** * Encodes the specified SenderChainKey message, length delimited. Does not implicitly {@link proto.SenderKeyStateStructure.SenderChainKey.verify|verify} messages. * @function encodeDelimited * @memberof proto.SenderKeyStateStructure.SenderChainKey * @static * @param {proto.SenderKeyStateStructure.ISenderChainKey} message SenderChainKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderChainKey.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SenderChainKey message from the specified reader or buffer. * @function decode * @memberof proto.SenderKeyStateStructure.SenderChainKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SenderKeyStateStructure.SenderChainKey} SenderChainKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderChainKey.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.SenderKeyStateStructure.SenderChainKey(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.iteration = reader.uint32(); break; case 2: message.seed = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SenderChainKey message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SenderKeyStateStructure.SenderChainKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SenderKeyStateStructure.SenderChainKey} SenderChainKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderChainKey.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SenderChainKey message. * @function verify * @memberof proto.SenderKeyStateStructure.SenderChainKey * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SenderChainKey.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.iteration != null && message.hasOwnProperty("iteration")) if (!$util.isInteger(message.iteration)) return "iteration: integer expected"; if (message.seed != null && message.hasOwnProperty("seed")) if (!(message.seed && typeof message.seed.length === "number" || $util.isString(message.seed))) return "seed: buffer expected"; return null; }; /** * Creates a SenderChainKey message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SenderKeyStateStructure.SenderChainKey * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SenderKeyStateStructure.SenderChainKey} SenderChainKey */ SenderChainKey.fromObject = function fromObject(object) { if (object instanceof $root.proto.SenderKeyStateStructure.SenderChainKey) return object; var message = new $root.proto.SenderKeyStateStructure.SenderChainKey(); if (object.iteration != null) message.iteration = object.iteration >>> 0; if (object.seed != null) if (typeof object.seed === "string") $util.base64.decode(object.seed, message.seed = $util.newBuffer($util.base64.length(object.seed)), 0); else if (object.seed.length) message.seed = object.seed; return message; }; /** * Creates a plain object from a SenderChainKey message. Also converts values to other types if specified. * @function toObject * @memberof proto.SenderKeyStateStructure.SenderChainKey * @static * @param {proto.SenderKeyStateStructure.SenderChainKey} message SenderChainKey * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SenderChainKey.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.iteration = 0; if (options.bytes === String) object.seed = ""; else { object.seed = []; if (options.bytes !== Array) object.seed = $util.newBuffer(object.seed); } } if (message.iteration != null && message.hasOwnProperty("iteration")) object.iteration = message.iteration; if (message.seed != null && message.hasOwnProperty("seed")) object.seed = options.bytes === String ? $util.base64.encode(message.seed, 0, message.seed.length) : options.bytes === Array ? Array.prototype.slice.call(message.seed) : message.seed; return object; }; /** * Converts this SenderChainKey to JSON. * @function toJSON * @memberof proto.SenderKeyStateStructure.SenderChainKey * @instance * @returns {Object.<string,*>} JSON object */ SenderChainKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SenderChainKey; })(); SenderKeyStateStructure.SenderMessageKey = (function() { /** * Properties of a SenderMessageKey. * @memberof proto.SenderKeyStateStructure * @interface ISenderMessageKey * @property {number|null} [iteration] SenderMessageKey iteration * @property {Uint8Array|null} [seed] SenderMessageKey seed */ /** * Constructs a new SenderMessageKey. * @memberof proto.SenderKeyStateStructure * @classdesc Represents a SenderMessageKey. * @implements ISenderMessageKey * @constructor * @param {proto.SenderKeyStateStructure.ISenderMessageKey=} [properties] Properties to set */ function SenderMessageKey(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]]; } /** * SenderMessageKey iteration. * @member {number} iteration * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @instance */ SenderMessageKey.prototype.iteration = 0; /** * SenderMessageKey seed. * @member {Uint8Array} seed * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @instance */ SenderMessageKey.prototype.seed = $util.newBuffer([]); /** * Creates a new SenderMessageKey instance using the specified properties. * @function create * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @static * @param {proto.SenderKeyStateStructure.ISenderMessageKey=} [properties] Properties to set * @returns {proto.SenderKeyStateStructure.SenderMessageKey} SenderMessageKey instance */ SenderMessageKey.create = function create(properties) { return new SenderMessageKey(properties); }; /** * Encodes the specified SenderMessageKey message. Does not implicitly {@link proto.SenderKeyStateStructure.SenderMessageKey.verify|verify} messages. * @function encode * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @static * @param {proto.SenderKeyStateStructure.ISenderMessageKey} message SenderMessageKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderMessageKey.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.iteration != null && Object.hasOwnProperty.call(message, "iteration")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.iteration); if (message.seed != null && Object.hasOwnProperty.call(message, "seed")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.seed); return writer; }; /** * Encodes the specified SenderMessageKey message, length delimited. Does not implicitly {@link proto.SenderKeyStateStructure.SenderMessageKey.verify|verify} messages. * @function encodeDelimited * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @static * @param {proto.SenderKeyStateStructure.ISenderMessageKey} message SenderMessageKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderMessageKey.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SenderMessageKey message from the specified reader or buffer. * @function decode * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SenderKeyStateStructure.SenderMessageKey} SenderMessageKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderMessageKey.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.SenderKeyStateStructure.SenderMessageKey(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.iteration = reader.uint32(); break; case 2: message.seed = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SenderMessageKey message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SenderKeyStateStructure.SenderMessageKey} SenderMessageKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderMessageKey.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SenderMessageKey message. * @function verify * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SenderMessageKey.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.iteration != null && message.hasOwnProperty("iteration")) if (!$util.isInteger(message.iteration)) return "iteration: integer expected"; if (message.seed != null && message.hasOwnProperty("seed")) if (!(message.seed && typeof message.seed.length === "number" || $util.isString(message.seed))) return "seed: buffer expected"; return null; }; /** * Creates a SenderMessageKey message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SenderKeyStateStructure.SenderMessageKey} SenderMessageKey */ SenderMessageKey.fromObject = function fromObject(object) { if (object instanceof $root.proto.SenderKeyStateStructure.SenderMessageKey) return object; var message = new $root.proto.SenderKeyStateStructure.SenderMessageKey(); if (object.iteration != null) message.iteration = object.iteration >>> 0; if (object.seed != null) if (typeof object.seed === "string") $util.base64.decode(object.seed, message.seed = $util.newBuffer($util.base64.length(object.seed)), 0); else if (object.seed.length) message.seed = object.seed; return message; }; /** * Creates a plain object from a SenderMessageKey message. Also converts values to other types if specified. * @function toObject * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @static * @param {proto.SenderKeyStateStructure.SenderMessageKey} message SenderMessageKey * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SenderMessageKey.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.iteration = 0; if (options.bytes === String) object.seed = ""; else { object.seed = []; if (options.bytes !== Array) object.seed = $util.newBuffer(object.seed); } } if (message.iteration != null && message.hasOwnProperty("iteration")) object.iteration = message.iteration; if (message.seed != null && message.hasOwnProperty("seed")) object.seed = options.bytes === String ? $util.base64.encode(message.seed, 0, message.seed.length) : options.bytes === Array ? Array.prototype.slice.call(message.seed) : message.seed; return object; }; /** * Converts this SenderMessageKey to JSON. * @function toJSON * @memberof proto.SenderKeyStateStructure.SenderMessageKey * @instance * @returns {Object.<string,*>} JSON object */ SenderMessageKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SenderMessageKey; })(); SenderKeyStateStructure.SenderSigningKey = (function() { /** * Properties of a SenderSigningKey. * @memberof proto.SenderKeyStateStructure * @interface ISenderSigningKey * @property {Uint8Array|null} ["public"] SenderSigningKey public * @property {Uint8Array|null} ["private"] SenderSigningKey private */ /** * Constructs a new SenderSigningKey. * @memberof proto.SenderKeyStateStructure * @classdesc Represents a SenderSigningKey. * @implements ISenderSigningKey * @constructor * @param {proto.SenderKeyStateStructure.ISenderSigningKey=} [properties] Properties to set */ function SenderSigningKey(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]]; } /** * SenderSigningKey public. * @member {Uint8Array} public * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @instance */ SenderSigningKey.prototype["public"] = $util.newBuffer([]); /** * SenderSigningKey private. * @member {Uint8Array} private * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @instance */ SenderSigningKey.prototype["private"] = $util.newBuffer([]); /** * Creates a new SenderSigningKey instance using the specified properties. * @function create * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @static * @param {proto.SenderKeyStateStructure.ISenderSigningKey=} [properties] Properties to set * @returns {proto.SenderKeyStateStructure.SenderSigningKey} SenderSigningKey instance */ SenderSigningKey.create = function create(properties) { return new SenderSigningKey(properties); }; /** * Encodes the specified SenderSigningKey message. Does not implicitly {@link proto.SenderKeyStateStructure.SenderSigningKey.verify|verify} messages. * @function encode * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @static * @param {proto.SenderKeyStateStructure.ISenderSigningKey} message SenderSigningKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderSigningKey.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message["public"] != null && Object.hasOwnProperty.call(message, "public")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message["public"]); if (message["private"] != null && Object.hasOwnProperty.call(message, "private")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message["private"]); return writer; }; /** * Encodes the specified SenderSigningKey message, length delimited. Does not implicitly {@link proto.SenderKeyStateStructure.SenderSigningKey.verify|verify} messages. * @function encodeDelimited * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @static * @param {proto.SenderKeyStateStructure.ISenderSigningKey} message SenderSigningKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SenderSigningKey.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SenderSigningKey message from the specified reader or buffer. * @function decode * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SenderKeyStateStructure.SenderSigningKey} SenderSigningKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderSigningKey.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.SenderKeyStateStructure.SenderSigningKey(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message["public"] = reader.bytes(); break; case 2: message["private"] = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SenderSigningKey message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SenderKeyStateStructure.SenderSigningKey} SenderSigningKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SenderSigningKey.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SenderSigningKey message. * @function verify * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SenderSigningKey.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message["public"] != null && message.hasOwnProperty("public")) if (!(message["public"] && typeof message["public"].length === "number" || $util.isString(message["public"]))) return "public: buffer expected"; if (message["private"] != null && message.hasOwnProperty("private")) if (!(message["private"] && typeof message["private"].length === "number" || $util.isString(message["private"]))) return "private: buffer expected"; return null; }; /** * Creates a SenderSigningKey message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SenderKeyStateStructure.SenderSigningKey} SenderSigningKey */ SenderSigningKey.fromObject = function fromObject(object) { if (object instanceof $root.proto.SenderKeyStateStructure.SenderSigningKey) return object; var message = new $root.proto.SenderKeyStateStructure.SenderSigningKey(); if (object["public"] != null) if (typeof object["public"] === "string") $util.base64.decode(object["public"], message["public"] = $util.newBuffer($util.base64.length(object["public"])), 0); else if (object["public"].length) message["public"] = object["public"]; if (object["private"] != null) if (typeof object["private"] === "string") $util.base64.decode(object["private"], message["private"] = $util.newBuffer($util.base64.length(object["private"])), 0); else if (object["private"].length) message["private"] = object["private"]; return message; }; /** * Creates a plain object from a SenderSigningKey message. Also converts values to other types if specified. * @function toObject * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @static * @param {proto.SenderKeyStateStructure.SenderSigningKey} message SenderSigningKey * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SenderSigningKey.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object["public"] = ""; else { object["public"] = []; if (options.bytes !== Array) object["public"] = $util.newBuffer(object["public"]); } if (options.bytes === String) object["private"] = ""; else { object["private"] = []; if (options.bytes !== Array) object["private"] = $util.newBuffer(object["private"]); } } if (message["public"] != null && message.hasOwnProperty("public")) object["public"] = options.bytes === String ? $util.base64.encode(message["public"], 0, message["public"].length) : options.bytes === Array ? Array.prototype.slice.call(message["public"]) : message["public"]; if (message["private"] != null && message.hasOwnProperty("private")) object["private"] = options.bytes === String ? $util.base64.encode(message["private"], 0, message["private"].length) : options.bytes === Array ? Array.prototype.slice.call(message["private"]) : message["private"]; return object; }; /** * Converts this SenderSigningKey to JSON. * @function toJSON * @memberof proto.SenderKeyStateStructure.SenderSigningKey * @instance * @returns {Object.<string,*>} JSON object */ SenderSigningKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SenderSigningKey; })(); return SenderKeyStateStructure; })(); proto.ServerErrorReceipt = (function() { /** * Properties of a ServerErrorReceipt. * @memberof proto * @interface IServerErrorReceipt * @property {string|null} [stanzaId] ServerErrorReceipt stanzaId */ /** * Constructs a new ServerErrorReceipt. * @memberof proto * @classdesc Represents a ServerErrorReceipt. * @implements IServerErrorReceipt * @constructor * @param {proto.IServerErrorReceipt=} [properties] Properties to set */ function ServerErrorReceipt(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]]; } /** * ServerErrorReceipt stanzaId. * @member {string} stanzaId * @memberof proto.ServerErrorReceipt * @instance */ ServerErrorReceipt.prototype.stanzaId = ""; /** * Creates a new ServerErrorReceipt instance using the specified properties. * @function create * @memberof proto.ServerErrorReceipt * @static * @param {proto.IServerErrorReceipt=} [properties] Properties to set * @returns {proto.ServerErrorReceipt} ServerErrorReceipt instance */ ServerErrorReceipt.create = function create(properties) { return new ServerErrorReceipt(properties); }; /** * Encodes the specified ServerErrorReceipt message. Does not implicitly {@link proto.ServerErrorReceipt.verify|verify} messages. * @function encode * @memberof proto.ServerErrorReceipt * @static * @param {proto.IServerErrorReceipt} message ServerErrorReceipt message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ServerErrorReceipt.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); return writer; }; /** * Encodes the specified ServerErrorReceipt message, length delimited. Does not implicitly {@link proto.ServerErrorReceipt.verify|verify} messages. * @function encodeDelimited * @memberof proto.ServerErrorReceipt * @static * @param {proto.IServerErrorReceipt} message ServerErrorReceipt message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ServerErrorReceipt.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ServerErrorReceipt message from the specified reader or buffer. * @function decode * @memberof proto.ServerErrorReceipt * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.ServerErrorReceipt} ServerErrorReceipt * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ServerErrorReceipt.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.ServerErrorReceipt(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.stanzaId = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ServerErrorReceipt message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.ServerErrorReceipt * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.ServerErrorReceipt} ServerErrorReceipt * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ServerErrorReceipt.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ServerErrorReceipt message. * @function verify * @memberof proto.ServerErrorReceipt * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ServerErrorReceipt.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"; return null; }; /** * Creates a ServerErrorReceipt message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.ServerErrorReceipt * @static * @param {Object.<string,*>} object Plain object * @returns {proto.ServerErrorReceipt} ServerErrorReceipt */ ServerErrorReceipt.fromObject = function fromObject(object) { if (object instanceof $root.proto.ServerErrorReceipt) return object; var message = new $root.proto.ServerErrorReceipt(); if (object.stanzaId != null) message.stanzaId = String(object.stanzaId); return message; }; /** * Creates a plain object from a ServerErrorReceipt message. Also converts values to other types if specified. * @function toObject * @memberof proto.ServerErrorReceipt * @static * @param {proto.ServerErrorReceipt} message ServerErrorReceipt * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ServerErrorReceipt.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.stanzaId = ""; if (message.stanzaId != null && message.hasOwnProperty("stanzaId")) object.stanzaId = message.stanzaId; return object; }; /** * Converts this ServerErrorReceipt to JSON. * @function toJSON * @memberof proto.ServerErrorReceipt * @instance * @returns {Object.<string,*>} JSON object */ ServerErrorReceipt.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ServerErrorReceipt; })(); proto.SessionStructure = (function() { /** * Properties of a SessionStructure. * @memberof proto * @interface ISessionStructure * @property {number|null} [sessionVersion] SessionStructure sessionVersion * @property {Uint8Array|null} [localIdentityPublic] SessionStructure localIdentityPublic * @property {Uint8Array|null} [remoteIdentityPublic] SessionStructure remoteIdentityPublic * @property {Uint8Array|null} [rootKey] SessionStructure rootKey * @property {number|null} [previousCounter] SessionStructure previousCounter * @property {proto.SessionStructure.IChain|null} [senderChain] SessionStructure senderChain * @property {Array.<proto.SessionStructure.IChain>|null} [receiverChains] SessionStructure receiverChains * @property {proto.SessionStructure.IPendingKeyExchange|null} [pendingKeyExchange] SessionStructure pendingKeyExchange * @property {proto.SessionStructure.IPendingPreKey|null} [pendingPreKey] SessionStructure pendingPreKey * @property {number|null} [remoteRegistrationId] SessionStructure remoteRegistrationId * @property {number|null} [localRegistrationId] SessionStructure localRegistrationId * @property {boolean|null} [needsRefresh] SessionStructure needsRefresh * @property {Uint8Array|null} [aliceBaseKey] SessionStructure aliceBaseKey */ /** * Constructs a new SessionStructure. * @memberof proto * @classdesc Represents a SessionStructure. * @implements ISessionStructure * @constructor * @param {proto.ISessionStructure=} [properties] Properties to set */ function SessionStructure(properties) { this.receiverChains = []; 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]]; } /** * SessionStructure sessionVersion. * @member {number} sessionVersion * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.sessionVersion = 0; /** * SessionStructure localIdentityPublic. * @member {Uint8Array} localIdentityPublic * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.localIdentityPublic = $util.newBuffer([]); /** * SessionStructure remoteIdentityPublic. * @member {Uint8Array} remoteIdentityPublic * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.remoteIdentityPublic = $util.newBuffer([]); /** * SessionStructure rootKey. * @member {Uint8Array} rootKey * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.rootKey = $util.newBuffer([]); /** * SessionStructure previousCounter. * @member {number} previousCounter * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.previousCounter = 0; /** * SessionStructure senderChain. * @member {proto.SessionStructure.IChain|null|undefined} senderChain * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.senderChain = null; /** * SessionStructure receiverChains. * @member {Array.<proto.SessionStructure.IChain>} receiverChains * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.receiverChains = $util.emptyArray; /** * SessionStructure pendingKeyExchange. * @member {proto.SessionStructure.IPendingKeyExchange|null|undefined} pendingKeyExchange * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.pendingKeyExchange = null; /** * SessionStructure pendingPreKey. * @member {proto.SessionStructure.IPendingPreKey|null|undefined} pendingPreKey * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.pendingPreKey = null; /** * SessionStructure remoteRegistrationId. * @member {number} remoteRegistrationId * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.remoteRegistrationId = 0; /** * SessionStructure localRegistrationId. * @member {number} localRegistrationId * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.localRegistrationId = 0; /** * SessionStructure needsRefresh. * @member {boolean} needsRefresh * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.needsRefresh = false; /** * SessionStructure aliceBaseKey. * @member {Uint8Array} aliceBaseKey * @memberof proto.SessionStructure * @instance */ SessionStructure.prototype.aliceBaseKey = $util.newBuffer([]); /** * Creates a new SessionStructure instance using the specified properties. * @function create * @memberof proto.SessionStructure * @static * @param {proto.ISessionStructure=} [properties] Properties to set * @returns {proto.SessionStructure} SessionStructure instance */ SessionStructure.create = function create(properties) { return new SessionStructure(properties); }; /** * Encodes the specified SessionStructure message. Does not implicitly {@link proto.SessionStructure.verify|verify} messages. * @function encode * @memberof proto.SessionStructure * @static * @param {proto.ISessionStructure} message SessionStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SessionStructure.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.sessionVersion != null && Object.hasOwnProperty.call(message, "sessionVersion")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.sessionVersion); if (message.localIdentityPublic != null && Object.hasOwnProperty.call(message, "localIdentityPublic")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.localIdentityPublic); if (message.remoteIdentityPublic != null && Object.hasOwnProperty.call(message, "remoteIdentityPublic")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.remoteIdentityPublic); if (message.rootKey != null && Object.hasOwnProperty.call(message, "rootKey")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.rootKey); if (message.previousCounter != null && Object.hasOwnProperty.call(message, "previousCounter")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.previousCounter); if (message.senderChain != null && Object.hasOwnProperty.call(message, "senderChain")) $root.proto.SessionStructure.Chain.encode(message.senderChain, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.receiverChains != null && message.receiverChains.length) for (var i = 0; i < message.receiverChains.length; ++i) $root.proto.SessionStructure.Chain.encode(message.receiverChains[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.pendingKeyExchange != null && Object.hasOwnProperty.call(message, "pendingKeyExchange")) $root.proto.SessionStructure.PendingKeyExchange.encode(message.pendingKeyExchange, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.pendingPreKey != null && Object.hasOwnProperty.call(message, "pendingPreKey")) $root.proto.SessionStructure.PendingPreKey.encode(message.pendingPreKey, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); if (message.remoteRegistrationId != null && Object.hasOwnProperty.call(message, "remoteRegistrationId")) writer.uint32(/* id 10, wireType 0 =*/80).uint32(message.remoteRegistrationId); if (message.localRegistrationId != null && Object.hasOwnProperty.call(message, "localRegistrationId")) writer.uint32(/* id 11, wireType 0 =*/88).uint32(message.localRegistrationId); if (message.needsRefresh != null && Object.hasOwnProperty.call(message, "needsRefresh")) writer.uint32(/* id 12, wireType 0 =*/96).bool(message.needsRefresh); if (message.aliceBaseKey != null && Object.hasOwnProperty.call(message, "aliceBaseKey")) writer.uint32(/* id 13, wireType 2 =*/106).bytes(message.aliceBaseKey); return writer; }; /** * Encodes the specified SessionStructure message, length delimited. Does not implicitly {@link proto.SessionStructure.verify|verify} messages. * @function encodeDelimited * @memberof proto.SessionStructure * @static * @param {proto.ISessionStructure} message SessionStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SessionStructure.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SessionStructure message from the specified reader or buffer. * @function decode * @memberof proto.SessionStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SessionStructure} SessionStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SessionStructure.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.SessionStructure(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.sessionVersion = reader.uint32(); break; case 2: message.localIdentityPublic = reader.bytes(); break; case 3: message.remoteIdentityPublic = reader.bytes(); break; case 4: message.rootKey = reader.bytes(); break; case 5: message.previousCounter = reader.uint32(); break; case 6: message.senderChain = $root.proto.SessionStructure.Chain.decode(reader, reader.uint32()); break; case 7: if (!(message.receiverChains && message.receiverChains.length)) message.receiverChains = []; message.receiverChains.push($root.proto.SessionStructure.Chain.decode(reader, reader.uint32())); break; case 8: message.pendingKeyExchange = $root.proto.SessionStructure.PendingKeyExchange.decode(reader, reader.uint32()); break; case 9: message.pendingPreKey = $root.proto.SessionStructure.PendingPreKey.decode(reader, reader.uint32()); break; case 10: message.remoteRegistrationId = reader.uint32(); break; case 11: message.localRegistrationId = reader.uint32(); break; case 12: message.needsRefresh = reader.bool(); break; case 13: message.aliceBaseKey = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SessionStructure message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SessionStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SessionStructure} SessionStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SessionStructure.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SessionStructure message. * @function verify * @memberof proto.SessionStructure * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SessionStructure.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.sessionVersion != null && message.hasOwnProperty("sessionVersion")) if (!$util.isInteger(message.sessionVersion)) return "sessionVersion: integer expected"; if (message.localIdentityPublic != null && message.hasOwnProperty("localIdentityPublic")) if (!(message.localIdentityPublic && typeof message.localIdentityPublic.length === "number" || $util.isString(message.localIdentityPublic))) return "localIdentityPublic: buffer expected"; if (message.remoteIdentityPublic != null && message.hasOwnProperty("remoteIdentityPublic")) if (!(message.remoteIdentityPublic && typeof message.remoteIdentityPublic.length === "number" || $util.isString(message.remoteIdentityPublic))) return "remoteIdentityPublic: buffer expected"; if (message.rootKey != null && message.hasOwnProperty("rootKey")) if (!(message.rootKey && typeof message.rootKey.length === "number" || $util.isString(message.rootKey))) return "rootKey: buffer expected"; if (message.previousCounter != null && message.hasOwnProperty("previousCounter")) if (!$util.isInteger(message.previousCounter)) return "previousCounter: integer expected"; if (message.senderChain != null && message.hasOwnProperty("senderChain")) { var error = $root.proto.SessionStructure.Chain.verify(message.senderChain); if (error) return "senderChain." + error; } if (message.receiverChains != null && message.hasOwnProperty("receiverChains")) { if (!Array.isArray(message.receiverChains)) return "receiverChains: array expected"; for (var i = 0; i < message.receiverChains.length; ++i) { var error = $root.proto.SessionStructure.Chain.verify(message.receiverChains[i]); if (error) return "receiverChains." + error; } } if (message.pendingKeyExchange != null && message.hasOwnProperty("pendingKeyExchange")) { var error = $root.proto.SessionStructure.PendingKeyExchange.verify(message.pendingKeyExchange); if (error) return "pendingKeyExchange." + error; } if (message.pendingPreKey != null && message.hasOwnProperty("pendingPreKey")) { var error = $root.proto.SessionStructure.PendingPreKey.verify(message.pendingPreKey); if (error) return "pendingPreKey." + error; } if (message.remoteRegistrationId != null && message.hasOwnProperty("remoteRegistrationId")) if (!$util.isInteger(message.remoteRegistrationId)) return "remoteRegistrationId: integer expected"; if (message.localRegistrationId != null && message.hasOwnProperty("localRegistrationId")) if (!$util.isInteger(message.localRegistrationId)) return "localRegistrationId: integer expected"; if (message.needsRefresh != null && message.hasOwnProperty("needsRefresh")) if (typeof message.needsRefresh !== "boolean") return "needsRefresh: boolean expected"; if (message.aliceBaseKey != null && message.hasOwnProperty("aliceBaseKey")) if (!(message.aliceBaseKey && typeof message.aliceBaseKey.length === "number" || $util.isString(message.aliceBaseKey))) return "aliceBaseKey: buffer expected"; return null; }; /** * Creates a SessionStructure message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SessionStructure * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SessionStructure} SessionStructure */ SessionStructure.fromObject = function fromObject(object) { if (object instanceof $root.proto.SessionStructure) return object; var message = new $root.proto.SessionStructure(); if (object.sessionVersion != null) message.sessionVersion = object.sessionVersion >>> 0; if (object.localIdentityPublic != null) if (typeof object.localIdentityPublic === "string") $util.base64.decode(object.localIdentityPublic, message.localIdentityPublic = $util.newBuffer($util.base64.length(object.localIdentityPublic)), 0); else if (object.localIdentityPublic.length) message.localIdentityPublic = object.localIdentityPublic; if (object.remoteIdentityPublic != null) if (typeof object.remoteIdentityPublic === "string") $util.base64.decode(object.remoteIdentityPublic, message.remoteIdentityPublic = $util.newBuffer($util.base64.length(object.remoteIdentityPublic)), 0); else if (object.remoteIdentityPublic.length) message.remoteIdentityPublic = object.remoteIdentityPublic; if (object.rootKey != null) if (typeof object.rootKey === "string") $util.base64.decode(object.rootKey, message.rootKey = $util.newBuffer($util.base64.length(object.rootKey)), 0); else if (object.rootKey.length) message.rootKey = object.rootKey; if (object.previousCounter != null) message.previousCounter = object.previousCounter >>> 0; if (object.senderChain != null) { if (typeof object.senderChain !== "object") throw TypeError(".proto.SessionStructure.senderChain: object expected"); message.senderChain = $root.proto.SessionStructure.Chain.fromObject(object.senderChain); } if (object.receiverChains) { if (!Array.isArray(object.receiverChains)) throw TypeError(".proto.SessionStructure.receiverChains: array expected"); message.receiverChains = []; for (var i = 0; i < object.receiverChains.length; ++i) { if (typeof object.receiverChains[i] !== "object") throw TypeError(".proto.SessionStructure.receiverChains: object expected"); message.receiverChains[i] = $root.proto.SessionStructure.Chain.fromObject(object.receiverChains[i]); } } if (object.pendingKeyExchange != null) { if (typeof object.pendingKeyExchange !== "object") throw TypeError(".proto.SessionStructure.pendingKeyExchange: object expected"); message.pendingKeyExchange = $root.proto.SessionStructure.PendingKeyExchange.fromObject(object.pendingKeyExchange); } if (object.pendingPreKey != null) { if (typeof object.pendingPreKey !== "object") throw TypeError(".proto.SessionStructure.pendingPreKey: object expected"); message.pendingPreKey = $root.proto.SessionStructure.PendingPreKey.fromObject(object.pendingPreKey); } if (object.remoteRegistrationId != null) message.remoteRegistrationId = object.remoteRegistrationId >>> 0; if (object.localRegistrationId != null) message.localRegistrationId = object.localRegistrationId >>> 0; if (object.needsRefresh != null) message.needsRefresh = Boolean(object.needsRefresh); if (object.aliceBaseKey != null) if (typeof object.aliceBaseKey === "string") $util.base64.decode(object.aliceBaseKey, message.aliceBaseKey = $util.newBuffer($util.base64.length(object.aliceBaseKey)), 0); else if (object.aliceBaseKey.length) message.aliceBaseKey = object.aliceBaseKey; return message; }; /** * Creates a plain object from a SessionStructure message. Also converts values to other types if specified. * @function toObject * @memberof proto.SessionStructure * @static * @param {proto.SessionStructure} message SessionStructure * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SessionStructure.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.receiverChains = []; if (options.defaults) { object.sessionVersion = 0; if (options.bytes === String) object.localIdentityPublic = ""; else { object.localIdentityPublic = []; if (options.bytes !== Array) object.localIdentityPublic = $util.newBuffer(object.localIdentityPublic); } if (options.bytes === String) object.remoteIdentityPublic = ""; else { object.remoteIdentityPublic = []; if (options.bytes !== Array) object.remoteIdentityPublic = $util.newBuffer(object.remoteIdentityPublic); } if (options.bytes === String) object.rootKey = ""; else { object.rootKey = []; if (options.bytes !== Array) object.rootKey = $util.newBuffer(object.rootKey); } object.previousCounter = 0; object.senderChain = null; object.pendingKeyExchange = null; object.pendingPreKey = null; object.remoteRegistrationId = 0; object.localRegistrationId = 0; object.needsRefresh = false; if (options.bytes === String) object.aliceBaseKey = ""; else { object.aliceBaseKey = []; if (options.bytes !== Array) object.aliceBaseKey = $util.newBuffer(object.aliceBaseKey); } } if (message.sessionVersion != null && message.hasOwnProperty("sessionVersion")) object.sessionVersion = message.sessionVersion; if (message.localIdentityPublic != null && message.hasOwnProperty("localIdentityPublic")) object.localIdentityPublic = options.bytes === String ? $util.base64.encode(message.localIdentityPublic, 0, message.localIdentityPublic.length) : options.bytes === Array ? Array.prototype.slice.call(message.localIdentityPublic) : message.localIdentityPublic; if (message.remoteIdentityPublic != null && message.hasOwnProperty("remoteIdentityPublic")) object.remoteIdentityPublic = options.bytes === String ? $util.base64.encode(message.remoteIdentityPublic, 0, message.remoteIdentityPublic.length) : options.bytes === Array ? Array.prototype.slice.call(message.remoteIdentityPublic) : message.remoteIdentityPublic; if (message.rootKey != null && message.hasOwnProperty("rootKey")) object.rootKey = options.bytes === String ? $util.base64.encode(message.rootKey, 0, message.rootKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.rootKey) : message.rootKey; if (message.previousCounter != null && message.hasOwnProperty("previousCounter")) object.previousCounter = message.previousCounter; if (message.senderChain != null && message.hasOwnProperty("senderChain")) object.senderChain = $root.proto.SessionStructure.Chain.toObject(message.senderChain, options); if (message.receiverChains && message.receiverChains.length) { object.receiverChains = []; for (var j = 0; j < message.receiverChains.length; ++j) object.receiverChains[j] = $root.proto.SessionStructure.Chain.toObject(message.receiverChains[j], options); } if (message.pendingKeyExchange != null && message.hasOwnProperty("pendingKeyExchange")) object.pendingKeyExchange = $root.proto.SessionStructure.PendingKeyExchange.toObject(message.pendingKeyExchange, options); if (message.pendingPreKey != null && message.hasOwnProperty("pendingPreKey")) object.pendingPreKey = $root.proto.SessionStructure.PendingPreKey.toObject(message.pendingPreKey, options); if (message.remoteRegistrationId != null && message.hasOwnProperty("remoteRegistrationId")) object.remoteRegistrationId = message.remoteRegistrationId; if (message.localRegistrationId != null && message.hasOwnProperty("localRegistrationId")) object.localRegistrationId = message.localRegistrationId; if (message.needsRefresh != null && message.hasOwnProperty("needsRefresh")) object.needsRefresh = message.needsRefresh; if (message.aliceBaseKey != null && message.hasOwnProperty("aliceBaseKey")) object.aliceBaseKey = options.bytes === String ? $util.base64.encode(message.aliceBaseKey, 0, message.aliceBaseKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.aliceBaseKey) : message.aliceBaseKey; return object; }; /** * Converts this SessionStructure to JSON. * @function toJSON * @memberof proto.SessionStructure * @instance * @returns {Object.<string,*>} JSON object */ SessionStructure.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; SessionStructure.Chain = (function() { /** * Properties of a Chain. * @memberof proto.SessionStructure * @interface IChain * @property {Uint8Array|null} [senderRatchetKey] Chain senderRatchetKey * @property {Uint8Array|null} [senderRatchetKeyPrivate] Chain senderRatchetKeyPrivate * @property {proto.SessionStructure.Chain.IChainKey|null} [chainKey] Chain chainKey * @property {Array.<proto.SessionStructure.Chain.IMessageKey>|null} [messageKeys] Chain messageKeys */ /** * Constructs a new Chain. * @memberof proto.SessionStructure * @classdesc Represents a Chain. * @implements IChain * @constructor * @param {proto.SessionStructure.IChain=} [properties] Properties to set */ function Chain(properties) { this.messageKeys = []; 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]]; } /** * Chain senderRatchetKey. * @member {Uint8Array} senderRatchetKey * @memberof proto.SessionStructure.Chain * @instance */ Chain.prototype.senderRatchetKey = $util.newBuffer([]); /** * Chain senderRatchetKeyPrivate. * @member {Uint8Array} senderRatchetKeyPrivate * @memberof proto.SessionStructure.Chain * @instance */ Chain.prototype.senderRatchetKeyPrivate = $util.newBuffer([]); /** * Chain chainKey. * @member {proto.SessionStructure.Chain.IChainKey|null|undefined} chainKey * @memberof proto.SessionStructure.Chain * @instance */ Chain.prototype.chainKey = null; /** * Chain messageKeys. * @member {Array.<proto.SessionStructure.Chain.IMessageKey>} messageKeys * @memberof proto.SessionStructure.Chain * @instance */ Chain.prototype.messageKeys = $util.emptyArray; /** * Creates a new Chain instance using the specified properties. * @function create * @memberof proto.SessionStructure.Chain * @static * @param {proto.SessionStructure.IChain=} [properties] Properties to set * @returns {proto.SessionStructure.Chain} Chain instance */ Chain.create = function create(properties) { return new Chain(properties); }; /** * Encodes the specified Chain message. Does not implicitly {@link proto.SessionStructure.Chain.verify|verify} messages. * @function encode * @memberof proto.SessionStructure.Chain * @static * @param {proto.SessionStructure.IChain} message Chain message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Chain.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.senderRatchetKey != null && Object.hasOwnProperty.call(message, "senderRatchetKey")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.senderRatchetKey); if (message.senderRatchetKeyPrivate != null && Object.hasOwnProperty.call(message, "senderRatchetKeyPrivate")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.senderRatchetKeyPrivate); if (message.chainKey != null && Object.hasOwnProperty.call(message, "chainKey")) $root.proto.SessionStructure.Chain.ChainKey.encode(message.chainKey, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.messageKeys != null && message.messageKeys.length) for (var i = 0; i < message.messageKeys.length; ++i) $root.proto.SessionStructure.Chain.MessageKey.encode(message.messageKeys[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** * Encodes the specified Chain message, length delimited. Does not implicitly {@link proto.SessionStructure.Chain.verify|verify} messages. * @function encodeDelimited * @memberof proto.SessionStructure.Chain * @static * @param {proto.SessionStructure.IChain} message Chain message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Chain.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Chain message from the specified reader or buffer. * @function decode * @memberof proto.SessionStructure.Chain * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SessionStructure.Chain} Chain * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Chain.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.SessionStructure.Chain(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.senderRatchetKey = reader.bytes(); break; case 2: message.senderRatchetKeyPrivate = reader.bytes(); break; case 3: message.chainKey = $root.proto.SessionStructure.Chain.ChainKey.decode(reader, reader.uint32()); break; case 4: if (!(message.messageKeys && message.messageKeys.length)) message.messageKeys = []; message.messageKeys.push($root.proto.SessionStructure.Chain.MessageKey.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Chain message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SessionStructure.Chain * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SessionStructure.Chain} Chain * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Chain.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Chain message. * @function verify * @memberof proto.SessionStructure.Chain * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Chain.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.senderRatchetKey != null && message.hasOwnProperty("senderRatchetKey")) if (!(message.senderRatchetKey && typeof message.senderRatchetKey.length === "number" || $util.isString(message.senderRatchetKey))) return "senderRatchetKey: buffer expected"; if (message.senderRatchetKeyPrivate != null && message.hasOwnProperty("senderRatchetKeyPrivate")) if (!(message.senderRatchetKeyPrivate && typeof message.senderRatchetKeyPrivate.length === "number" || $util.isString(message.senderRatchetKeyPrivate))) return "senderRatchetKeyPrivate: buffer expected"; if (message.chainKey != null && message.hasOwnProperty("chainKey")) { var error = $root.proto.SessionStructure.Chain.ChainKey.verify(message.chainKey); if (error) return "chainKey." + error; } if (message.messageKeys != null && message.hasOwnProperty("messageKeys")) { if (!Array.isArray(message.messageKeys)) return "messageKeys: array expected"; for (var i = 0; i < message.messageKeys.length; ++i) { var error = $root.proto.SessionStructure.Chain.MessageKey.verify(message.messageKeys[i]); if (error) return "messageKeys." + error; } } return null; }; /** * Creates a Chain message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SessionStructure.Chain * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SessionStructure.Chain} Chain */ Chain.fromObject = function fromObject(object) { if (object instanceof $root.proto.SessionStructure.Chain) return object; var message = new $root.proto.SessionStructure.Chain(); if (object.senderRatchetKey != null) if (typeof object.senderRatchetKey === "string") $util.base64.decode(object.senderRatchetKey, message.senderRatchetKey = $util.newBuffer($util.base64.length(object.senderRatchetKey)), 0); else if (object.senderRatchetKey.length) message.senderRatchetKey = object.senderRatchetKey; if (object.senderRatchetKeyPrivate != null) if (typeof object.senderRatchetKeyPrivate === "string") $util.base64.decode(object.senderRatchetKeyPrivate, message.senderRatchetKeyPrivate = $util.newBuffer($util.base64.length(object.senderRatchetKeyPrivate)), 0); else if (object.senderRatchetKeyPrivate.length) message.senderRatchetKeyPrivate = object.senderRatchetKeyPrivate; if (object.chainKey != null) { if (typeof object.chainKey !== "object") throw TypeError(".proto.SessionStructure.Chain.chainKey: object expected"); message.chainKey = $root.proto.SessionStructure.Chain.ChainKey.fromObject(object.chainKey); } if (object.messageKeys) { if (!Array.isArray(object.messageKeys)) throw TypeError(".proto.SessionStructure.Chain.messageKeys: array expected"); message.messageKeys = []; for (var i = 0; i < object.messageKeys.length; ++i) { if (typeof object.messageKeys[i] !== "object") throw TypeError(".proto.SessionStructure.Chain.messageKeys: object expected"); message.messageKeys[i] = $root.proto.SessionStructure.Chain.MessageKey.fromObject(object.messageKeys[i]); } } return message; }; /** * Creates a plain object from a Chain message. Also converts values to other types if specified. * @function toObject * @memberof proto.SessionStructure.Chain * @static * @param {proto.SessionStructure.Chain} message Chain * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Chain.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.messageKeys = []; if (options.defaults) { if (options.bytes === String) object.senderRatchetKey = ""; else { object.senderRatchetKey = []; if (options.bytes !== Array) object.senderRatchetKey = $util.newBuffer(object.senderRatchetKey); } if (options.bytes === String) object.senderRatchetKeyPrivate = ""; else { object.senderRatchetKeyPrivate = []; if (options.bytes !== Array) object.senderRatchetKeyPrivate = $util.newBuffer(object.senderRatchetKeyPrivate); } object.chainKey = null; } if (message.senderRatchetKey != null && message.hasOwnProperty("senderRatchetKey")) object.senderRatchetKey = options.bytes === String ? $util.base64.encode(message.senderRatchetKey, 0, message.senderRatchetKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.senderRatchetKey) : message.senderRatchetKey; if (message.senderRatchetKeyPrivate != null && message.hasOwnProperty("senderRatchetKeyPrivate")) object.senderRatchetKeyPrivate = options.bytes === String ? $util.base64.encode(message.senderRatchetKeyPrivate, 0, message.senderRatchetKeyPrivate.length) : options.bytes === Array ? Array.prototype.slice.call(message.senderRatchetKeyPrivate) : message.senderRatchetKeyPrivate; if (message.chainKey != null && message.hasOwnProperty("chainKey")) object.chainKey = $root.proto.SessionStructure.Chain.ChainKey.toObject(message.chainKey, options); if (message.messageKeys && message.messageKeys.length) { object.messageKeys = []; for (var j = 0; j < message.messageKeys.length; ++j) object.messageKeys[j] = $root.proto.SessionStructure.Chain.MessageKey.toObject(message.messageKeys[j], options); } return object; }; /** * Converts this Chain to JSON. * @function toJSON * @memberof proto.SessionStructure.Chain * @instance * @returns {Object.<string,*>} JSON object */ Chain.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; Chain.ChainKey = (function() { /** * Properties of a ChainKey. * @memberof proto.SessionStructure.Chain * @interface IChainKey * @property {number|null} [index] ChainKey index * @property {Uint8Array|null} [key] ChainKey key */ /** * Constructs a new ChainKey. * @memberof proto.SessionStructure.Chain * @classdesc Represents a ChainKey. * @implements IChainKey * @constructor * @param {proto.SessionStructure.Chain.IChainKey=} [properties] Properties to set */ function ChainKey(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]]; } /** * ChainKey index. * @member {number} index * @memberof proto.SessionStructure.Chain.ChainKey * @instance */ ChainKey.prototype.index = 0; /** * ChainKey key. * @member {Uint8Array} key * @memberof proto.SessionStructure.Chain.ChainKey * @instance */ ChainKey.prototype.key = $util.newBuffer([]); /** * Creates a new ChainKey instance using the specified properties. * @function create * @memberof proto.SessionStructure.Chain.ChainKey * @static * @param {proto.SessionStructure.Chain.IChainKey=} [properties] Properties to set * @returns {proto.SessionStructure.Chain.ChainKey} ChainKey instance */ ChainKey.create = function create(properties) { return new ChainKey(properties); }; /** * Encodes the specified ChainKey message. Does not implicitly {@link proto.SessionStructure.Chain.ChainKey.verify|verify} messages. * @function encode * @memberof proto.SessionStructure.Chain.ChainKey * @static * @param {proto.SessionStructure.Chain.IChainKey} message ChainKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ChainKey.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.index != null && Object.hasOwnProperty.call(message, "index")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.index); if (message.key != null && Object.hasOwnProperty.call(message, "key")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.key); return writer; }; /** * Encodes the specified ChainKey message, length delimited. Does not implicitly {@link proto.SessionStructure.Chain.ChainKey.verify|verify} messages. * @function encodeDelimited * @memberof proto.SessionStructure.Chain.ChainKey * @static * @param {proto.SessionStructure.Chain.IChainKey} message ChainKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ChainKey.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ChainKey message from the specified reader or buffer. * @function decode * @memberof proto.SessionStructure.Chain.ChainKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SessionStructure.Chain.ChainKey} ChainKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ChainKey.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.SessionStructure.Chain.ChainKey(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.index = reader.uint32(); break; case 2: message.key = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ChainKey message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SessionStructure.Chain.ChainKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SessionStructure.Chain.ChainKey} ChainKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ChainKey.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ChainKey message. * @function verify * @memberof proto.SessionStructure.Chain.ChainKey * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ChainKey.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.index != null && message.hasOwnProperty("index")) if (!$util.isInteger(message.index)) return "index: integer expected"; if (message.key != null && message.hasOwnProperty("key")) if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key))) return "key: buffer expected"; return null; }; /** * Creates a ChainKey message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SessionStructure.Chain.ChainKey * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SessionStructure.Chain.ChainKey} ChainKey */ ChainKey.fromObject = function fromObject(object) { if (object instanceof $root.proto.SessionStructure.Chain.ChainKey) return object; var message = new $root.proto.SessionStructure.Chain.ChainKey(); if (object.index != null) message.index = object.index >>> 0; if (object.key != null) if (typeof object.key === "string") $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0); else if (object.key.length) message.key = object.key; return message; }; /** * Creates a plain object from a ChainKey message. Also converts values to other types if specified. * @function toObject * @memberof proto.SessionStructure.Chain.ChainKey * @static * @param {proto.SessionStructure.Chain.ChainKey} message ChainKey * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ChainKey.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.index = 0; if (options.bytes === String) object.key = ""; else { object.key = []; if (options.bytes !== Array) object.key = $util.newBuffer(object.key); } } if (message.index != null && message.hasOwnProperty("index")) object.index = message.index; if (message.key != null && message.hasOwnProperty("key")) object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key; return object; }; /** * Converts this ChainKey to JSON. * @function toJSON * @memberof proto.SessionStructure.Chain.ChainKey * @instance * @returns {Object.<string,*>} JSON object */ ChainKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ChainKey; })(); Chain.MessageKey = (function() { /** * Properties of a MessageKey. * @memberof proto.SessionStructure.Chain * @interface IMessageKey * @property {number|null} [index] MessageKey index * @property {Uint8Array|null} [cipherKey] MessageKey cipherKey * @property {Uint8Array|null} [macKey] MessageKey macKey * @property {Uint8Array|null} [iv] MessageKey iv */ /** * Constructs a new MessageKey. * @memberof proto.SessionStructure.Chain * @classdesc Represents a MessageKey. * @implements IMessageKey * @constructor * @param {proto.SessionStructure.Chain.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 index. * @member {number} index * @memberof proto.SessionStructure.Chain.MessageKey * @instance */ MessageKey.prototype.index = 0; /** * MessageKey cipherKey. * @member {Uint8Array} cipherKey * @memberof proto.SessionStructure.Chain.MessageKey * @instance */ MessageKey.prototype.cipherKey = $util.newBuffer([]); /** * MessageKey macKey. * @member {Uint8Array} macKey * @memberof proto.SessionStructure.Chain.MessageKey * @instance */ MessageKey.prototype.macKey = $util.newBuffer([]); /** * MessageKey iv. * @member {Uint8Array} iv * @memberof proto.SessionStructure.Chain.MessageKey * @instance */ MessageKey.prototype.iv = $util.newBuffer([]); /** * Creates a new MessageKey instance using the specified properties. * @function create * @memberof proto.SessionStructure.Chain.MessageKey * @static * @param {proto.SessionStructure.Chain.IMessageKey=} [properties] Properties to set * @returns {proto.SessionStructure.Chain.MessageKey} MessageKey instance */ MessageKey.create = function create(properties) { return new MessageKey(properties); }; /** * Encodes the specified MessageKey message. Does not implicitly {@link proto.SessionStructure.Chain.MessageKey.verify|verify} messages. * @function encode * @memberof proto.SessionStructure.Chain.MessageKey * @static * @param {proto.SessionStructure.Chain.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.index != null && Object.hasOwnProperty.call(message, "index")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.index); if (message.cipherKey != null && Object.hasOwnProperty.call(message, "cipherKey")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.cipherKey); if (message.macKey != null && Object.hasOwnProperty.call(message, "macKey")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.macKey); if (message.iv != null && Object.hasOwnProperty.call(message, "iv")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.iv); return writer; }; /** * Encodes the specified MessageKey message, length delimited. Does not implicitly {@link proto.SessionStructure.Chain.MessageKey.verify|verify} messages. * @function encodeDelimited * @memberof proto.SessionStructure.Chain.MessageKey * @static * @param {proto.SessionStructure.Chain.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.SessionStructure.Chain.MessageKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SessionStructure.Chain.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.SessionStructure.Chain.MessageKey(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.index = reader.uint32(); break; case 2: message.cipherKey = reader.bytes(); break; case 3: message.macKey = reader.bytes(); break; case 4: message.iv = reader.bytes(); 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.SessionStructure.Chain.MessageKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SessionStructure.Chain.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.SessionStructure.Chain.MessageKey * @static * @param {Object.<string,*>} 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.index != null && message.hasOwnProperty("index")) if (!$util.isInteger(message.index)) return "index: integer expected"; if (message.cipherKey != null && message.hasOwnProperty("cipherKey")) if (!(message.cipherKey && typeof message.cipherKey.length === "number" || $util.isString(message.cipherKey))) return "cipherKey: buffer expected"; if (message.macKey != null && message.hasOwnProperty("macKey")) if (!(message.macKey && typeof message.macKey.length === "number" || $util.isString(message.macKey))) return "macKey: buffer expected"; if (message.iv != null && message.hasOwnProperty("iv")) if (!(message.iv && typeof message.iv.length === "number" || $util.isString(message.iv))) return "iv: buffer expected"; return null; }; /** * Creates a MessageKey message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SessionStructure.Chain.MessageKey * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SessionStructure.Chain.MessageKey} MessageKey */ MessageKey.fromObject = function fromObject(object) { if (object instanceof $root.proto.SessionStructure.Chain.MessageKey) return object; var message = new $root.proto.SessionStructure.Chain.MessageKey(); if (object.index != null) message.index = object.index >>> 0; if (object.cipherKey != null) if (typeof object.cipherKey === "string") $util.base64.decode(object.cipherKey, message.cipherKey = $util.newBuffer($util.base64.length(object.cipherKey)), 0); else if (object.cipherKey.length) message.cipherKey = object.cipherKey; if (object.macKey != null) if (typeof object.macKey === "string") $util.base64.decode(object.macKey, message.macKey = $util.newBuffer($util.base64.length(object.macKey)), 0); else if (object.macKey.length) message.macKey = object.macKey; if (object.iv != null) if (typeof object.iv === "string") $util.base64.decode(object.iv, message.iv = $util.newBuffer($util.base64.length(object.iv)), 0); else if (object.iv.length) message.iv = object.iv; return message; }; /** * Creates a plain object from a MessageKey message. Also converts values to other types if specified. * @function toObject * @memberof proto.SessionStructure.Chain.MessageKey * @static * @param {proto.SessionStructure.Chain.MessageKey} message MessageKey * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MessageKey.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.index = 0; if (options.bytes === String) object.cipherKey = ""; else { object.cipherKey = []; if (options.bytes !== Array) object.cipherKey = $util.newBuffer(object.cipherKey); } if (options.bytes === String) object.macKey = ""; else { object.macKey = []; if (options.bytes !== Array) object.macKey = $util.newBuffer(object.macKey); } if (options.bytes === String) object.iv = ""; else { object.iv = []; if (options.bytes !== Array) object.iv = $util.newBuffer(object.iv); } } if (message.index != null && message.hasOwnProperty("index")) object.index = message.index; if (message.cipherKey != null && message.hasOwnProperty("cipherKey")) object.cipherKey = options.bytes === String ? $util.base64.encode(message.cipherKey, 0, message.cipherKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.cipherKey) : message.cipherKey; if (message.macKey != null && message.hasOwnProperty("macKey")) object.macKey = options.bytes === String ? $util.base64.encode(message.macKey, 0, message.macKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.macKey) : message.macKey; if (message.iv != null && message.hasOwnProperty("iv")) object.iv = options.bytes === String ? $util.base64.encode(message.iv, 0, message.iv.length) : options.bytes === Array ? Array.prototype.slice.call(message.iv) : message.iv; return object; }; /** * Converts this MessageKey to JSON. * @function toJSON * @memberof proto.SessionStructure.Chain.MessageKey * @instance * @returns {Object.<string,*>} JSON object */ MessageKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MessageKey; })(); return Chain; })(); SessionStructure.PendingKeyExchange = (function() { /** * Properties of a PendingKeyExchange. * @memberof proto.SessionStructure * @interface IPendingKeyExchange * @property {number|null} [sequence] PendingKeyExchange sequence * @property {Uint8Array|null} [localBaseKey] PendingKeyExchange localBaseKey * @property {Uint8Array|null} [localBaseKeyPrivate] PendingKeyExchange localBaseKeyPrivate * @property {Uint8Array|null} [localRatchetKey] PendingKeyExchange localRatchetKey * @property {Uint8Array|null} [localRatchetKeyPrivate] PendingKeyExchange localRatchetKeyPrivate * @property {Uint8Array|null} [localIdentityKey] PendingKeyExchange localIdentityKey * @property {Uint8Array|null} [localIdentityKeyPrivate] PendingKeyExchange localIdentityKeyPrivate */ /** * Constructs a new PendingKeyExchange. * @memberof proto.SessionStructure * @classdesc Represents a PendingKeyExchange. * @implements IPendingKeyExchange * @constructor * @param {proto.SessionStructure.IPendingKeyExchange=} [properties] Properties to set */ function PendingKeyExchange(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]]; } /** * PendingKeyExchange sequence. * @member {number} sequence * @memberof proto.SessionStructure.PendingKeyExchange * @instance */ PendingKeyExchange.prototype.sequence = 0; /** * PendingKeyExchange localBaseKey. * @member {Uint8Array} localBaseKey * @memberof proto.SessionStructure.PendingKeyExchange * @instance */ PendingKeyExchange.prototype.localBaseKey = $util.newBuffer([]); /** * PendingKeyExchange localBaseKeyPrivate. * @member {Uint8Array} localBaseKeyPrivate * @memberof proto.SessionStructure.PendingKeyExchange * @instance */ PendingKeyExchange.prototype.localBaseKeyPrivate = $util.newBuffer([]); /** * PendingKeyExchange localRatchetKey. * @member {Uint8Array} localRatchetKey * @memberof proto.SessionStructure.PendingKeyExchange * @instance */ PendingKeyExchange.prototype.localRatchetKey = $util.newBuffer([]); /** * PendingKeyExchange localRatchetKeyPrivate. * @member {Uint8Array} localRatchetKeyPrivate * @memberof proto.SessionStructure.PendingKeyExchange * @instance */ PendingKeyExchange.prototype.localRatchetKeyPrivate = $util.newBuffer([]); /** * PendingKeyExchange localIdentityKey. * @member {Uint8Array} localIdentityKey * @memberof proto.SessionStructure.PendingKeyExchange * @instance */ PendingKeyExchange.prototype.localIdentityKey = $util.newBuffer([]); /** * PendingKeyExchange localIdentityKeyPrivate. * @member {Uint8Array} localIdentityKeyPrivate * @memberof proto.SessionStructure.PendingKeyExchange * @instance */ PendingKeyExchange.prototype.localIdentityKeyPrivate = $util.newBuffer([]); /** * Creates a new PendingKeyExchange instance using the specified properties. * @function create * @memberof proto.SessionStructure.PendingKeyExchange * @static * @param {proto.SessionStructure.IPendingKeyExchange=} [properties] Properties to set * @returns {proto.SessionStructure.PendingKeyExchange} PendingKeyExchange instance */ PendingKeyExchange.create = function create(properties) { return new PendingKeyExchange(properties); }; /** * Encodes the specified PendingKeyExchange message. Does not implicitly {@link proto.SessionStructure.PendingKeyExchange.verify|verify} messages. * @function encode * @memberof proto.SessionStructure.PendingKeyExchange * @static * @param {proto.SessionStructure.IPendingKeyExchange} message PendingKeyExchange message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PendingKeyExchange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.sequence != null && Object.hasOwnProperty.call(message, "sequence")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.sequence); if (message.localBaseKey != null && Object.hasOwnProperty.call(message, "localBaseKey")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.localBaseKey); if (message.localBaseKeyPrivate != null && Object.hasOwnProperty.call(message, "localBaseKeyPrivate")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.localBaseKeyPrivate); if (message.localRatchetKey != null && Object.hasOwnProperty.call(message, "localRatchetKey")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.localRatchetKey); if (message.localRatchetKeyPrivate != null && Object.hasOwnProperty.call(message, "localRatchetKeyPrivate")) writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.localRatchetKeyPrivate); if (message.localIdentityKey != null && Object.hasOwnProperty.call(message, "localIdentityKey")) writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.localIdentityKey); if (message.localIdentityKeyPrivate != null && Object.hasOwnProperty.call(message, "localIdentityKeyPrivate")) writer.uint32(/* id 8, wireType 2 =*/66).bytes(message.localIdentityKeyPrivate); return writer; }; /** * Encodes the specified PendingKeyExchange message, length delimited. Does not implicitly {@link proto.SessionStructure.PendingKeyExchange.verify|verify} messages. * @function encodeDelimited * @memberof proto.SessionStructure.PendingKeyExchange * @static * @param {proto.SessionStructure.IPendingKeyExchange} message PendingKeyExchange message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PendingKeyExchange.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PendingKeyExchange message from the specified reader or buffer. * @function decode * @memberof proto.SessionStructure.PendingKeyExchange * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SessionStructure.PendingKeyExchange} PendingKeyExchange * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PendingKeyExchange.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.SessionStructure.PendingKeyExchange(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.sequence = reader.uint32(); break; case 2: message.localBaseKey = reader.bytes(); break; case 3: message.localBaseKeyPrivate = reader.bytes(); break; case 4: message.localRatchetKey = reader.bytes(); break; case 5: message.localRatchetKeyPrivate = reader.bytes(); break; case 7: message.localIdentityKey = reader.bytes(); break; case 8: message.localIdentityKeyPrivate = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PendingKeyExchange message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SessionStructure.PendingKeyExchange * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SessionStructure.PendingKeyExchange} PendingKeyExchange * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PendingKeyExchange.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PendingKeyExchange message. * @function verify * @memberof proto.SessionStructure.PendingKeyExchange * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PendingKeyExchange.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.sequence != null && message.hasOwnProperty("sequence")) if (!$util.isInteger(message.sequence)) return "sequence: integer expected"; if (message.localBaseKey != null && message.hasOwnProperty("localBaseKey")) if (!(message.localBaseKey && typeof message.localBaseKey.length === "number" || $util.isString(message.localBaseKey))) return "localBaseKey: buffer expected"; if (message.localBaseKeyPrivate != null && message.hasOwnProperty("localBaseKeyPrivate")) if (!(message.localBaseKeyPrivate && typeof message.localBaseKeyPrivate.length === "number" || $util.isString(message.localBaseKeyPrivate))) return "localBaseKeyPrivate: buffer expected"; if (message.localRatchetKey != null && message.hasOwnProperty("localRatchetKey")) if (!(message.localRatchetKey && typeof message.localRatchetKey.length === "number" || $util.isString(message.localRatchetKey))) return "localRatchetKey: buffer expected"; if (message.localRatchetKeyPrivate != null && message.hasOwnProperty("localRatchetKeyPrivate")) if (!(message.localRatchetKeyPrivate && typeof message.localRatchetKeyPrivate.length === "number" || $util.isString(message.localRatchetKeyPrivate))) return "localRatchetKeyPrivate: buffer expected"; if (message.localIdentityKey != null && message.hasOwnProperty("localIdentityKey")) if (!(message.localIdentityKey && typeof message.localIdentityKey.length === "number" || $util.isString(message.localIdentityKey))) return "localIdentityKey: buffer expected"; if (message.localIdentityKeyPrivate != null && message.hasOwnProperty("localIdentityKeyPrivate")) if (!(message.localIdentityKeyPrivate && typeof message.localIdentityKeyPrivate.length === "number" || $util.isString(message.localIdentityKeyPrivate))) return "localIdentityKeyPrivate: buffer expected"; return null; }; /** * Creates a PendingKeyExchange message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SessionStructure.PendingKeyExchange * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SessionStructure.PendingKeyExchange} PendingKeyExchange */ PendingKeyExchange.fromObject = function fromObject(object) { if (object instanceof $root.proto.SessionStructure.PendingKeyExchange) return object; var message = new $root.proto.SessionStructure.PendingKeyExchange(); if (object.sequence != null) message.sequence = object.sequence >>> 0; if (object.localBaseKey != null) if (typeof object.localBaseKey === "string") $util.base64.decode(object.localBaseKey, message.localBaseKey = $util.newBuffer($util.base64.length(object.localBaseKey)), 0); else if (object.localBaseKey.length) message.localBaseKey = object.localBaseKey; if (object.localBaseKeyPrivate != null) if (typeof object.localBaseKeyPrivate === "string") $util.base64.decode(object.localBaseKeyPrivate, message.localBaseKeyPrivate = $util.newBuffer($util.base64.length(object.localBaseKeyPrivate)), 0); else if (object.localBaseKeyPrivate.length) message.localBaseKeyPrivate = object.localBaseKeyPrivate; if (object.localRatchetKey != null) if (typeof object.localRatchetKey === "string") $util.base64.decode(object.localRatchetKey, message.localRatchetKey = $util.newBuffer($util.base64.length(object.localRatchetKey)), 0); else if (object.localRatchetKey.length) message.localRatchetKey = object.localRatchetKey; if (object.localRatchetKeyPrivate != null) if (typeof object.localRatchetKeyPrivate === "string") $util.base64.decode(object.localRatchetKeyPrivate, message.localRatchetKeyPrivate = $util.newBuffer($util.base64.length(object.localRatchetKeyPrivate)), 0); else if (object.localRatchetKeyPrivate.length) message.localRatchetKeyPrivate = object.localRatchetKeyPrivate; if (object.localIdentityKey != null) if (typeof object.localIdentityKey === "string") $util.base64.decode(object.localIdentityKey, message.localIdentityKey = $util.newBuffer($util.base64.length(object.localIdentityKey)), 0); else if (object.localIdentityKey.length) message.localIdentityKey = object.localIdentityKey; if (object.localIdentityKeyPrivate != null) if (typeof object.localIdentityKeyPrivate === "string") $util.base64.decode(object.localIdentityKeyPrivate, message.localIdentityKeyPrivate = $util.newBuffer($util.base64.length(object.localIdentityKeyPrivate)), 0); else if (object.localIdentityKeyPrivate.length) message.localIdentityKeyPrivate = object.localIdentityKeyPrivate; return message; }; /** * Creates a plain object from a PendingKeyExchange message. Also converts values to other types if specified. * @function toObject * @memberof proto.SessionStructure.PendingKeyExchange * @static * @param {proto.SessionStructure.PendingKeyExchange} message PendingKeyExchange * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PendingKeyExchange.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.sequence = 0; if (options.bytes === String) object.localBaseKey = ""; else { object.localBaseKey = []; if (options.bytes !== Array) object.localBaseKey = $util.newBuffer(object.localBaseKey); } if (options.bytes === String) object.localBaseKeyPrivate = ""; else { object.localBaseKeyPrivate = []; if (options.bytes !== Array) object.localBaseKeyPrivate = $util.newBuffer(object.localBaseKeyPrivate); } if (options.bytes === String) object.localRatchetKey = ""; else { object.localRatchetKey = []; if (options.bytes !== Array) object.localRatchetKey = $util.newBuffer(object.localRatchetKey); } if (options.bytes === String) object.localRatchetKeyPrivate = ""; else { object.localRatchetKeyPrivate = []; if (options.bytes !== Array) object.localRatchetKeyPrivate = $util.newBuffer(object.localRatchetKeyPrivate); } if (options.bytes === String) object.localIdentityKey = ""; else { object.localIdentityKey = []; if (options.bytes !== Array) object.localIdentityKey = $util.newBuffer(object.localIdentityKey); } if (options.bytes === String) object.localIdentityKeyPrivate = ""; else { object.localIdentityKeyPrivate = []; if (options.bytes !== Array) object.localIdentityKeyPrivate = $util.newBuffer(object.localIdentityKeyPrivate); } } if (message.sequence != null && message.hasOwnProperty("sequence")) object.sequence = message.sequence; if (message.localBaseKey != null && message.hasOwnProperty("localBaseKey")) object.localBaseKey = options.bytes === String ? $util.base64.encode(message.localBaseKey, 0, message.localBaseKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.localBaseKey) : message.localBaseKey; if (message.localBaseKeyPrivate != null && message.hasOwnProperty("localBaseKeyPrivate")) object.localBaseKeyPrivate = options.bytes === String ? $util.base64.encode(message.localBaseKeyPrivate, 0, message.localBaseKeyPrivate.length) : options.bytes === Array ? Array.prototype.slice.call(message.localBaseKeyPrivate) : message.localBaseKeyPrivate; if (message.localRatchetKey != null && message.hasOwnProperty("localRatchetKey")) object.localRatchetKey = options.bytes === String ? $util.base64.encode(message.localRatchetKey, 0, message.localRatchetKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.localRatchetKey) : message.localRatchetKey; if (message.localRatchetKeyPrivate != null && message.hasOwnProperty("localRatchetKeyPrivate")) object.localRatchetKeyPrivate = options.bytes === String ? $util.base64.encode(message.localRatchetKeyPrivate, 0, message.localRatchetKeyPrivate.length) : options.bytes === Array ? Array.prototype.slice.call(message.localRatchetKeyPrivate) : message.localRatchetKeyPrivate; if (message.localIdentityKey != null && message.hasOwnProperty("localIdentityKey")) object.localIdentityKey = options.bytes === String ? $util.base64.encode(message.localIdentityKey, 0, message.localIdentityKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.localIdentityKey) : message.localIdentityKey; if (message.localIdentityKeyPrivate != null && message.hasOwnProperty("localIdentityKeyPrivate")) object.localIdentityKeyPrivate = options.bytes === String ? $util.base64.encode(message.localIdentityKeyPrivate, 0, message.localIdentityKeyPrivate.length) : options.bytes === Array ? Array.prototype.slice.call(message.localIdentityKeyPrivate) : message.localIdentityKeyPrivate; return object; }; /** * Converts this PendingKeyExchange to JSON. * @function toJSON * @memberof proto.SessionStructure.PendingKeyExchange * @instance * @returns {Object.<string,*>} JSON object */ PendingKeyExchange.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PendingKeyExchange; })(); SessionStructure.PendingPreKey = (function() { /** * Properties of a PendingPreKey. * @memberof proto.SessionStructure * @interface IPendingPreKey * @property {number|null} [preKeyId] PendingPreKey preKeyId * @property {number|null} [signedPreKeyId] PendingPreKey signedPreKeyId * @property {Uint8Array|null} [baseKey] PendingPreKey baseKey */ /** * Constructs a new PendingPreKey. * @memberof proto.SessionStructure * @classdesc Represents a PendingPreKey. * @implements IPendingPreKey * @constructor * @param {proto.SessionStructure.IPendingPreKey=} [properties] Properties to set */ function PendingPreKey(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]]; } /** * PendingPreKey preKeyId. * @member {number} preKeyId * @memberof proto.SessionStructure.PendingPreKey * @instance */ PendingPreKey.prototype.preKeyId = 0; /** * PendingPreKey signedPreKeyId. * @member {number} signedPreKeyId * @memberof proto.SessionStructure.PendingPreKey * @instance */ PendingPreKey.prototype.signedPreKeyId = 0; /** * PendingPreKey baseKey. * @member {Uint8Array} baseKey * @memberof proto.SessionStructure.PendingPreKey * @instance */ PendingPreKey.prototype.baseKey = $util.newBuffer([]); /** * Creates a new PendingPreKey instance using the specified properties. * @function create * @memberof proto.SessionStructure.PendingPreKey * @static * @param {proto.SessionStructure.IPendingPreKey=} [properties] Properties to set * @returns {proto.SessionStructure.PendingPreKey} PendingPreKey instance */ PendingPreKey.create = function create(properties) { return new PendingPreKey(properties); }; /** * Encodes the specified PendingPreKey message. Does not implicitly {@link proto.SessionStructure.PendingPreKey.verify|verify} messages. * @function encode * @memberof proto.SessionStructure.PendingPreKey * @static * @param {proto.SessionStructure.IPendingPreKey} message PendingPreKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PendingPreKey.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.preKeyId != null && Object.hasOwnProperty.call(message, "preKeyId")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.preKeyId); if (message.baseKey != null && Object.hasOwnProperty.call(message, "baseKey")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.baseKey); if (message.signedPreKeyId != null && Object.hasOwnProperty.call(message, "signedPreKeyId")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.signedPreKeyId); return writer; }; /** * Encodes the specified PendingPreKey message, length delimited. Does not implicitly {@link proto.SessionStructure.PendingPreKey.verify|verify} messages. * @function encodeDelimited * @memberof proto.SessionStructure.PendingPreKey * @static * @param {proto.SessionStructure.IPendingPreKey} message PendingPreKey message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PendingPreKey.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PendingPreKey message from the specified reader or buffer. * @function decode * @memberof proto.SessionStructure.PendingPreKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SessionStructure.PendingPreKey} PendingPreKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PendingPreKey.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.SessionStructure.PendingPreKey(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.preKeyId = reader.uint32(); break; case 3: message.signedPreKeyId = reader.int32(); break; case 2: message.baseKey = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PendingPreKey message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SessionStructure.PendingPreKey * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SessionStructure.PendingPreKey} PendingPreKey * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PendingPreKey.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PendingPreKey message. * @function verify * @memberof proto.SessionStructure.PendingPreKey * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PendingPreKey.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.preKeyId != null && message.hasOwnProperty("preKeyId")) if (!$util.isInteger(message.preKeyId)) return "preKeyId: integer expected"; if (message.signedPreKeyId != null && message.hasOwnProperty("signedPreKeyId")) if (!$util.isInteger(message.signedPreKeyId)) return "signedPreKeyId: integer expected"; if (message.baseKey != null && message.hasOwnProperty("baseKey")) if (!(message.baseKey && typeof message.baseKey.length === "number" || $util.isString(message.baseKey))) return "baseKey: buffer expected"; return null; }; /** * Creates a PendingPreKey message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SessionStructure.PendingPreKey * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SessionStructure.PendingPreKey} PendingPreKey */ PendingPreKey.fromObject = function fromObject(object) { if (object instanceof $root.proto.SessionStructure.PendingPreKey) return object; var message = new $root.proto.SessionStructure.PendingPreKey(); if (object.preKeyId != null) message.preKeyId = object.preKeyId >>> 0; if (object.signedPreKeyId != null) message.signedPreKeyId = object.signedPreKeyId | 0; if (object.baseKey != null) if (typeof object.baseKey === "string") $util.base64.decode(object.baseKey, message.baseKey = $util.newBuffer($util.base64.length(object.baseKey)), 0); else if (object.baseKey.length) message.baseKey = object.baseKey; return message; }; /** * Creates a plain object from a PendingPreKey message. Also converts values to other types if specified. * @function toObject * @memberof proto.SessionStructure.PendingPreKey * @static * @param {proto.SessionStructure.PendingPreKey} message PendingPreKey * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PendingPreKey.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.preKeyId = 0; if (options.bytes === String) object.baseKey = ""; else { object.baseKey = []; if (options.bytes !== Array) object.baseKey = $util.newBuffer(object.baseKey); } object.signedPreKeyId = 0; } if (message.preKeyId != null && message.hasOwnProperty("preKeyId")) object.preKeyId = message.preKeyId; if (message.baseKey != null && message.hasOwnProperty("baseKey")) object.baseKey = options.bytes === String ? $util.base64.encode(message.baseKey, 0, message.baseKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.baseKey) : message.baseKey; if (message.signedPreKeyId != null && message.hasOwnProperty("signedPreKeyId")) object.signedPreKeyId = message.signedPreKeyId; return object; }; /** * Converts this PendingPreKey to JSON. * @function toJSON * @memberof proto.SessionStructure.PendingPreKey * @instance * @returns {Object.<string,*>} JSON object */ PendingPreKey.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PendingPreKey; })(); return SessionStructure; })(); proto.SignalMessage = (function() { /** * Properties of a SignalMessage. * @memberof proto * @interface ISignalMessage * @property {Uint8Array|null} [ratchetKey] SignalMessage ratchetKey * @property {number|null} [counter] SignalMessage counter * @property {number|null} [previousCounter] SignalMessage previousCounter * @property {Uint8Array|null} [ciphertext] SignalMessage ciphertext */ /** * Constructs a new SignalMessage. * @memberof proto * @classdesc Represents a SignalMessage. * @implements ISignalMessage * @constructor * @param {proto.ISignalMessage=} [properties] Properties to set */ function SignalMessage(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]]; } /** * SignalMessage ratchetKey. * @member {Uint8Array} ratchetKey * @memberof proto.SignalMessage * @instance */ SignalMessage.prototype.ratchetKey = $util.newBuffer([]); /** * SignalMessage counter. * @member {number} counter * @memberof proto.SignalMessage * @instance */ SignalMessage.prototype.counter = 0; /** * SignalMessage previousCounter. * @member {number} previousCounter * @memberof proto.SignalMessage * @instance */ SignalMessage.prototype.previousCounter = 0; /** * SignalMessage ciphertext. * @member {Uint8Array} ciphertext * @memberof proto.SignalMessage * @instance */ SignalMessage.prototype.ciphertext = $util.newBuffer([]); /** * Creates a new SignalMessage instance using the specified properties. * @function create * @memberof proto.SignalMessage * @static * @param {proto.ISignalMessage=} [properties] Properties to set * @returns {proto.SignalMessage} SignalMessage instance */ SignalMessage.create = function create(properties) { return new SignalMessage(properties); }; /** * Encodes the specified SignalMessage message. Does not implicitly {@link proto.SignalMessage.verify|verify} messages. * @function encode * @memberof proto.SignalMessage * @static * @param {proto.ISignalMessage} message SignalMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SignalMessage.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.ratchetKey != null && Object.hasOwnProperty.call(message, "ratchetKey")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.ratchetKey); if (message.counter != null && Object.hasOwnProperty.call(message, "counter")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.counter); if (message.previousCounter != null && Object.hasOwnProperty.call(message, "previousCounter")) writer.uint32(/* id 3, wireType 0 =*/24).uint32(message.previousCounter); if (message.ciphertext != null && Object.hasOwnProperty.call(message, "ciphertext")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.ciphertext); return writer; }; /** * Encodes the specified SignalMessage message, length delimited. Does not implicitly {@link proto.SignalMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.SignalMessage * @static * @param {proto.ISignalMessage} message SignalMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SignalMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SignalMessage message from the specified reader or buffer. * @function decode * @memberof proto.SignalMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SignalMessage} SignalMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SignalMessage.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.SignalMessage(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.ratchetKey = reader.bytes(); break; case 2: message.counter = reader.uint32(); break; case 3: message.previousCounter = reader.uint32(); break; case 4: message.ciphertext = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SignalMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SignalMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SignalMessage} SignalMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SignalMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SignalMessage message. * @function verify * @memberof proto.SignalMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SignalMessage.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.ratchetKey != null && message.hasOwnProperty("ratchetKey")) if (!(message.ratchetKey && typeof message.ratchetKey.length === "number" || $util.isString(message.ratchetKey))) return "ratchetKey: buffer expected"; if (message.counter != null && message.hasOwnProperty("counter")) if (!$util.isInteger(message.counter)) return "counter: integer expected"; if (message.previousCounter != null && message.hasOwnProperty("previousCounter")) if (!$util.isInteger(message.previousCounter)) return "previousCounter: integer expected"; if (message.ciphertext != null && message.hasOwnProperty("ciphertext")) if (!(message.ciphertext && typeof message.ciphertext.length === "number" || $util.isString(message.ciphertext))) return "ciphertext: buffer expected"; return null; }; /** * Creates a SignalMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SignalMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SignalMessage} SignalMessage */ SignalMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.SignalMessage) return object; var message = new $root.proto.SignalMessage(); if (object.ratchetKey != null) if (typeof object.ratchetKey === "string") $util.base64.decode(object.ratchetKey, message.ratchetKey = $util.newBuffer($util.base64.length(object.ratchetKey)), 0); else if (object.ratchetKey.length) message.ratchetKey = object.ratchetKey; if (object.counter != null) message.counter = object.counter >>> 0; if (object.previousCounter != null) message.previousCounter = object.previousCounter >>> 0; if (object.ciphertext != null) if (typeof object.ciphertext === "string") $util.base64.decode(object.ciphertext, message.ciphertext = $util.newBuffer($util.base64.length(object.ciphertext)), 0); else if (object.ciphertext.length) message.ciphertext = object.ciphertext; return message; }; /** * Creates a plain object from a SignalMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.SignalMessage * @static * @param {proto.SignalMessage} message SignalMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SignalMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.ratchetKey = ""; else { object.ratchetKey = []; if (options.bytes !== Array) object.ratchetKey = $util.newBuffer(object.ratchetKey); } object.counter = 0; object.previousCounter = 0; if (options.bytes === String) object.ciphertext = ""; else { object.ciphertext = []; if (options.bytes !== Array) object.ciphertext = $util.newBuffer(object.ciphertext); } } if (message.ratchetKey != null && message.hasOwnProperty("ratchetKey")) object.ratchetKey = options.bytes === String ? $util.base64.encode(message.ratchetKey, 0, message.ratchetKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.ratchetKey) : message.ratchetKey; if (message.counter != null && message.hasOwnProperty("counter")) object.counter = message.counter; if (message.previousCounter != null && message.hasOwnProperty("previousCounter")) object.previousCounter = message.previousCounter; if (message.ciphertext != null && message.hasOwnProperty("ciphertext")) object.ciphertext = options.bytes === String ? $util.base64.encode(message.ciphertext, 0, message.ciphertext.length) : options.bytes === Array ? Array.prototype.slice.call(message.ciphertext) : message.ciphertext; return object; }; /** * Converts this SignalMessage to JSON. * @function toJSON * @memberof proto.SignalMessage * @instance * @returns {Object.<string,*>} JSON object */ SignalMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SignalMessage; })(); proto.SignedPreKeyRecordStructure = (function() { /** * Properties of a SignedPreKeyRecordStructure. * @memberof proto * @interface ISignedPreKeyRecordStructure * @property {number|null} [id] SignedPreKeyRecordStructure id * @property {Uint8Array|null} [publicKey] SignedPreKeyRecordStructure publicKey * @property {Uint8Array|null} [privateKey] SignedPreKeyRecordStructure privateKey * @property {Uint8Array|null} [signature] SignedPreKeyRecordStructure signature * @property {number|Long|null} [timestamp] SignedPreKeyRecordStructure timestamp */ /** * Constructs a new SignedPreKeyRecordStructure. * @memberof proto * @classdesc Represents a SignedPreKeyRecordStructure. * @implements ISignedPreKeyRecordStructure * @constructor * @param {proto.ISignedPreKeyRecordStructure=} [properties] Properties to set */ function SignedPreKeyRecordStructure(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]]; } /** * SignedPreKeyRecordStructure id. * @member {number} id * @memberof proto.SignedPreKeyRecordStructure * @instance */ SignedPreKeyRecordStructure.prototype.id = 0; /** * SignedPreKeyRecordStructure publicKey. * @member {Uint8Array} publicKey * @memberof proto.SignedPreKeyRecordStructure * @instance */ SignedPreKeyRecordStructure.prototype.publicKey = $util.newBuffer([]); /** * SignedPreKeyRecordStructure privateKey. * @member {Uint8Array} privateKey * @memberof proto.SignedPreKeyRecordStructure * @instance */ SignedPreKeyRecordStructure.prototype.privateKey = $util.newBuffer([]); /** * SignedPreKeyRecordStructure signature. * @member {Uint8Array} signature * @memberof proto.SignedPreKeyRecordStructure * @instance */ SignedPreKeyRecordStructure.prototype.signature = $util.newBuffer([]); /** * SignedPreKeyRecordStructure timestamp. * @member {number|Long} timestamp * @memberof proto.SignedPreKeyRecordStructure * @instance */ SignedPreKeyRecordStructure.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new SignedPreKeyRecordStructure instance using the specified properties. * @function create * @memberof proto.SignedPreKeyRecordStructure * @static * @param {proto.ISignedPreKeyRecordStructure=} [properties] Properties to set * @returns {proto.SignedPreKeyRecordStructure} SignedPreKeyRecordStructure instance */ SignedPreKeyRecordStructure.create = function create(properties) { return new SignedPreKeyRecordStructure(properties); }; /** * Encodes the specified SignedPreKeyRecordStructure message. Does not implicitly {@link proto.SignedPreKeyRecordStructure.verify|verify} messages. * @function encode * @memberof proto.SignedPreKeyRecordStructure * @static * @param {proto.ISignedPreKeyRecordStructure} message SignedPreKeyRecordStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SignedPreKeyRecordStructure.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.id != null && Object.hasOwnProperty.call(message, "id")) writer.uint32(/* id 1, wireType 0 =*/8).uint32(message.id); if (message.publicKey != null && Object.hasOwnProperty.call(message, "publicKey")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.publicKey); if (message.privateKey != null && Object.hasOwnProperty.call(message, "privateKey")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.privateKey); if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.signature); if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) writer.uint32(/* id 5, wireType 1 =*/41).fixed64(message.timestamp); return writer; }; /** * Encodes the specified SignedPreKeyRecordStructure message, length delimited. Does not implicitly {@link proto.SignedPreKeyRecordStructure.verify|verify} messages. * @function encodeDelimited * @memberof proto.SignedPreKeyRecordStructure * @static * @param {proto.ISignedPreKeyRecordStructure} message SignedPreKeyRecordStructure message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SignedPreKeyRecordStructure.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SignedPreKeyRecordStructure message from the specified reader or buffer. * @function decode * @memberof proto.SignedPreKeyRecordStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SignedPreKeyRecordStructure} SignedPreKeyRecordStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SignedPreKeyRecordStructure.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.SignedPreKeyRecordStructure(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.id = reader.uint32(); break; case 2: message.publicKey = reader.bytes(); break; case 3: message.privateKey = reader.bytes(); break; case 4: message.signature = reader.bytes(); break; case 5: message.timestamp = reader.fixed64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SignedPreKeyRecordStructure message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SignedPreKeyRecordStructure * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SignedPreKeyRecordStructure} SignedPreKeyRecordStructure * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SignedPreKeyRecordStructure.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SignedPreKeyRecordStructure message. * @function verify * @memberof proto.SignedPreKeyRecordStructure * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SignedPreKeyRecordStructure.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.id != null && message.hasOwnProperty("id")) if (!$util.isInteger(message.id)) return "id: integer expected"; if (message.publicKey != null && message.hasOwnProperty("publicKey")) if (!(message.publicKey && typeof message.publicKey.length === "number" || $util.isString(message.publicKey))) return "publicKey: buffer expected"; if (message.privateKey != null && message.hasOwnProperty("privateKey")) if (!(message.privateKey && typeof message.privateKey.length === "number" || $util.isString(message.privateKey))) return "privateKey: buffer expected"; if (message.signature != null && message.hasOwnProperty("signature")) if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) return "signature: buffer 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 SignedPreKeyRecordStructure message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SignedPreKeyRecordStructure * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SignedPreKeyRecordStructure} SignedPreKeyRecordStructure */ SignedPreKeyRecordStructure.fromObject = function fromObject(object) { if (object instanceof $root.proto.SignedPreKeyRecordStructure) return object; var message = new $root.proto.SignedPreKeyRecordStructure(); if (object.id != null) message.id = object.id >>> 0; if (object.publicKey != null) if (typeof object.publicKey === "string") $util.base64.decode(object.publicKey, message.publicKey = $util.newBuffer($util.base64.length(object.publicKey)), 0); else if (object.publicKey.length) message.publicKey = object.publicKey; if (object.privateKey != null) if (typeof object.privateKey === "string") $util.base64.decode(object.privateKey, message.privateKey = $util.newBuffer($util.base64.length(object.privateKey)), 0); else if (object.privateKey.length) message.privateKey = object.privateKey; if (object.signature != null) if (typeof object.signature === "string") $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); else if (object.signature.length) message.signature = object.signature; 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 SignedPreKeyRecordStructure message. Also converts values to other types if specified. * @function toObject * @memberof proto.SignedPreKeyRecordStructure * @static * @param {proto.SignedPreKeyRecordStructure} message SignedPreKeyRecordStructure * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SignedPreKeyRecordStructure.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.id = 0; if (options.bytes === String) object.publicKey = ""; else { object.publicKey = []; if (options.bytes !== Array) object.publicKey = $util.newBuffer(object.publicKey); } if (options.bytes === String) object.privateKey = ""; else { object.privateKey = []; if (options.bytes !== Array) object.privateKey = $util.newBuffer(object.privateKey); } if (options.bytes === String) object.signature = ""; else { object.signature = []; if (options.bytes !== Array) object.signature = $util.newBuffer(object.signature); } 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.id != null && message.hasOwnProperty("id")) object.id = message.id; if (message.publicKey != null && message.hasOwnProperty("publicKey")) object.publicKey = options.bytes === String ? $util.base64.encode(message.publicKey, 0, message.publicKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.publicKey) : message.publicKey; if (message.privateKey != null && message.hasOwnProperty("privateKey")) object.privateKey = options.bytes === String ? $util.base64.encode(message.privateKey, 0, message.privateKey.length) : options.bytes === Array ? Array.prototype.slice.call(message.privateKey) : message.privateKey; if (message.signature != null && message.hasOwnProperty("signature")) object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; 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 SignedPreKeyRecordStructure to JSON. * @function toJSON * @memberof proto.SignedPreKeyRecordStructure * @instance * @returns {Object.<string,*>} JSON object */ SignedPreKeyRecordStructure.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SignedPreKeyRecordStructure; })(); proto.StatusPSA = (function() { /** * Properties of a StatusPSA. * @memberof proto * @interface IStatusPSA * @property {number|Long} campaignId StatusPSA campaignId * @property {number|Long|null} [campaignExpirationTimestamp] StatusPSA campaignExpirationTimestamp */ /** * Constructs a new StatusPSA. * @memberof proto * @classdesc Represents a StatusPSA. * @implements IStatusPSA * @constructor * @param {proto.IStatusPSA=} [properties] Properties to set */ function StatusPSA(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]]; } /** * StatusPSA campaignId. * @member {number|Long} campaignId * @memberof proto.StatusPSA * @instance */ StatusPSA.prototype.campaignId = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * StatusPSA campaignExpirationTimestamp. * @member {number|Long} campaignExpirationTimestamp * @memberof proto.StatusPSA * @instance */ StatusPSA.prototype.campaignExpirationTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Creates a new StatusPSA instance using the specified properties. * @function create * @memberof proto.StatusPSA * @static * @param {proto.IStatusPSA=} [properties] Properties to set * @returns {proto.StatusPSA} StatusPSA instance */ StatusPSA.create = function create(properties) { return new StatusPSA(properties); }; /** * Encodes the specified StatusPSA message. Does not implicitly {@link proto.StatusPSA.verify|verify} messages. * @function encode * @memberof proto.StatusPSA * @static * @param {proto.IStatusPSA} message StatusPSA message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StatusPSA.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); writer.uint32(/* id 44, wireType 0 =*/352).uint64(message.campaignId); if (message.campaignExpirationTimestamp != null && Object.hasOwnProperty.call(message, "campaignExpirationTimestamp")) writer.uint32(/* id 45, wireType 0 =*/360).uint64(message.campaignExpirationTimestamp); return writer; }; /** * Encodes the specified StatusPSA message, length delimited. Does not implicitly {@link proto.StatusPSA.verify|verify} messages. * @function encodeDelimited * @memberof proto.StatusPSA * @static * @param {proto.IStatusPSA} message StatusPSA message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StatusPSA.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a StatusPSA message from the specified reader or buffer. * @function decode * @memberof proto.StatusPSA * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.StatusPSA} StatusPSA * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StatusPSA.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.StatusPSA(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 44: message.campaignId = reader.uint64(); break; case 45: message.campaignExpirationTimestamp = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } if (!message.hasOwnProperty("campaignId")) throw $util.ProtocolError("missing required 'campaignId'", { instance: message }); return message; }; /** * Decodes a StatusPSA message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.StatusPSA * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.StatusPSA} StatusPSA * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StatusPSA.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a StatusPSA message. * @function verify * @memberof proto.StatusPSA * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ StatusPSA.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (!$util.isInteger(message.campaignId) && !(message.campaignId && $util.isInteger(message.campaignId.low) && $util.isInteger(message.campaignId.high))) return "campaignId: integer|Long expected"; if (message.campaignExpirationTimestamp != null && message.hasOwnProperty("campaignExpirationTimestamp")) if (!$util.isInteger(message.campaignExpirationTimestamp) && !(message.campaignExpirationTimestamp && $util.isInteger(message.campaignExpirationTimestamp.low) && $util.isInteger(message.campaignExpirationTimestamp.high))) return "campaignExpirationTimestamp: integer|Long expected"; return null; }; /** * Creates a StatusPSA message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.StatusPSA * @static * @param {Object.<string,*>} object Plain object * @returns {proto.StatusPSA} StatusPSA */ StatusPSA.fromObject = function fromObject(object) { if (object instanceof $root.proto.StatusPSA) return object; var message = new $root.proto.StatusPSA(); if (object.campaignId != null) if ($util.Long) (message.campaignId = $util.Long.fromValue(object.campaignId)).unsigned = true; else if (typeof object.campaignId === "string") message.campaignId = parseInt(object.campaignId, 10); else if (typeof object.campaignId === "number") message.campaignId = object.campaignId; else if (typeof object.campaignId === "object") message.campaignId = new $util.LongBits(object.campaignId.low >>> 0, object.campaignId.high >>> 0).toNumber(true); if (object.campaignExpirationTimestamp != null) if ($util.Long) (message.campaignExpirationTimestamp = $util.Long.fromValue(object.campaignExpirationTimestamp)).unsigned = true; else if (typeof object.campaignExpirationTimestamp === "string") message.campaignExpirationTimestamp = parseInt(object.campaignExpirationTimestamp, 10); else if (typeof object.campaignExpirationTimestamp === "number") message.campaignExpirationTimestamp = object.campaignExpirationTimestamp; else if (typeof object.campaignExpirationTimestamp === "object") message.campaignExpirationTimestamp = new $util.LongBits(object.campaignExpirationTimestamp.low >>> 0, object.campaignExpirationTimestamp.high >>> 0).toNumber(true); return message; }; /** * Creates a plain object from a StatusPSA message. Also converts values to other types if specified. * @function toObject * @memberof proto.StatusPSA * @static * @param {proto.StatusPSA} message StatusPSA * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ StatusPSA.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if ($util.Long) { var long = new $util.Long(0, 0, true); object.campaignId = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.campaignId = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, true); object.campaignExpirationTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.campaignExpirationTimestamp = options.longs === String ? "0" : 0; } if (message.campaignId != null && message.hasOwnProperty("campaignId")) if (typeof message.campaignId === "number") object.campaignId = options.longs === String ? String(message.campaignId) : message.campaignId; else object.campaignId = options.longs === String ? $util.Long.prototype.toString.call(message.campaignId) : options.longs === Number ? new $util.LongBits(message.campaignId.low >>> 0, message.campaignId.high >>> 0).toNumber(true) : message.campaignId; if (message.campaignExpirationTimestamp != null && message.hasOwnProperty("campaignExpirationTimestamp")) if (typeof message.campaignExpirationTimestamp === "number") object.campaignExpirationTimestamp = options.longs === String ? String(message.campaignExpirationTimestamp) : message.campaignExpirationTimestamp; else object.campaignExpirationTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.campaignExpirationTimestamp) : options.longs === Number ? new $util.LongBits(message.campaignExpirationTimestamp.low >>> 0, message.campaignExpirationTimestamp.high >>> 0).toNumber(true) : message.campaignExpirationTimestamp; return object; }; /** * Converts this StatusPSA to JSON. * @function toJSON * @memberof proto.StatusPSA * @instance * @returns {Object.<string,*>} JSON object */ StatusPSA.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return StatusPSA; })(); proto.StickerMetadata = (function() { /** * Properties of a StickerMetadata. * @memberof proto * @interface IStickerMetadata * @property {string|null} [url] StickerMetadata url * @property {Uint8Array|null} [fileSha256] StickerMetadata fileSha256 * @property {Uint8Array|null} [fileEncSha256] StickerMetadata fileEncSha256 * @property {Uint8Array|null} [mediaKey] StickerMetadata mediaKey * @property {string|null} [mimetype] StickerMetadata mimetype * @property {number|null} [height] StickerMetadata height * @property {number|null} [width] StickerMetadata width * @property {string|null} [directPath] StickerMetadata directPath * @property {number|Long|null} [fileLength] StickerMetadata fileLength * @property {number|null} [weight] StickerMetadata weight * @property {number|Long|null} [lastStickerSentTs] StickerMetadata lastStickerSentTs */ /** * Constructs a new StickerMetadata. * @memberof proto * @classdesc Represents a StickerMetadata. * @implements IStickerMetadata * @constructor * @param {proto.IStickerMetadata=} [properties] Properties to set */ function StickerMetadata(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]]; } /** * StickerMetadata url. * @member {string} url * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.url = ""; /** * StickerMetadata fileSha256. * @member {Uint8Array} fileSha256 * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.fileSha256 = $util.newBuffer([]); /** * StickerMetadata fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.fileEncSha256 = $util.newBuffer([]); /** * StickerMetadata mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.mediaKey = $util.newBuffer([]); /** * StickerMetadata mimetype. * @member {string} mimetype * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.mimetype = ""; /** * StickerMetadata height. * @member {number} height * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.height = 0; /** * StickerMetadata width. * @member {number} width * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.width = 0; /** * StickerMetadata directPath. * @member {string} directPath * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.directPath = ""; /** * StickerMetadata fileLength. * @member {number|Long} fileLength * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * StickerMetadata weight. * @member {number} weight * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.weight = 0; /** * StickerMetadata lastStickerSentTs. * @member {number|Long} lastStickerSentTs * @memberof proto.StickerMetadata * @instance */ StickerMetadata.prototype.lastStickerSentTs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new StickerMetadata instance using the specified properties. * @function create * @memberof proto.StickerMetadata * @static * @param {proto.IStickerMetadata=} [properties] Properties to set * @returns {proto.StickerMetadata} StickerMetadata instance */ StickerMetadata.create = function create(properties) { return new StickerMetadata(properties); }; /** * Encodes the specified StickerMetadata message. Does not implicitly {@link proto.StickerMetadata.verify|verify} messages. * @function encode * @memberof proto.StickerMetadata * @static * @param {proto.IStickerMetadata} message StickerMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StickerMetadata.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.weight != null && Object.hasOwnProperty.call(message, "weight")) writer.uint32(/* id 10, wireType 5 =*/85).float(message.weight); if (message.lastStickerSentTs != null && Object.hasOwnProperty.call(message, "lastStickerSentTs")) writer.uint32(/* id 11, wireType 0 =*/88).int64(message.lastStickerSentTs); return writer; }; /** * Encodes the specified StickerMetadata message, length delimited. Does not implicitly {@link proto.StickerMetadata.verify|verify} messages. * @function encodeDelimited * @memberof proto.StickerMetadata * @static * @param {proto.IStickerMetadata} message StickerMetadata message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StickerMetadata.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a StickerMetadata message from the specified reader or buffer. * @function decode * @memberof proto.StickerMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.StickerMetadata} StickerMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StickerMetadata.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.StickerMetadata(); 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.weight = reader.float(); break; case 11: message.lastStickerSentTs = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a StickerMetadata message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.StickerMetadata * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.StickerMetadata} StickerMetadata * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StickerMetadata.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a StickerMetadata message. * @function verify * @memberof proto.StickerMetadata * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ StickerMetadata.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.weight != null && message.hasOwnProperty("weight")) if (typeof message.weight !== "number") return "weight: number expected"; if (message.lastStickerSentTs != null && message.hasOwnProperty("lastStickerSentTs")) if (!$util.isInteger(message.lastStickerSentTs) && !(message.lastStickerSentTs && $util.isInteger(message.lastStickerSentTs.low) && $util.isInteger(message.lastStickerSentTs.high))) return "lastStickerSentTs: integer|Long expected"; return null; }; /** * Creates a StickerMetadata message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.StickerMetadata * @static * @param {Object.<string,*>} object Plain object * @returns {proto.StickerMetadata} StickerMetadata */ StickerMetadata.fromObject = function fromObject(object) { if (object instanceof $root.proto.StickerMetadata) return object; var message = new $root.proto.StickerMetadata(); 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.weight != null) message.weight = Number(object.weight); if (object.lastStickerSentTs != null) if ($util.Long) (message.lastStickerSentTs = $util.Long.fromValue(object.lastStickerSentTs)).unsigned = false; else if (typeof object.lastStickerSentTs === "string") message.lastStickerSentTs = parseInt(object.lastStickerSentTs, 10); else if (typeof object.lastStickerSentTs === "number") message.lastStickerSentTs = object.lastStickerSentTs; else if (typeof object.lastStickerSentTs === "object") message.lastStickerSentTs = new $util.LongBits(object.lastStickerSentTs.low >>> 0, object.lastStickerSentTs.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a StickerMetadata message. Also converts values to other types if specified. * @function toObject * @memberof proto.StickerMetadata * @static * @param {proto.StickerMetadata} message StickerMetadata * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ StickerMetadata.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; object.weight = 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.lastStickerSentTs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.lastStickerSentTs = options.longs === String ? "0" : 0; } 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.weight != null && message.hasOwnProperty("weight")) object.weight = options.json && !isFinite(message.weight) ? String(message.weight) : message.weight; if (message.lastStickerSentTs != null && message.hasOwnProperty("lastStickerSentTs")) if (typeof message.lastStickerSentTs === "number") object.lastStickerSentTs = options.longs === String ? String(message.lastStickerSentTs) : message.lastStickerSentTs; else object.lastStickerSentTs = options.longs === String ? $util.Long.prototype.toString.call(message.lastStickerSentTs) : options.longs === Number ? new $util.LongBits(message.lastStickerSentTs.low >>> 0, message.lastStickerSentTs.high >>> 0).toNumber() : message.lastStickerSentTs; return object; }; /** * Converts this StickerMetadata to JSON. * @function toJSON * @memberof proto.StickerMetadata * @instance * @returns {Object.<string,*>} JSON object */ StickerMetadata.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return StickerMetadata; })(); proto.SyncActionData = (function() { /** * Properties of a SyncActionData. * @memberof proto * @interface ISyncActionData * @property {Uint8Array|null} [index] SyncActionData index * @property {proto.ISyncActionValue|null} [value] SyncActionData value * @property {Uint8Array|null} [padding] SyncActionData padding * @property {number|null} [version] SyncActionData version */ /** * Constructs a new SyncActionData. * @memberof proto * @classdesc Represents a SyncActionData. * @implements ISyncActionData * @constructor * @param {proto.ISyncActionData=} [properties] Properties to set */ function SyncActionData(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]]; } /** * SyncActionData index. * @member {Uint8Array} index * @memberof proto.SyncActionData * @instance */ SyncActionData.prototype.index = $util.newBuffer([]); /** * SyncActionData value. * @member {proto.ISyncActionValue|null|undefined} value * @memberof proto.SyncActionData * @instance */ SyncActionData.prototype.value = null; /** * SyncActionData padding. * @member {Uint8Array} padding * @memberof proto.SyncActionData * @instance */ SyncActionData.prototype.padding = $util.newBuffer([]); /** * SyncActionData version. * @member {number} version * @memberof proto.SyncActionData * @instance */ SyncActionData.prototype.version = 0; /** * Creates a new SyncActionData instance using the specified properties. * @function create * @memberof proto.SyncActionData * @static * @param {proto.ISyncActionData=} [properties] Properties to set * @returns {proto.SyncActionData} SyncActionData instance */ SyncActionData.create = function create(properties) { return new SyncActionData(properties); }; /** * Encodes the specified SyncActionData message. Does not implicitly {@link proto.SyncActionData.verify|verify} messages. * @function encode * @memberof proto.SyncActionData * @static * @param {proto.ISyncActionData} message SyncActionData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncActionData.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.index != null && Object.hasOwnProperty.call(message, "index")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.index); if (message.value != null && Object.hasOwnProperty.call(message, "value")) $root.proto.SyncActionValue.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.padding != null && Object.hasOwnProperty.call(message, "padding")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.padding); if (message.version != null && Object.hasOwnProperty.call(message, "version")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.version); return writer; }; /** * Encodes the specified SyncActionData message, length delimited. Does not implicitly {@link proto.SyncActionData.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionData * @static * @param {proto.ISyncActionData} message SyncActionData message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncActionData.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncActionData message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionData} SyncActionData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncActionData.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.SyncActionData(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.index = reader.bytes(); break; case 2: message.value = $root.proto.SyncActionValue.decode(reader, reader.uint32()); break; case 3: message.padding = reader.bytes(); break; case 4: message.version = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncActionData message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionData * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionData} SyncActionData * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncActionData.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncActionData message. * @function verify * @memberof proto.SyncActionData * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncActionData.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.index != null && message.hasOwnProperty("index")) if (!(message.index && typeof message.index.length === "number" || $util.isString(message.index))) return "index: buffer expected"; if (message.value != null && message.hasOwnProperty("value")) { var error = $root.proto.SyncActionValue.verify(message.value); if (error) return "value." + error; } if (message.padding != null && message.hasOwnProperty("padding")) if (!(message.padding && typeof message.padding.length === "number" || $util.isString(message.padding))) return "padding: buffer expected"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isInteger(message.version)) return "version: integer expected"; return null; }; /** * Creates a SyncActionData message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionData * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionData} SyncActionData */ SyncActionData.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionData) return object; var message = new $root.proto.SyncActionData(); if (object.index != null) if (typeof object.index === "string") $util.base64.decode(object.index, message.index = $util.newBuffer($util.base64.length(object.index)), 0); else if (object.index.length) message.index = object.index; if (object.value != null) { if (typeof object.value !== "object") throw TypeError(".proto.SyncActionData.value: object expected"); message.value = $root.proto.SyncActionValue.fromObject(object.value); } if (object.padding != null) if (typeof object.padding === "string") $util.base64.decode(object.padding, message.padding = $util.newBuffer($util.base64.length(object.padding)), 0); else if (object.padding.length) message.padding = object.padding; if (object.version != null) message.version = object.version | 0; return message; }; /** * Creates a plain object from a SyncActionData message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionData * @static * @param {proto.SyncActionData} message SyncActionData * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncActionData.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.index = ""; else { object.index = []; if (options.bytes !== Array) object.index = $util.newBuffer(object.index); } object.value = null; if (options.bytes === String) object.padding = ""; else { object.padding = []; if (options.bytes !== Array) object.padding = $util.newBuffer(object.padding); } object.version = 0; } if (message.index != null && message.hasOwnProperty("index")) object.index = options.bytes === String ? $util.base64.encode(message.index, 0, message.index.length) : options.bytes === Array ? Array.prototype.slice.call(message.index) : message.index; if (message.value != null && message.hasOwnProperty("value")) object.value = $root.proto.SyncActionValue.toObject(message.value, options); if (message.padding != null && message.hasOwnProperty("padding")) object.padding = options.bytes === String ? $util.base64.encode(message.padding, 0, message.padding.length) : options.bytes === Array ? Array.prototype.slice.call(message.padding) : message.padding; if (message.version != null && message.hasOwnProperty("version")) object.version = message.version; return object; }; /** * Converts this SyncActionData to JSON. * @function toJSON * @memberof proto.SyncActionData * @instance * @returns {Object.<string,*>} JSON object */ SyncActionData.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SyncActionData; })(); proto.SyncActionValue = (function() { /** * Properties of a SyncActionValue. * @memberof proto * @interface ISyncActionValue * @property {number|Long|null} [timestamp] SyncActionValue timestamp * @property {proto.SyncActionValue.IStarAction|null} [starAction] SyncActionValue starAction * @property {proto.SyncActionValue.IContactAction|null} [contactAction] SyncActionValue contactAction * @property {proto.SyncActionValue.IMuteAction|null} [muteAction] SyncActionValue muteAction * @property {proto.SyncActionValue.IPinAction|null} [pinAction] SyncActionValue pinAction * @property {proto.SyncActionValue.ISecurityNotificationSetting|null} [securityNotificationSetting] SyncActionValue securityNotificationSetting * @property {proto.SyncActionValue.IPushNameSetting|null} [pushNameSetting] SyncActionValue pushNameSetting * @property {proto.SyncActionValue.IQuickReplyAction|null} [quickReplyAction] SyncActionValue quickReplyAction * @property {proto.SyncActionValue.IRecentEmojiWeightsAction|null} [recentEmojiWeightsAction] SyncActionValue recentEmojiWeightsAction * @property {proto.SyncActionValue.ILabelEditAction|null} [labelEditAction] SyncActionValue labelEditAction * @property {proto.SyncActionValue.ILabelAssociationAction|null} [labelAssociationAction] SyncActionValue labelAssociationAction * @property {proto.SyncActionValue.ILocaleSetting|null} [localeSetting] SyncActionValue localeSetting * @property {proto.SyncActionValue.IArchiveChatAction|null} [archiveChatAction] SyncActionValue archiveChatAction * @property {proto.SyncActionValue.IDeleteMessageForMeAction|null} [deleteMessageForMeAction] SyncActionValue deleteMessageForMeAction * @property {proto.SyncActionValue.IKeyExpiration|null} [keyExpiration] SyncActionValue keyExpiration * @property {proto.SyncActionValue.IMarkChatAsReadAction|null} [markChatAsReadAction] SyncActionValue markChatAsReadAction * @property {proto.SyncActionValue.IClearChatAction|null} [clearChatAction] SyncActionValue clearChatAction * @property {proto.SyncActionValue.IDeleteChatAction|null} [deleteChatAction] SyncActionValue deleteChatAction * @property {proto.SyncActionValue.IUnarchiveChatsSetting|null} [unarchiveChatsSetting] SyncActionValue unarchiveChatsSetting * @property {proto.SyncActionValue.IPrimaryFeature|null} [primaryFeature] SyncActionValue primaryFeature * @property {proto.SyncActionValue.IAndroidUnsupportedActions|null} [androidUnsupportedActions] SyncActionValue androidUnsupportedActions * @property {proto.SyncActionValue.IAgentAction|null} [agentAction] SyncActionValue agentAction * @property {proto.SyncActionValue.ISubscriptionAction|null} [subscriptionAction] SyncActionValue subscriptionAction * @property {proto.SyncActionValue.IUserStatusMuteAction|null} [userStatusMuteAction] SyncActionValue userStatusMuteAction * @property {proto.SyncActionValue.ITimeFormatAction|null} [timeFormatAction] SyncActionValue timeFormatAction * @property {proto.SyncActionValue.INuxAction|null} [nuxAction] SyncActionValue nuxAction * @property {proto.SyncActionValue.IPrimaryVersionAction|null} [primaryVersionAction] SyncActionValue primaryVersionAction * @property {proto.SyncActionValue.IStickerAction|null} [stickerAction] SyncActionValue stickerAction * @property {proto.SyncActionValue.IRemoveRecentStickerAction|null} [removeRecentStickerAction] SyncActionValue removeRecentStickerAction * @property {proto.SyncActionValue.IChatAssignmentAction|null} [chatAssignment] SyncActionValue chatAssignment * @property {proto.SyncActionValue.IChatAssignmentOpenedStatusAction|null} [chatAssignmentOpenedStatus] SyncActionValue chatAssignmentOpenedStatus * @property {proto.SyncActionValue.IPnForLidChatAction|null} [pnForLidChatAction] SyncActionValue pnForLidChatAction * @property {proto.SyncActionValue.IMarketingMessageAction|null} [marketingMessageAction] SyncActionValue marketingMessageAction * @property {proto.SyncActionValue.IMarketingMessageBroadcastAction|null} [marketingMessageBroadcastAction] SyncActionValue marketingMessageBroadcastAction * @property {proto.SyncActionValue.IExternalWebBetaAction|null} [externalWebBetaAction] SyncActionValue externalWebBetaAction * @property {proto.SyncActionValue.IPrivacySettingRelayAllCalls|null} [privacySettingRelayAllCalls] SyncActionValue privacySettingRelayAllCalls */ /** * Constructs a new SyncActionValue. * @memberof proto * @classdesc Represents a SyncActionValue. * @implements ISyncActionValue * @constructor * @param {proto.ISyncActionValue=} [properties] Properties to set */ function SyncActionValue(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]]; } /** * SyncActionValue timestamp. * @member {number|Long} timestamp * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * SyncActionValue starAction. * @member {proto.SyncActionValue.IStarAction|null|undefined} starAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.starAction = null; /** * SyncActionValue contactAction. * @member {proto.SyncActionValue.IContactAction|null|undefined} contactAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.contactAction = null; /** * SyncActionValue muteAction. * @member {proto.SyncActionValue.IMuteAction|null|undefined} muteAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.muteAction = null; /** * SyncActionValue pinAction. * @member {proto.SyncActionValue.IPinAction|null|undefined} pinAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.pinAction = null; /** * SyncActionValue securityNotificationSetting. * @member {proto.SyncActionValue.ISecurityNotificationSetting|null|undefined} securityNotificationSetting * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.securityNotificationSetting = null; /** * SyncActionValue pushNameSetting. * @member {proto.SyncActionValue.IPushNameSetting|null|undefined} pushNameSetting * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.pushNameSetting = null; /** * SyncActionValue quickReplyAction. * @member {proto.SyncActionValue.IQuickReplyAction|null|undefined} quickReplyAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.quickReplyAction = null; /** * SyncActionValue recentEmojiWeightsAction. * @member {proto.SyncActionValue.IRecentEmojiWeightsAction|null|undefined} recentEmojiWeightsAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.recentEmojiWeightsAction = null; /** * SyncActionValue labelEditAction. * @member {proto.SyncActionValue.ILabelEditAction|null|undefined} labelEditAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.labelEditAction = null; /** * SyncActionValue labelAssociationAction. * @member {proto.SyncActionValue.ILabelAssociationAction|null|undefined} labelAssociationAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.labelAssociationAction = null; /** * SyncActionValue localeSetting. * @member {proto.SyncActionValue.ILocaleSetting|null|undefined} localeSetting * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.localeSetting = null; /** * SyncActionValue archiveChatAction. * @member {proto.SyncActionValue.IArchiveChatAction|null|undefined} archiveChatAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.archiveChatAction = null; /** * SyncActionValue deleteMessageForMeAction. * @member {proto.SyncActionValue.IDeleteMessageForMeAction|null|undefined} deleteMessageForMeAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.deleteMessageForMeAction = null; /** * SyncActionValue keyExpiration. * @member {proto.SyncActionValue.IKeyExpiration|null|undefined} keyExpiration * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.keyExpiration = null; /** * SyncActionValue markChatAsReadAction. * @member {proto.SyncActionValue.IMarkChatAsReadAction|null|undefined} markChatAsReadAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.markChatAsReadAction = null; /** * SyncActionValue clearChatAction. * @member {proto.SyncActionValue.IClearChatAction|null|undefined} clearChatAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.clearChatAction = null; /** * SyncActionValue deleteChatAction. * @member {proto.SyncActionValue.IDeleteChatAction|null|undefined} deleteChatAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.deleteChatAction = null; /** * SyncActionValue unarchiveChatsSetting. * @member {proto.SyncActionValue.IUnarchiveChatsSetting|null|undefined} unarchiveChatsSetting * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.unarchiveChatsSetting = null; /** * SyncActionValue primaryFeature. * @member {proto.SyncActionValue.IPrimaryFeature|null|undefined} primaryFeature * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.primaryFeature = null; /** * SyncActionValue androidUnsupportedActions. * @member {proto.SyncActionValue.IAndroidUnsupportedActions|null|undefined} androidUnsupportedActions * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.androidUnsupportedActions = null; /** * SyncActionValue agentAction. * @member {proto.SyncActionValue.IAgentAction|null|undefined} agentAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.agentAction = null; /** * SyncActionValue subscriptionAction. * @member {proto.SyncActionValue.ISubscriptionAction|null|undefined} subscriptionAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.subscriptionAction = null; /** * SyncActionValue userStatusMuteAction. * @member {proto.SyncActionValue.IUserStatusMuteAction|null|undefined} userStatusMuteAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.userStatusMuteAction = null; /** * SyncActionValue timeFormatAction. * @member {proto.SyncActionValue.ITimeFormatAction|null|undefined} timeFormatAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.timeFormatAction = null; /** * SyncActionValue nuxAction. * @member {proto.SyncActionValue.INuxAction|null|undefined} nuxAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.nuxAction = null; /** * SyncActionValue primaryVersionAction. * @member {proto.SyncActionValue.IPrimaryVersionAction|null|undefined} primaryVersionAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.primaryVersionAction = null; /** * SyncActionValue stickerAction. * @member {proto.SyncActionValue.IStickerAction|null|undefined} stickerAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.stickerAction = null; /** * SyncActionValue removeRecentStickerAction. * @member {proto.SyncActionValue.IRemoveRecentStickerAction|null|undefined} removeRecentStickerAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.removeRecentStickerAction = null; /** * SyncActionValue chatAssignment. * @member {proto.SyncActionValue.IChatAssignmentAction|null|undefined} chatAssignment * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.chatAssignment = null; /** * SyncActionValue chatAssignmentOpenedStatus. * @member {proto.SyncActionValue.IChatAssignmentOpenedStatusAction|null|undefined} chatAssignmentOpenedStatus * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.chatAssignmentOpenedStatus = null; /** * SyncActionValue pnForLidChatAction. * @member {proto.SyncActionValue.IPnForLidChatAction|null|undefined} pnForLidChatAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.pnForLidChatAction = null; /** * SyncActionValue marketingMessageAction. * @member {proto.SyncActionValue.IMarketingMessageAction|null|undefined} marketingMessageAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.marketingMessageAction = null; /** * SyncActionValue marketingMessageBroadcastAction. * @member {proto.SyncActionValue.IMarketingMessageBroadcastAction|null|undefined} marketingMessageBroadcastAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.marketingMessageBroadcastAction = null; /** * SyncActionValue externalWebBetaAction. * @member {proto.SyncActionValue.IExternalWebBetaAction|null|undefined} externalWebBetaAction * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.externalWebBetaAction = null; /** * SyncActionValue privacySettingRelayAllCalls. * @member {proto.SyncActionValue.IPrivacySettingRelayAllCalls|null|undefined} privacySettingRelayAllCalls * @memberof proto.SyncActionValue * @instance */ SyncActionValue.prototype.privacySettingRelayAllCalls = null; /** * Creates a new SyncActionValue instance using the specified properties. * @function create * @memberof proto.SyncActionValue * @static * @param {proto.ISyncActionValue=} [properties] Properties to set * @returns {proto.SyncActionValue} SyncActionValue instance */ SyncActionValue.create = function create(properties) { return new SyncActionValue(properties); }; /** * Encodes the specified SyncActionValue message. Does not implicitly {@link proto.SyncActionValue.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue * @static * @param {proto.ISyncActionValue} message SyncActionValue message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncActionValue.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); if (message.starAction != null && Object.hasOwnProperty.call(message, "starAction")) $root.proto.SyncActionValue.StarAction.encode(message.starAction, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.contactAction != null && Object.hasOwnProperty.call(message, "contactAction")) $root.proto.SyncActionValue.ContactAction.encode(message.contactAction, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.muteAction != null && Object.hasOwnProperty.call(message, "muteAction")) $root.proto.SyncActionValue.MuteAction.encode(message.muteAction, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); if (message.pinAction != null && Object.hasOwnProperty.call(message, "pinAction")) $root.proto.SyncActionValue.PinAction.encode(message.pinAction, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); if (message.securityNotificationSetting != null && Object.hasOwnProperty.call(message, "securityNotificationSetting")) $root.proto.SyncActionValue.SecurityNotificationSetting.encode(message.securityNotificationSetting, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.pushNameSetting != null && Object.hasOwnProperty.call(message, "pushNameSetting")) $root.proto.SyncActionValue.PushNameSetting.encode(message.pushNameSetting, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.quickReplyAction != null && Object.hasOwnProperty.call(message, "quickReplyAction")) $root.proto.SyncActionValue.QuickReplyAction.encode(message.quickReplyAction, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.recentEmojiWeightsAction != null && Object.hasOwnProperty.call(message, "recentEmojiWeightsAction")) $root.proto.SyncActionValue.RecentEmojiWeightsAction.encode(message.recentEmojiWeightsAction, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); if (message.labelEditAction != null && Object.hasOwnProperty.call(message, "labelEditAction")) $root.proto.SyncActionValue.LabelEditAction.encode(message.labelEditAction, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim(); if (message.labelAssociationAction != null && Object.hasOwnProperty.call(message, "labelAssociationAction")) $root.proto.SyncActionValue.LabelAssociationAction.encode(message.labelAssociationAction, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); if (message.localeSetting != null && Object.hasOwnProperty.call(message, "localeSetting")) $root.proto.SyncActionValue.LocaleSetting.encode(message.localeSetting, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim(); if (message.archiveChatAction != null && Object.hasOwnProperty.call(message, "archiveChatAction")) $root.proto.SyncActionValue.ArchiveChatAction.encode(message.archiveChatAction, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim(); if (message.deleteMessageForMeAction != null && Object.hasOwnProperty.call(message, "deleteMessageForMeAction")) $root.proto.SyncActionValue.DeleteMessageForMeAction.encode(message.deleteMessageForMeAction, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); if (message.keyExpiration != null && Object.hasOwnProperty.call(message, "keyExpiration")) $root.proto.SyncActionValue.KeyExpiration.encode(message.keyExpiration, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim(); if (message.markChatAsReadAction != null && Object.hasOwnProperty.call(message, "markChatAsReadAction")) $root.proto.SyncActionValue.MarkChatAsReadAction.encode(message.markChatAsReadAction, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim(); if (message.clearChatAction != null && Object.hasOwnProperty.call(message, "clearChatAction")) $root.proto.SyncActionValue.ClearChatAction.encode(message.clearChatAction, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim(); if (message.deleteChatAction != null && Object.hasOwnProperty.call(message, "deleteChatAction")) $root.proto.SyncActionValue.DeleteChatAction.encode(message.deleteChatAction, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim(); if (message.unarchiveChatsSetting != null && Object.hasOwnProperty.call(message, "unarchiveChatsSetting")) $root.proto.SyncActionValue.UnarchiveChatsSetting.encode(message.unarchiveChatsSetting, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim(); if (message.primaryFeature != null && Object.hasOwnProperty.call(message, "primaryFeature")) $root.proto.SyncActionValue.PrimaryFeature.encode(message.primaryFeature, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim(); if (message.androidUnsupportedActions != null && Object.hasOwnProperty.call(message, "androidUnsupportedActions")) $root.proto.SyncActionValue.AndroidUnsupportedActions.encode(message.androidUnsupportedActions, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim(); if (message.agentAction != null && Object.hasOwnProperty.call(message, "agentAction")) $root.proto.SyncActionValue.AgentAction.encode(message.agentAction, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim(); if (message.subscriptionAction != null && Object.hasOwnProperty.call(message, "subscriptionAction")) $root.proto.SyncActionValue.SubscriptionAction.encode(message.subscriptionAction, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); if (message.userStatusMuteAction != null && Object.hasOwnProperty.call(message, "userStatusMuteAction")) $root.proto.SyncActionValue.UserStatusMuteAction.encode(message.userStatusMuteAction, writer.uint32(/* id 29, wireType 2 =*/234).fork()).ldelim(); if (message.timeFormatAction != null && Object.hasOwnProperty.call(message, "timeFormatAction")) $root.proto.SyncActionValue.TimeFormatAction.encode(message.timeFormatAction, writer.uint32(/* id 30, wireType 2 =*/242).fork()).ldelim(); if (message.nuxAction != null && Object.hasOwnProperty.call(message, "nuxAction")) $root.proto.SyncActionValue.NuxAction.encode(message.nuxAction, writer.uint32(/* id 31, wireType 2 =*/250).fork()).ldelim(); if (message.primaryVersionAction != null && Object.hasOwnProperty.call(message, "primaryVersionAction")) $root.proto.SyncActionValue.PrimaryVersionAction.encode(message.primaryVersionAction, writer.uint32(/* id 32, wireType 2 =*/258).fork()).ldelim(); if (message.stickerAction != null && Object.hasOwnProperty.call(message, "stickerAction")) $root.proto.SyncActionValue.StickerAction.encode(message.stickerAction, writer.uint32(/* id 33, wireType 2 =*/266).fork()).ldelim(); if (message.removeRecentStickerAction != null && Object.hasOwnProperty.call(message, "removeRecentStickerAction")) $root.proto.SyncActionValue.RemoveRecentStickerAction.encode(message.removeRecentStickerAction, writer.uint32(/* id 34, wireType 2 =*/274).fork()).ldelim(); if (message.chatAssignment != null && Object.hasOwnProperty.call(message, "chatAssignment")) $root.proto.SyncActionValue.ChatAssignmentAction.encode(message.chatAssignment, writer.uint32(/* id 35, wireType 2 =*/282).fork()).ldelim(); if (message.chatAssignmentOpenedStatus != null && Object.hasOwnProperty.call(message, "chatAssignmentOpenedStatus")) $root.proto.SyncActionValue.ChatAssignmentOpenedStatusAction.encode(message.chatAssignmentOpenedStatus, writer.uint32(/* id 36, wireType 2 =*/290).fork()).ldelim(); if (message.pnForLidChatAction != null && Object.hasOwnProperty.call(message, "pnForLidChatAction")) $root.proto.SyncActionValue.PnForLidChatAction.encode(message.pnForLidChatAction, writer.uint32(/* id 37, wireType 2 =*/298).fork()).ldelim(); if (message.marketingMessageAction != null && Object.hasOwnProperty.call(message, "marketingMessageAction")) $root.proto.SyncActionValue.MarketingMessageAction.encode(message.marketingMessageAction, writer.uint32(/* id 38, wireType 2 =*/306).fork()).ldelim(); if (message.marketingMessageBroadcastAction != null && Object.hasOwnProperty.call(message, "marketingMessageBroadcastAction")) $root.proto.SyncActionValue.MarketingMessageBroadcastAction.encode(message.marketingMessageBroadcastAction, writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim(); if (message.externalWebBetaAction != null && Object.hasOwnProperty.call(message, "externalWebBetaAction")) $root.proto.SyncActionValue.ExternalWebBetaAction.encode(message.externalWebBetaAction, writer.uint32(/* id 40, wireType 2 =*/322).fork()).ldelim(); if (message.privacySettingRelayAllCalls != null && Object.hasOwnProperty.call(message, "privacySettingRelayAllCalls")) $root.proto.SyncActionValue.PrivacySettingRelayAllCalls.encode(message.privacySettingRelayAllCalls, writer.uint32(/* id 41, wireType 2 =*/330).fork()).ldelim(); return writer; }; /** * Encodes the specified SyncActionValue message, length delimited. Does not implicitly {@link proto.SyncActionValue.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue * @static * @param {proto.ISyncActionValue} message SyncActionValue message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncActionValue.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncActionValue message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue} SyncActionValue * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncActionValue.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.SyncActionValue(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.timestamp = reader.int64(); break; case 2: message.starAction = $root.proto.SyncActionValue.StarAction.decode(reader, reader.uint32()); break; case 3: message.contactAction = $root.proto.SyncActionValue.ContactAction.decode(reader, reader.uint32()); break; case 4: message.muteAction = $root.proto.SyncActionValue.MuteAction.decode(reader, reader.uint32()); break; case 5: message.pinAction = $root.proto.SyncActionValue.PinAction.decode(reader, reader.uint32()); break; case 6: message.securityNotificationSetting = $root.proto.SyncActionValue.SecurityNotificationSetting.decode(reader, reader.uint32()); break; case 7: message.pushNameSetting = $root.proto.SyncActionValue.PushNameSetting.decode(reader, reader.uint32()); break; case 8: message.quickReplyAction = $root.proto.SyncActionValue.QuickReplyAction.decode(reader, reader.uint32()); break; case 11: message.recentEmojiWeightsAction = $root.proto.SyncActionValue.RecentEmojiWeightsAction.decode(reader, reader.uint32()); break; case 14: message.labelEditAction = $root.proto.SyncActionValue.LabelEditAction.decode(reader, reader.uint32()); break; case 15: message.labelAssociationAction = $root.proto.SyncActionValue.LabelAssociationAction.decode(reader, reader.uint32()); break; case 16: message.localeSetting = $root.proto.SyncActionValue.LocaleSetting.decode(reader, reader.uint32()); break; case 17: message.archiveChatAction = $root.proto.SyncActionValue.ArchiveChatAction.decode(reader, reader.uint32()); break; case 18: message.deleteMessageForMeAction = $root.proto.SyncActionValue.DeleteMessageForMeAction.decode(reader, reader.uint32()); break; case 19: message.keyExpiration = $root.proto.SyncActionValue.KeyExpiration.decode(reader, reader.uint32()); break; case 20: message.markChatAsReadAction = $root.proto.SyncActionValue.MarkChatAsReadAction.decode(reader, reader.uint32()); break; case 21: message.clearChatAction = $root.proto.SyncActionValue.ClearChatAction.decode(reader, reader.uint32()); break; case 22: message.deleteChatAction = $root.proto.SyncActionValue.DeleteChatAction.decode(reader, reader.uint32()); break; case 23: message.unarchiveChatsSetting = $root.proto.SyncActionValue.UnarchiveChatsSetting.decode(reader, reader.uint32()); break; case 24: message.primaryFeature = $root.proto.SyncActionValue.PrimaryFeature.decode(reader, reader.uint32()); break; case 26: message.androidUnsupportedActions = $root.proto.SyncActionValue.AndroidUnsupportedActions.decode(reader, reader.uint32()); break; case 27: message.agentAction = $root.proto.SyncActionValue.AgentAction.decode(reader, reader.uint32()); break; case 28: message.subscriptionAction = $root.proto.SyncActionValue.SubscriptionAction.decode(reader, reader.uint32()); break; case 29: message.userStatusMuteAction = $root.proto.SyncActionValue.UserStatusMuteAction.decode(reader, reader.uint32()); break; case 30: message.timeFormatAction = $root.proto.SyncActionValue.TimeFormatAction.decode(reader, reader.uint32()); break; case 31: message.nuxAction = $root.proto.SyncActionValue.NuxAction.decode(reader, reader.uint32()); break; case 32: message.primaryVersionAction = $root.proto.SyncActionValue.PrimaryVersionAction.decode(reader, reader.uint32()); break; case 33: message.stickerAction = $root.proto.SyncActionValue.StickerAction.decode(reader, reader.uint32()); break; case 34: message.removeRecentStickerAction = $root.proto.SyncActionValue.RemoveRecentStickerAction.decode(reader, reader.uint32()); break; case 35: message.chatAssignment = $root.proto.SyncActionValue.ChatAssignmentAction.decode(reader, reader.uint32()); break; case 36: message.chatAssignmentOpenedStatus = $root.proto.SyncActionValue.ChatAssignmentOpenedStatusAction.decode(reader, reader.uint32()); break; case 37: message.pnForLidChatAction = $root.proto.SyncActionValue.PnForLidChatAction.decode(reader, reader.uint32()); break; case 38: message.marketingMessageAction = $root.proto.SyncActionValue.MarketingMessageAction.decode(reader, reader.uint32()); break; case 39: message.marketingMessageBroadcastAction = $root.proto.SyncActionValue.MarketingMessageBroadcastAction.decode(reader, reader.uint32()); break; case 40: message.externalWebBetaAction = $root.proto.SyncActionValue.ExternalWebBetaAction.decode(reader, reader.uint32()); break; case 41: message.privacySettingRelayAllCalls = $root.proto.SyncActionValue.PrivacySettingRelayAllCalls.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncActionValue message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue} SyncActionValue * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncActionValue.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncActionValue message. * @function verify * @memberof proto.SyncActionValue * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncActionValue.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.starAction != null && message.hasOwnProperty("starAction")) { var error = $root.proto.SyncActionValue.StarAction.verify(message.starAction); if (error) return "starAction." + error; } if (message.contactAction != null && message.hasOwnProperty("contactAction")) { var error = $root.proto.SyncActionValue.ContactAction.verify(message.contactAction); if (error) return "contactAction." + error; } if (message.muteAction != null && message.hasOwnProperty("muteAction")) { var error = $root.proto.SyncActionValue.MuteAction.verify(message.muteAction); if (error) return "muteAction." + error; } if (message.pinAction != null && message.hasOwnProperty("pinAction")) { var error = $root.proto.SyncActionValue.PinAction.verify(message.pinAction); if (error) return "pinAction." + error; } if (message.securityNotificationSetting != null && message.hasOwnProperty("securityNotificationSetting")) { var error = $root.proto.SyncActionValue.SecurityNotificationSetting.verify(message.securityNotificationSetting); if (error) return "securityNotificationSetting." + error; } if (message.pushNameSetting != null && message.hasOwnProperty("pushNameSetting")) { var error = $root.proto.SyncActionValue.PushNameSetting.verify(message.pushNameSetting); if (error) return "pushNameSetting." + error; } if (message.quickReplyAction != null && message.hasOwnProperty("quickReplyAction")) { var error = $root.proto.SyncActionValue.QuickReplyAction.verify(message.quickReplyAction); if (error) return "quickReplyAction." + error; } if (message.recentEmojiWeightsAction != null && message.hasOwnProperty("recentEmojiWeightsAction")) { var error = $root.proto.SyncActionValue.RecentEmojiWeightsAction.verify(message.recentEmojiWeightsAction); if (error) return "recentEmojiWeightsAction." + error; } if (message.labelEditAction != null && message.hasOwnProperty("labelEditAction")) { var error = $root.proto.SyncActionValue.LabelEditAction.verify(message.labelEditAction); if (error) return "labelEditAction." + error; } if (message.labelAssociationAction != null && message.hasOwnProperty("labelAssociationAction")) { var error = $root.proto.SyncActionValue.LabelAssociationAction.verify(message.labelAssociationAction); if (error) return "labelAssociationAction." + error; } if (message.localeSetting != null && message.hasOwnProperty("localeSetting")) { var error = $root.proto.SyncActionValue.LocaleSetting.verify(message.localeSetting); if (error) return "localeSetting." + error; } if (message.archiveChatAction != null && message.hasOwnProperty("archiveChatAction")) { var error = $root.proto.SyncActionValue.ArchiveChatAction.verify(message.archiveChatAction); if (error) return "archiveChatAction." + error; } if (message.deleteMessageForMeAction != null && message.hasOwnProperty("deleteMessageForMeAction")) { var error = $root.proto.SyncActionValue.DeleteMessageForMeAction.verify(message.deleteMessageForMeAction); if (error) return "deleteMessageForMeAction." + error; } if (message.keyExpiration != null && message.hasOwnProperty("keyExpiration")) { var error = $root.proto.SyncActionValue.KeyExpiration.verify(message.keyExpiration); if (error) return "keyExpiration." + error; } if (message.markChatAsReadAction != null && message.hasOwnProperty("markChatAsReadAction")) { var error = $root.proto.SyncActionValue.MarkChatAsReadAction.verify(message.markChatAsReadAction); if (error) return "markChatAsReadAction." + error; } if (message.clearChatAction != null && message.hasOwnProperty("clearChatAction")) { var error = $root.proto.SyncActionValue.ClearChatAction.verify(message.clearChatAction); if (error) return "clearChatAction." + error; } if (message.deleteChatAction != null && message.hasOwnProperty("deleteChatAction")) { var error = $root.proto.SyncActionValue.DeleteChatAction.verify(message.deleteChatAction); if (error) return "deleteChatAction." + error; } if (message.unarchiveChatsSetting != null && message.hasOwnProperty("unarchiveChatsSetting")) { var error = $root.proto.SyncActionValue.UnarchiveChatsSetting.verify(message.unarchiveChatsSetting); if (error) return "unarchiveChatsSetting." + error; } if (message.primaryFeature != null && message.hasOwnProperty("primaryFeature")) { var error = $root.proto.SyncActionValue.PrimaryFeature.verify(message.primaryFeature); if (error) return "primaryFeature." + error; } if (message.androidUnsupportedActions != null && message.hasOwnProperty("androidUnsupportedActions")) { var error = $root.proto.SyncActionValue.AndroidUnsupportedActions.verify(message.androidUnsupportedActions); if (error) return "androidUnsupportedActions." + error; } if (message.agentAction != null && message.hasOwnProperty("agentAction")) { var error = $root.proto.SyncActionValue.AgentAction.verify(message.agentAction); if (error) return "agentAction." + error; } if (message.subscriptionAction != null && message.hasOwnProperty("subscriptionAction")) { var error = $root.proto.SyncActionValue.SubscriptionAction.verify(message.subscriptionAction); if (error) return "subscriptionAction." + error; } if (message.userStatusMuteAction != null && message.hasOwnProperty("userStatusMuteAction")) { var error = $root.proto.SyncActionValue.UserStatusMuteAction.verify(message.userStatusMuteAction); if (error) return "userStatusMuteAction." + error; } if (message.timeFormatAction != null && message.hasOwnProperty("timeFormatAction")) { var error = $root.proto.SyncActionValue.TimeFormatAction.verify(message.timeFormatAction); if (error) return "timeFormatAction." + error; } if (message.nuxAction != null && message.hasOwnProperty("nuxAction")) { var error = $root.proto.SyncActionValue.NuxAction.verify(message.nuxAction); if (error) return "nuxAction." + error; } if (message.primaryVersionAction != null && message.hasOwnProperty("primaryVersionAction")) { var error = $root.proto.SyncActionValue.PrimaryVersionAction.verify(message.primaryVersionAction); if (error) return "primaryVersionAction." + error; } if (message.stickerAction != null && message.hasOwnProperty("stickerAction")) { var error = $root.proto.SyncActionValue.StickerAction.verify(message.stickerAction); if (error) return "stickerAction." + error; } if (message.removeRecentStickerAction != null && message.hasOwnProperty("removeRecentStickerAction")) { var error = $root.proto.SyncActionValue.RemoveRecentStickerAction.verify(message.removeRecentStickerAction); if (error) return "removeRecentStickerAction." + error; } if (message.chatAssignment != null && message.hasOwnProperty("chatAssignment")) { var error = $root.proto.SyncActionValue.ChatAssignmentAction.verify(message.chatAssignment); if (error) return "chatAssignment." + error; } if (message.chatAssignmentOpenedStatus != null && message.hasOwnProperty("chatAssignmentOpenedStatus")) { var error = $root.proto.SyncActionValue.ChatAssignmentOpenedStatusAction.verify(message.chatAssignmentOpenedStatus); if (error) return "chatAssignmentOpenedStatus." + error; } if (message.pnForLidChatAction != null && message.hasOwnProperty("pnForLidChatAction")) { var error = $root.proto.SyncActionValue.PnForLidChatAction.verify(message.pnForLidChatAction); if (error) return "pnForLidChatAction." + error; } if (message.marketingMessageAction != null && message.hasOwnProperty("marketingMessageAction")) { var error = $root.proto.SyncActionValue.MarketingMessageAction.verify(message.marketingMessageAction); if (error) return "marketingMessageAction." + error; } if (message.marketingMessageBroadcastAction != null && message.hasOwnProperty("marketingMessageBroadcastAction")) { var error = $root.proto.SyncActionValue.MarketingMessageBroadcastAction.verify(message.marketingMessageBroadcastAction); if (error) return "marketingMessageBroadcastAction." + error; } if (message.externalWebBetaAction != null && message.hasOwnProperty("externalWebBetaAction")) { var error = $root.proto.SyncActionValue.ExternalWebBetaAction.verify(message.externalWebBetaAction); if (error) return "externalWebBetaAction." + error; } if (message.privacySettingRelayAllCalls != null && message.hasOwnProperty("privacySettingRelayAllCalls")) { var error = $root.proto.SyncActionValue.PrivacySettingRelayAllCalls.verify(message.privacySettingRelayAllCalls); if (error) return "privacySettingRelayAllCalls." + error; } return null; }; /** * Creates a SyncActionValue message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue} SyncActionValue */ SyncActionValue.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue) return object; var message = new $root.proto.SyncActionValue(); 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(); if (object.starAction != null) { if (typeof object.starAction !== "object") throw TypeError(".proto.SyncActionValue.starAction: object expected"); message.starAction = $root.proto.SyncActionValue.StarAction.fromObject(object.starAction); } if (object.contactAction != null) { if (typeof object.contactAction !== "object") throw TypeError(".proto.SyncActionValue.contactAction: object expected"); message.contactAction = $root.proto.SyncActionValue.ContactAction.fromObject(object.contactAction); } if (object.muteAction != null) { if (typeof object.muteAction !== "object") throw TypeError(".proto.SyncActionValue.muteAction: object expected"); message.muteAction = $root.proto.SyncActionValue.MuteAction.fromObject(object.muteAction); } if (object.pinAction != null) { if (typeof object.pinAction !== "object") throw TypeError(".proto.SyncActionValue.pinAction: object expected"); message.pinAction = $root.proto.SyncActionValue.PinAction.fromObject(object.pinAction); } if (object.securityNotificationSetting != null) { if (typeof object.securityNotificationSetting !== "object") throw TypeError(".proto.SyncActionValue.securityNotificationSetting: object expected"); message.securityNotificationSetting = $root.proto.SyncActionValue.SecurityNotificationSetting.fromObject(object.securityNotificationSetting); } if (object.pushNameSetting != null) { if (typeof object.pushNameSetting !== "object") throw TypeError(".proto.SyncActionValue.pushNameSetting: object expected"); message.pushNameSetting = $root.proto.SyncActionValue.PushNameSetting.fromObject(object.pushNameSetting); } if (object.quickReplyAction != null) { if (typeof object.quickReplyAction !== "object") throw TypeError(".proto.SyncActionValue.quickReplyAction: object expected"); message.quickReplyAction = $root.proto.SyncActionValue.QuickReplyAction.fromObject(object.quickReplyAction); } if (object.recentEmojiWeightsAction != null) { if (typeof object.recentEmojiWeightsAction !== "object") throw TypeError(".proto.SyncActionValue.recentEmojiWeightsAction: object expected"); message.recentEmojiWeightsAction = $root.proto.SyncActionValue.RecentEmojiWeightsAction.fromObject(object.recentEmojiWeightsAction); } if (object.labelEditAction != null) { if (typeof object.labelEditAction !== "object") throw TypeError(".proto.SyncActionValue.labelEditAction: object expected"); message.labelEditAction = $root.proto.SyncActionValue.LabelEditAction.fromObject(object.labelEditAction); } if (object.labelAssociationAction != null) { if (typeof object.labelAssociationAction !== "object") throw TypeError(".proto.SyncActionValue.labelAssociationAction: object expected"); message.labelAssociationAction = $root.proto.SyncActionValue.LabelAssociationAction.fromObject(object.labelAssociationAction); } if (object.localeSetting != null) { if (typeof object.localeSetting !== "object") throw TypeError(".proto.SyncActionValue.localeSetting: object expected"); message.localeSetting = $root.proto.SyncActionValue.LocaleSetting.fromObject(object.localeSetting); } if (object.archiveChatAction != null) { if (typeof object.archiveChatAction !== "object") throw TypeError(".proto.SyncActionValue.archiveChatAction: object expected"); message.archiveChatAction = $root.proto.SyncActionValue.ArchiveChatAction.fromObject(object.archiveChatAction); } if (object.deleteMessageForMeAction != null) { if (typeof object.deleteMessageForMeAction !== "object") throw TypeError(".proto.SyncActionValue.deleteMessageForMeAction: object expected"); message.deleteMessageForMeAction = $root.proto.SyncActionValue.DeleteMessageForMeAction.fromObject(object.deleteMessageForMeAction); } if (object.keyExpiration != null) { if (typeof object.keyExpiration !== "object") throw TypeError(".proto.SyncActionValue.keyExpiration: object expected"); message.keyExpiration = $root.proto.SyncActionValue.KeyExpiration.fromObject(object.keyExpiration); } if (object.markChatAsReadAction != null) { if (typeof object.markChatAsReadAction !== "object") throw TypeError(".proto.SyncActionValue.markChatAsReadAction: object expected"); message.markChatAsReadAction = $root.proto.SyncActionValue.MarkChatAsReadAction.fromObject(object.markChatAsReadAction); } if (object.clearChatAction != null) { if (typeof object.clearChatAction !== "object") throw TypeError(".proto.SyncActionValue.clearChatAction: object expected"); message.clearChatAction = $root.proto.SyncActionValue.ClearChatAction.fromObject(object.clearChatAction); } if (object.deleteChatAction != null) { if (typeof object.deleteChatAction !== "object") throw TypeError(".proto.SyncActionValue.deleteChatAction: object expected"); message.deleteChatAction = $root.proto.SyncActionValue.DeleteChatAction.fromObject(object.deleteChatAction); } if (object.unarchiveChatsSetting != null) { if (typeof object.unarchiveChatsSetting !== "object") throw TypeError(".proto.SyncActionValue.unarchiveChatsSetting: object expected"); message.unarchiveChatsSetting = $root.proto.SyncActionValue.UnarchiveChatsSetting.fromObject(object.unarchiveChatsSetting); } if (object.primaryFeature != null) { if (typeof object.primaryFeature !== "object") throw TypeError(".proto.SyncActionValue.primaryFeature: object expected"); message.primaryFeature = $root.proto.SyncActionValue.PrimaryFeature.fromObject(object.primaryFeature); } if (object.androidUnsupportedActions != null) { if (typeof object.androidUnsupportedActions !== "object") throw TypeError(".proto.SyncActionValue.androidUnsupportedActions: object expected"); message.androidUnsupportedActions = $root.proto.SyncActionValue.AndroidUnsupportedActions.fromObject(object.androidUnsupportedActions); } if (object.agentAction != null) { if (typeof object.agentAction !== "object") throw TypeError(".proto.SyncActionValue.agentAction: object expected"); message.agentAction = $root.proto.SyncActionValue.AgentAction.fromObject(object.agentAction); } if (object.subscriptionAction != null) { if (typeof object.subscriptionAction !== "object") throw TypeError(".proto.SyncActionValue.subscriptionAction: object expected"); message.subscriptionAction = $root.proto.SyncActionValue.SubscriptionAction.fromObject(object.subscriptionAction); } if (object.userStatusMuteAction != null) { if (typeof object.userStatusMuteAction !== "object") throw TypeError(".proto.SyncActionValue.userStatusMuteAction: object expected"); message.userStatusMuteAction = $root.proto.SyncActionValue.UserStatusMuteAction.fromObject(object.userStatusMuteAction); } if (object.timeFormatAction != null) { if (typeof object.timeFormatAction !== "object") throw TypeError(".proto.SyncActionValue.timeFormatAction: object expected"); message.timeFormatAction = $root.proto.SyncActionValue.TimeFormatAction.fromObject(object.timeFormatAction); } if (object.nuxAction != null) { if (typeof object.nuxAction !== "object") throw TypeError(".proto.SyncActionValue.nuxAction: object expected"); message.nuxAction = $root.proto.SyncActionValue.NuxAction.fromObject(object.nuxAction); } if (object.primaryVersionAction != null) { if (typeof object.primaryVersionAction !== "object") throw TypeError(".proto.SyncActionValue.primaryVersionAction: object expected"); message.primaryVersionAction = $root.proto.SyncActionValue.PrimaryVersionAction.fromObject(object.primaryVersionAction); } if (object.stickerAction != null) { if (typeof object.stickerAction !== "object") throw TypeError(".proto.SyncActionValue.stickerAction: object expected"); message.stickerAction = $root.proto.SyncActionValue.StickerAction.fromObject(object.stickerAction); } if (object.removeRecentStickerAction != null) { if (typeof object.removeRecentStickerAction !== "object") throw TypeError(".proto.SyncActionValue.removeRecentStickerAction: object expected"); message.removeRecentStickerAction = $root.proto.SyncActionValue.RemoveRecentStickerAction.fromObject(object.removeRecentStickerAction); } if (object.chatAssignment != null) { if (typeof object.chatAssignment !== "object") throw TypeError(".proto.SyncActionValue.chatAssignment: object expected"); message.chatAssignment = $root.proto.SyncActionValue.ChatAssignmentAction.fromObject(object.chatAssignment); } if (object.chatAssignmentOpenedStatus != null) { if (typeof object.chatAssignmentOpenedStatus !== "object") throw TypeError(".proto.SyncActionValue.chatAssignmentOpenedStatus: object expected"); message.chatAssignmentOpenedStatus = $root.proto.SyncActionValue.ChatAssignmentOpenedStatusAction.fromObject(object.chatAssignmentOpenedStatus); } if (object.pnForLidChatAction != null) { if (typeof object.pnForLidChatAction !== "object") throw TypeError(".proto.SyncActionValue.pnForLidChatAction: object expected"); message.pnForLidChatAction = $root.proto.SyncActionValue.PnForLidChatAction.fromObject(object.pnForLidChatAction); } if (object.marketingMessageAction != null) { if (typeof object.marketingMessageAction !== "object") throw TypeError(".proto.SyncActionValue.marketingMessageAction: object expected"); message.marketingMessageAction = $root.proto.SyncActionValue.MarketingMessageAction.fromObject(object.marketingMessageAction); } if (object.marketingMessageBroadcastAction != null) { if (typeof object.marketingMessageBroadcastAction !== "object") throw TypeError(".proto.SyncActionValue.marketingMessageBroadcastAction: object expected"); message.marketingMessageBroadcastAction = $root.proto.SyncActionValue.MarketingMessageBroadcastAction.fromObject(object.marketingMessageBroadcastAction); } if (object.externalWebBetaAction != null) { if (typeof object.externalWebBetaAction !== "object") throw TypeError(".proto.SyncActionValue.externalWebBetaAction: object expected"); message.externalWebBetaAction = $root.proto.SyncActionValue.ExternalWebBetaAction.fromObject(object.externalWebBetaAction); } if (object.privacySettingRelayAllCalls != null) { if (typeof object.privacySettingRelayAllCalls !== "object") throw TypeError(".proto.SyncActionValue.privacySettingRelayAllCalls: object expected"); message.privacySettingRelayAllCalls = $root.proto.SyncActionValue.PrivacySettingRelayAllCalls.fromObject(object.privacySettingRelayAllCalls); } return message; }; /** * Creates a plain object from a SyncActionValue message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue * @static * @param {proto.SyncActionValue} message SyncActionValue * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncActionValue.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; object.starAction = null; object.contactAction = null; object.muteAction = null; object.pinAction = null; object.securityNotificationSetting = null; object.pushNameSetting = null; object.quickReplyAction = null; object.recentEmojiWeightsAction = null; object.labelEditAction = null; object.labelAssociationAction = null; object.localeSetting = null; object.archiveChatAction = null; object.deleteMessageForMeAction = null; object.keyExpiration = null; object.markChatAsReadAction = null; object.clearChatAction = null; object.deleteChatAction = null; object.unarchiveChatsSetting = null; object.primaryFeature = null; object.androidUnsupportedActions = null; object.agentAction = null; object.subscriptionAction = null; object.userStatusMuteAction = null; object.timeFormatAction = null; object.nuxAction = null; object.primaryVersionAction = null; object.stickerAction = null; object.removeRecentStickerAction = null; object.chatAssignment = null; object.chatAssignmentOpenedStatus = null; object.pnForLidChatAction = null; object.marketingMessageAction = null; object.marketingMessageBroadcastAction = null; object.externalWebBetaAction = null; object.privacySettingRelayAllCalls = null; } 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; if (message.starAction != null && message.hasOwnProperty("starAction")) object.starAction = $root.proto.SyncActionValue.StarAction.toObject(message.starAction, options); if (message.contactAction != null && message.hasOwnProperty("contactAction")) object.contactAction = $root.proto.SyncActionValue.ContactAction.toObject(message.contactAction, options); if (message.muteAction != null && message.hasOwnProperty("muteAction")) object.muteAction = $root.proto.SyncActionValue.MuteAction.toObject(message.muteAction, options); if (message.pinAction != null && message.hasOwnProperty("pinAction")) object.pinAction = $root.proto.SyncActionValue.PinAction.toObject(message.pinAction, options); if (message.securityNotificationSetting != null && message.hasOwnProperty("securityNotificationSetting")) object.securityNotificationSetting = $root.proto.SyncActionValue.SecurityNotificationSetting.toObject(message.securityNotificationSetting, options); if (message.pushNameSetting != null && message.hasOwnProperty("pushNameSetting")) object.pushNameSetting = $root.proto.SyncActionValue.PushNameSetting.toObject(message.pushNameSetting, options); if (message.quickReplyAction != null && message.hasOwnProperty("quickReplyAction")) object.quickReplyAction = $root.proto.SyncActionValue.QuickReplyAction.toObject(message.quickReplyAction, options); if (message.recentEmojiWeightsAction != null && message.hasOwnProperty("recentEmojiWeightsAction")) object.recentEmojiWeightsAction = $root.proto.SyncActionValue.RecentEmojiWeightsAction.toObject(message.recentEmojiWeightsAction, options); if (message.labelEditAction != null && message.hasOwnProperty("labelEditAction")) object.labelEditAction = $root.proto.SyncActionValue.LabelEditAction.toObject(message.labelEditAction, options); if (message.labelAssociationAction != null && message.hasOwnProperty("labelAssociationAction")) object.labelAssociationAction = $root.proto.SyncActionValue.LabelAssociationAction.toObject(message.labelAssociationAction, options); if (message.localeSetting != null && message.hasOwnProperty("localeSetting")) object.localeSetting = $root.proto.SyncActionValue.LocaleSetting.toObject(message.localeSetting, options); if (message.archiveChatAction != null && message.hasOwnProperty("archiveChatAction")) object.archiveChatAction = $root.proto.SyncActionValue.ArchiveChatAction.toObject(message.archiveChatAction, options); if (message.deleteMessageForMeAction != null && message.hasOwnProperty("deleteMessageForMeAction")) object.deleteMessageForMeAction = $root.proto.SyncActionValue.DeleteMessageForMeAction.toObject(message.deleteMessageForMeAction, options); if (message.keyExpiration != null && message.hasOwnProperty("keyExpiration")) object.keyExpiration = $root.proto.SyncActionValue.KeyExpiration.toObject(message.keyExpiration, options); if (message.markChatAsReadAction != null && message.hasOwnProperty("markChatAsReadAction")) object.markChatAsReadAction = $root.proto.SyncActionValue.MarkChatAsReadAction.toObject(message.markChatAsReadAction, options); if (message.clearChatAction != null && message.hasOwnProperty("clearChatAction")) object.clearChatAction = $root.proto.SyncActionValue.ClearChatAction.toObject(message.clearChatAction, options); if (message.deleteChatAction != null && message.hasOwnProperty("deleteChatAction")) object.deleteChatAction = $root.proto.SyncActionValue.DeleteChatAction.toObject(message.deleteChatAction, options); if (message.unarchiveChatsSetting != null && message.hasOwnProperty("unarchiveChatsSetting")) object.unarchiveChatsSetting = $root.proto.SyncActionValue.UnarchiveChatsSetting.toObject(message.unarchiveChatsSetting, options); if (message.primaryFeature != null && message.hasOwnProperty("primaryFeature")) object.primaryFeature = $root.proto.SyncActionValue.PrimaryFeature.toObject(message.primaryFeature, options); if (message.androidUnsupportedActions != null && message.hasOwnProperty("androidUnsupportedActions")) object.androidUnsupportedActions = $root.proto.SyncActionValue.AndroidUnsupportedActions.toObject(message.androidUnsupportedActions, options); if (message.agentAction != null && message.hasOwnProperty("agentAction")) object.agentAction = $root.proto.SyncActionValue.AgentAction.toObject(message.agentAction, options); if (message.subscriptionAction != null && message.hasOwnProperty("subscriptionAction")) object.subscriptionAction = $root.proto.SyncActionValue.SubscriptionAction.toObject(message.subscriptionAction, options); if (message.userStatusMuteAction != null && message.hasOwnProperty("userStatusMuteAction")) object.userStatusMuteAction = $root.proto.SyncActionValue.UserStatusMuteAction.toObject(message.userStatusMuteAction, options); if (message.timeFormatAction != null && message.hasOwnProperty("timeFormatAction")) object.timeFormatAction = $root.proto.SyncActionValue.TimeFormatAction.toObject(message.timeFormatAction, options); if (message.nuxAction != null && message.hasOwnProperty("nuxAction")) object.nuxAction = $root.proto.SyncActionValue.NuxAction.toObject(message.nuxAction, options); if (message.primaryVersionAction != null && message.hasOwnProperty("primaryVersionAction")) object.primaryVersionAction = $root.proto.SyncActionValue.PrimaryVersionAction.toObject(message.primaryVersionAction, options); if (message.stickerAction != null && message.hasOwnProperty("stickerAction")) object.stickerAction = $root.proto.SyncActionValue.StickerAction.toObject(message.stickerAction, options); if (message.removeRecentStickerAction != null && message.hasOwnProperty("removeRecentStickerAction")) object.removeRecentStickerAction = $root.proto.SyncActionValue.RemoveRecentStickerAction.toObject(message.removeRecentStickerAction, options); if (message.chatAssignment != null && message.hasOwnProperty("chatAssignment")) object.chatAssignment = $root.proto.SyncActionValue.ChatAssignmentAction.toObject(message.chatAssignment, options); if (message.chatAssignmentOpenedStatus != null && message.hasOwnProperty("chatAssignmentOpenedStatus")) object.chatAssignmentOpenedStatus = $root.proto.SyncActionValue.ChatAssignmentOpenedStatusAction.toObject(message.chatAssignmentOpenedStatus, options); if (message.pnForLidChatAction != null && message.hasOwnProperty("pnForLidChatAction")) object.pnForLidChatAction = $root.proto.SyncActionValue.PnForLidChatAction.toObject(message.pnForLidChatAction, options); if (message.marketingMessageAction != null && message.hasOwnProperty("marketingMessageAction")) object.marketingMessageAction = $root.proto.SyncActionValue.MarketingMessageAction.toObject(message.marketingMessageAction, options); if (message.marketingMessageBroadcastAction != null && message.hasOwnProperty("marketingMessageBroadcastAction")) object.marketingMessageBroadcastAction = $root.proto.SyncActionValue.MarketingMessageBroadcastAction.toObject(message.marketingMessageBroadcastAction, options); if (message.externalWebBetaAction != null && message.hasOwnProperty("externalWebBetaAction")) object.externalWebBetaAction = $root.proto.SyncActionValue.ExternalWebBetaAction.toObject(message.externalWebBetaAction, options); if (message.privacySettingRelayAllCalls != null && message.hasOwnProperty("privacySettingRelayAllCalls")) object.privacySettingRelayAllCalls = $root.proto.SyncActionValue.PrivacySettingRelayAllCalls.toObject(message.privacySettingRelayAllCalls, options); return object; }; /** * Converts this SyncActionValue to JSON. * @function toJSON * @memberof proto.SyncActionValue * @instance * @returns {Object.<string,*>} JSON object */ SyncActionValue.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; SyncActionValue.AgentAction = (function() { /** * Properties of an AgentAction. * @memberof proto.SyncActionValue * @interface IAgentAction * @property {string|null} [name] AgentAction name * @property {number|null} [deviceID] AgentAction deviceID * @property {boolean|null} [isDeleted] AgentAction isDeleted */ /** * Constructs a new AgentAction. * @memberof proto.SyncActionValue * @classdesc Represents an AgentAction. * @implements IAgentAction * @constructor * @param {proto.SyncActionValue.IAgentAction=} [properties] Properties to set */ function AgentAction(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]]; } /** * AgentAction name. * @member {string} name * @memberof proto.SyncActionValue.AgentAction * @instance */ AgentAction.prototype.name = ""; /** * AgentAction deviceID. * @member {number} deviceID * @memberof proto.SyncActionValue.AgentAction * @instance */ AgentAction.prototype.deviceID = 0; /** * AgentAction isDeleted. * @member {boolean} isDeleted * @memberof proto.SyncActionValue.AgentAction * @instance */ AgentAction.prototype.isDeleted = false; /** * Creates a new AgentAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.AgentAction * @static * @param {proto.SyncActionValue.IAgentAction=} [properties] Properties to set * @returns {proto.SyncActionValue.AgentAction} AgentAction instance */ AgentAction.create = function create(properties) { return new AgentAction(properties); }; /** * Encodes the specified AgentAction message. Does not implicitly {@link proto.SyncActionValue.AgentAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.AgentAction * @static * @param {proto.SyncActionValue.IAgentAction} message AgentAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AgentAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.deviceID != null && Object.hasOwnProperty.call(message, "deviceID")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.deviceID); if (message.isDeleted != null && Object.hasOwnProperty.call(message, "isDeleted")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.isDeleted); return writer; }; /** * Encodes the specified AgentAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.AgentAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.AgentAction * @static * @param {proto.SyncActionValue.IAgentAction} message AgentAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AgentAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AgentAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.AgentAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.AgentAction} AgentAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AgentAction.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.SyncActionValue.AgentAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; case 2: message.deviceID = reader.int32(); break; case 3: message.isDeleted = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AgentAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.AgentAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.AgentAction} AgentAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AgentAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AgentAction message. * @function verify * @memberof proto.SyncActionValue.AgentAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AgentAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.deviceID != null && message.hasOwnProperty("deviceID")) if (!$util.isInteger(message.deviceID)) return "deviceID: integer expected"; if (message.isDeleted != null && message.hasOwnProperty("isDeleted")) if (typeof message.isDeleted !== "boolean") return "isDeleted: boolean expected"; return null; }; /** * Creates an AgentAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.AgentAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.AgentAction} AgentAction */ AgentAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.AgentAction) return object; var message = new $root.proto.SyncActionValue.AgentAction(); if (object.name != null) message.name = String(object.name); if (object.deviceID != null) message.deviceID = object.deviceID | 0; if (object.isDeleted != null) message.isDeleted = Boolean(object.isDeleted); return message; }; /** * Creates a plain object from an AgentAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.AgentAction * @static * @param {proto.SyncActionValue.AgentAction} message AgentAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ AgentAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.name = ""; object.deviceID = 0; object.isDeleted = false; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.deviceID != null && message.hasOwnProperty("deviceID")) object.deviceID = message.deviceID; if (message.isDeleted != null && message.hasOwnProperty("isDeleted")) object.isDeleted = message.isDeleted; return object; }; /** * Converts this AgentAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.AgentAction * @instance * @returns {Object.<string,*>} JSON object */ AgentAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AgentAction; })(); SyncActionValue.AndroidUnsupportedActions = (function() { /** * Properties of an AndroidUnsupportedActions. * @memberof proto.SyncActionValue * @interface IAndroidUnsupportedActions * @property {boolean|null} [allowed] AndroidUnsupportedActions allowed */ /** * Constructs a new AndroidUnsupportedActions. * @memberof proto.SyncActionValue * @classdesc Represents an AndroidUnsupportedActions. * @implements IAndroidUnsupportedActions * @constructor * @param {proto.SyncActionValue.IAndroidUnsupportedActions=} [properties] Properties to set */ function AndroidUnsupportedActions(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]]; } /** * AndroidUnsupportedActions allowed. * @member {boolean} allowed * @memberof proto.SyncActionValue.AndroidUnsupportedActions * @instance */ AndroidUnsupportedActions.prototype.allowed = false; /** * Creates a new AndroidUnsupportedActions instance using the specified properties. * @function create * @memberof proto.SyncActionValue.AndroidUnsupportedActions * @static * @param {proto.SyncActionValue.IAndroidUnsupportedActions=} [properties] Properties to set * @returns {proto.SyncActionValue.AndroidUnsupportedActions} AndroidUnsupportedActions instance */ AndroidUnsupportedActions.create = function create(properties) { return new AndroidUnsupportedActions(properties); }; /** * Encodes the specified AndroidUnsupportedActions message. Does not implicitly {@link proto.SyncActionValue.AndroidUnsupportedActions.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.AndroidUnsupportedActions * @static * @param {proto.SyncActionValue.IAndroidUnsupportedActions} message AndroidUnsupportedActions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AndroidUnsupportedActions.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.allowed != null && Object.hasOwnProperty.call(message, "allowed")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.allowed); return writer; }; /** * Encodes the specified AndroidUnsupportedActions message, length delimited. Does not implicitly {@link proto.SyncActionValue.AndroidUnsupportedActions.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.AndroidUnsupportedActions * @static * @param {proto.SyncActionValue.IAndroidUnsupportedActions} message AndroidUnsupportedActions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ AndroidUnsupportedActions.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an AndroidUnsupportedActions message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.AndroidUnsupportedActions * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.AndroidUnsupportedActions} AndroidUnsupportedActions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AndroidUnsupportedActions.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.SyncActionValue.AndroidUnsupportedActions(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.allowed = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an AndroidUnsupportedActions message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.AndroidUnsupportedActions * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.AndroidUnsupportedActions} AndroidUnsupportedActions * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ AndroidUnsupportedActions.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an AndroidUnsupportedActions message. * @function verify * @memberof proto.SyncActionValue.AndroidUnsupportedActions * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ AndroidUnsupportedActions.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.allowed != null && message.hasOwnProperty("allowed")) if (typeof message.allowed !== "boolean") return "allowed: boolean expected"; return null; }; /** * Creates an AndroidUnsupportedActions message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.AndroidUnsupportedActions * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.AndroidUnsupportedActions} AndroidUnsupportedActions */ AndroidUnsupportedActions.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.AndroidUnsupportedActions) return object; var message = new $root.proto.SyncActionValue.AndroidUnsupportedActions(); if (object.allowed != null) message.allowed = Boolean(object.allowed); return message; }; /** * Creates a plain object from an AndroidUnsupportedActions message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.AndroidUnsupportedActions * @static * @param {proto.SyncActionValue.AndroidUnsupportedActions} message AndroidUnsupportedActions * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ AndroidUnsupportedActions.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.allowed = false; if (message.allowed != null && message.hasOwnProperty("allowed")) object.allowed = message.allowed; return object; }; /** * Converts this AndroidUnsupportedActions to JSON. * @function toJSON * @memberof proto.SyncActionValue.AndroidUnsupportedActions * @instance * @returns {Object.<string,*>} JSON object */ AndroidUnsupportedActions.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return AndroidUnsupportedActions; })(); SyncActionValue.ArchiveChatAction = (function() { /** * Properties of an ArchiveChatAction. * @memberof proto.SyncActionValue * @interface IArchiveChatAction * @property {boolean|null} [archived] ArchiveChatAction archived * @property {proto.SyncActionValue.ISyncActionMessageRange|null} [messageRange] ArchiveChatAction messageRange */ /** * Constructs a new ArchiveChatAction. * @memberof proto.SyncActionValue * @classdesc Represents an ArchiveChatAction. * @implements IArchiveChatAction * @constructor * @param {proto.SyncActionValue.IArchiveChatAction=} [properties] Properties to set */ function ArchiveChatAction(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]]; } /** * ArchiveChatAction archived. * @member {boolean} archived * @memberof proto.SyncActionValue.ArchiveChatAction * @instance */ ArchiveChatAction.prototype.archived = false; /** * ArchiveChatAction messageRange. * @member {proto.SyncActionValue.ISyncActionMessageRange|null|undefined} messageRange * @memberof proto.SyncActionValue.ArchiveChatAction * @instance */ ArchiveChatAction.prototype.messageRange = null; /** * Creates a new ArchiveChatAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.ArchiveChatAction * @static * @param {proto.SyncActionValue.IArchiveChatAction=} [properties] Properties to set * @returns {proto.SyncActionValue.ArchiveChatAction} ArchiveChatAction instance */ ArchiveChatAction.create = function create(properties) { return new ArchiveChatAction(properties); }; /** * Encodes the specified ArchiveChatAction message. Does not implicitly {@link proto.SyncActionValue.ArchiveChatAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.ArchiveChatAction * @static * @param {proto.SyncActionValue.IArchiveChatAction} message ArchiveChatAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ArchiveChatAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.archived != null && Object.hasOwnProperty.call(message, "archived")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.archived); if (message.messageRange != null && Object.hasOwnProperty.call(message, "messageRange")) $root.proto.SyncActionValue.SyncActionMessageRange.encode(message.messageRange, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified ArchiveChatAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.ArchiveChatAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.ArchiveChatAction * @static * @param {proto.SyncActionValue.IArchiveChatAction} message ArchiveChatAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ArchiveChatAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an ArchiveChatAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.ArchiveChatAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.ArchiveChatAction} ArchiveChatAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ArchiveChatAction.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.SyncActionValue.ArchiveChatAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.archived = reader.bool(); break; case 2: message.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an ArchiveChatAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.ArchiveChatAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.ArchiveChatAction} ArchiveChatAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ArchiveChatAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an ArchiveChatAction message. * @function verify * @memberof proto.SyncActionValue.ArchiveChatAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ArchiveChatAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.archived != null && message.hasOwnProperty("archived")) if (typeof message.archived !== "boolean") return "archived: boolean expected"; if (message.messageRange != null && message.hasOwnProperty("messageRange")) { var error = $root.proto.SyncActionValue.SyncActionMessageRange.verify(message.messageRange); if (error) return "messageRange." + error; } return null; }; /** * Creates an ArchiveChatAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.ArchiveChatAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.ArchiveChatAction} ArchiveChatAction */ ArchiveChatAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.ArchiveChatAction) return object; var message = new $root.proto.SyncActionValue.ArchiveChatAction(); if (object.archived != null) message.archived = Boolean(object.archived); if (object.messageRange != null) { if (typeof object.messageRange !== "object") throw TypeError(".proto.SyncActionValue.ArchiveChatAction.messageRange: object expected"); message.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.fromObject(object.messageRange); } return message; }; /** * Creates a plain object from an ArchiveChatAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.ArchiveChatAction * @static * @param {proto.SyncActionValue.ArchiveChatAction} message ArchiveChatAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ArchiveChatAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.archived = false; object.messageRange = null; } if (message.archived != null && message.hasOwnProperty("archived")) object.archived = message.archived; if (message.messageRange != null && message.hasOwnProperty("messageRange")) object.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.toObject(message.messageRange, options); return object; }; /** * Converts this ArchiveChatAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.ArchiveChatAction * @instance * @returns {Object.<string,*>} JSON object */ ArchiveChatAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ArchiveChatAction; })(); SyncActionValue.ChatAssignmentAction = (function() { /** * Properties of a ChatAssignmentAction. * @memberof proto.SyncActionValue * @interface IChatAssignmentAction * @property {string|null} [deviceAgentID] ChatAssignmentAction deviceAgentID */ /** * Constructs a new ChatAssignmentAction. * @memberof proto.SyncActionValue * @classdesc Represents a ChatAssignmentAction. * @implements IChatAssignmentAction * @constructor * @param {proto.SyncActionValue.IChatAssignmentAction=} [properties] Properties to set */ function ChatAssignmentAction(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]]; } /** * ChatAssignmentAction deviceAgentID. * @member {string} deviceAgentID * @memberof proto.SyncActionValue.ChatAssignmentAction * @instance */ ChatAssignmentAction.prototype.deviceAgentID = ""; /** * Creates a new ChatAssignmentAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.ChatAssignmentAction * @static * @param {proto.SyncActionValue.IChatAssignmentAction=} [properties] Properties to set * @returns {proto.SyncActionValue.ChatAssignmentAction} ChatAssignmentAction instance */ ChatAssignmentAction.create = function create(properties) { return new ChatAssignmentAction(properties); }; /** * Encodes the specified ChatAssignmentAction message. Does not implicitly {@link proto.SyncActionValue.ChatAssignmentAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.ChatAssignmentAction * @static * @param {proto.SyncActionValue.IChatAssignmentAction} message ChatAssignmentAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ChatAssignmentAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.deviceAgentID != null && Object.hasOwnProperty.call(message, "deviceAgentID")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.deviceAgentID); return writer; }; /** * Encodes the specified ChatAssignmentAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.ChatAssignmentAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.ChatAssignmentAction * @static * @param {proto.SyncActionValue.IChatAssignmentAction} message ChatAssignmentAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ChatAssignmentAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ChatAssignmentAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.ChatAssignmentAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.ChatAssignmentAction} ChatAssignmentAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ChatAssignmentAction.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.SyncActionValue.ChatAssignmentAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.deviceAgentID = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ChatAssignmentAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.ChatAssignmentAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.ChatAssignmentAction} ChatAssignmentAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ChatAssignmentAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ChatAssignmentAction message. * @function verify * @memberof proto.SyncActionValue.ChatAssignmentAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ChatAssignmentAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.deviceAgentID != null && message.hasOwnProperty("deviceAgentID")) if (!$util.isString(message.deviceAgentID)) return "deviceAgentID: string expected"; return null; }; /** * Creates a ChatAssignmentAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.ChatAssignmentAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.ChatAssignmentAction} ChatAssignmentAction */ ChatAssignmentAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.ChatAssignmentAction) return object; var message = new $root.proto.SyncActionValue.ChatAssignmentAction(); if (object.deviceAgentID != null) message.deviceAgentID = String(object.deviceAgentID); return message; }; /** * Creates a plain object from a ChatAssignmentAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.ChatAssignmentAction * @static * @param {proto.SyncActionValue.ChatAssignmentAction} message ChatAssignmentAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ChatAssignmentAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.deviceAgentID = ""; if (message.deviceAgentID != null && message.hasOwnProperty("deviceAgentID")) object.deviceAgentID = message.deviceAgentID; return object; }; /** * Converts this ChatAssignmentAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.ChatAssignmentAction * @instance * @returns {Object.<string,*>} JSON object */ ChatAssignmentAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ChatAssignmentAction; })(); SyncActionValue.ChatAssignmentOpenedStatusAction = (function() { /** * Properties of a ChatAssignmentOpenedStatusAction. * @memberof proto.SyncActionValue * @interface IChatAssignmentOpenedStatusAction * @property {boolean|null} [chatOpened] ChatAssignmentOpenedStatusAction chatOpened */ /** * Constructs a new ChatAssignmentOpenedStatusAction. * @memberof proto.SyncActionValue * @classdesc Represents a ChatAssignmentOpenedStatusAction. * @implements IChatAssignmentOpenedStatusAction * @constructor * @param {proto.SyncActionValue.IChatAssignmentOpenedStatusAction=} [properties] Properties to set */ function ChatAssignmentOpenedStatusAction(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]]; } /** * ChatAssignmentOpenedStatusAction chatOpened. * @member {boolean} chatOpened * @memberof proto.SyncActionValue.ChatAssignmentOpenedStatusAction * @instance */ ChatAssignmentOpenedStatusAction.prototype.chatOpened = false; /** * Creates a new ChatAssignmentOpenedStatusAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.ChatAssignmentOpenedStatusAction * @static * @param {proto.SyncActionValue.IChatAssignmentOpenedStatusAction=} [properties] Properties to set * @returns {proto.SyncActionValue.ChatAssignmentOpenedStatusAction} ChatAssignmentOpenedStatusAction instance */ ChatAssignmentOpenedStatusAction.create = function create(properties) { return new ChatAssignmentOpenedStatusAction(properties); }; /** * Encodes the specified ChatAssignmentOpenedStatusAction message. Does not implicitly {@link proto.SyncActionValue.ChatAssignmentOpenedStatusAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.ChatAssignmentOpenedStatusAction * @static * @param {proto.SyncActionValue.IChatAssignmentOpenedStatusAction} message ChatAssignmentOpenedStatusAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ChatAssignmentOpenedStatusAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.chatOpened != null && Object.hasOwnProperty.call(message, "chatOpened")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.chatOpened); return writer; }; /** * Encodes the specified ChatAssignmentOpenedStatusAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.ChatAssignmentOpenedStatusAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.ChatAssignmentOpenedStatusAction * @static * @param {proto.SyncActionValue.IChatAssignmentOpenedStatusAction} message ChatAssignmentOpenedStatusAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ChatAssignmentOpenedStatusAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ChatAssignmentOpenedStatusAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.ChatAssignmentOpenedStatusAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.ChatAssignmentOpenedStatusAction} ChatAssignmentOpenedStatusAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ChatAssignmentOpenedStatusAction.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.SyncActionValue.ChatAssignmentOpenedStatusAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.chatOpened = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ChatAssignmentOpenedStatusAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.ChatAssignmentOpenedStatusAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.ChatAssignmentOpenedStatusAction} ChatAssignmentOpenedStatusAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ChatAssignmentOpenedStatusAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ChatAssignmentOpenedStatusAction message. * @function verify * @memberof proto.SyncActionValue.ChatAssignmentOpenedStatusAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ChatAssignmentOpenedStatusAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.chatOpened != null && message.hasOwnProperty("chatOpened")) if (typeof message.chatOpened !== "boolean") return "chatOpened: boolean expected"; return null; }; /** * Creates a ChatAssignmentOpenedStatusAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.ChatAssignmentOpenedStatusAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.ChatAssignmentOpenedStatusAction} ChatAssignmentOpenedStatusAction */ ChatAssignmentOpenedStatusAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.ChatAssignmentOpenedStatusAction) return object; var message = new $root.proto.SyncActionValue.ChatAssignmentOpenedStatusAction(); if (object.chatOpened != null) message.chatOpened = Boolean(object.chatOpened); return message; }; /** * Creates a plain object from a ChatAssignmentOpenedStatusAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.ChatAssignmentOpenedStatusAction * @static * @param {proto.SyncActionValue.ChatAssignmentOpenedStatusAction} message ChatAssignmentOpenedStatusAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ChatAssignmentOpenedStatusAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.chatOpened = false; if (message.chatOpened != null && message.hasOwnProperty("chatOpened")) object.chatOpened = message.chatOpened; return object; }; /** * Converts this ChatAssignmentOpenedStatusAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.ChatAssignmentOpenedStatusAction * @instance * @returns {Object.<string,*>} JSON object */ ChatAssignmentOpenedStatusAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ChatAssignmentOpenedStatusAction; })(); SyncActionValue.ClearChatAction = (function() { /** * Properties of a ClearChatAction. * @memberof proto.SyncActionValue * @interface IClearChatAction * @property {proto.SyncActionValue.ISyncActionMessageRange|null} [messageRange] ClearChatAction messageRange */ /** * Constructs a new ClearChatAction. * @memberof proto.SyncActionValue * @classdesc Represents a ClearChatAction. * @implements IClearChatAction * @constructor * @param {proto.SyncActionValue.IClearChatAction=} [properties] Properties to set */ function ClearChatAction(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]]; } /** * ClearChatAction messageRange. * @member {proto.SyncActionValue.ISyncActionMessageRange|null|undefined} messageRange * @memberof proto.SyncActionValue.ClearChatAction * @instance */ ClearChatAction.prototype.messageRange = null; /** * Creates a new ClearChatAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.ClearChatAction * @static * @param {proto.SyncActionValue.IClearChatAction=} [properties] Properties to set * @returns {proto.SyncActionValue.ClearChatAction} ClearChatAction instance */ ClearChatAction.create = function create(properties) { return new ClearChatAction(properties); }; /** * Encodes the specified ClearChatAction message. Does not implicitly {@link proto.SyncActionValue.ClearChatAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.ClearChatAction * @static * @param {proto.SyncActionValue.IClearChatAction} message ClearChatAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ClearChatAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.messageRange != null && Object.hasOwnProperty.call(message, "messageRange")) $root.proto.SyncActionValue.SyncActionMessageRange.encode(message.messageRange, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified ClearChatAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.ClearChatAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.ClearChatAction * @static * @param {proto.SyncActionValue.IClearChatAction} message ClearChatAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ClearChatAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ClearChatAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.ClearChatAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.ClearChatAction} ClearChatAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ClearChatAction.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.SyncActionValue.ClearChatAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ClearChatAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.ClearChatAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.ClearChatAction} ClearChatAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ClearChatAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ClearChatAction message. * @function verify * @memberof proto.SyncActionValue.ClearChatAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ClearChatAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.messageRange != null && message.hasOwnProperty("messageRange")) { var error = $root.proto.SyncActionValue.SyncActionMessageRange.verify(message.messageRange); if (error) return "messageRange." + error; } return null; }; /** * Creates a ClearChatAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.ClearChatAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.ClearChatAction} ClearChatAction */ ClearChatAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.ClearChatAction) return object; var message = new $root.proto.SyncActionValue.ClearChatAction(); if (object.messageRange != null) { if (typeof object.messageRange !== "object") throw TypeError(".proto.SyncActionValue.ClearChatAction.messageRange: object expected"); message.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.fromObject(object.messageRange); } return message; }; /** * Creates a plain object from a ClearChatAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.ClearChatAction * @static * @param {proto.SyncActionValue.ClearChatAction} message ClearChatAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ClearChatAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.messageRange = null; if (message.messageRange != null && message.hasOwnProperty("messageRange")) object.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.toObject(message.messageRange, options); return object; }; /** * Converts this ClearChatAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.ClearChatAction * @instance * @returns {Object.<string,*>} JSON object */ ClearChatAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ClearChatAction; })(); SyncActionValue.ContactAction = (function() { /** * Properties of a ContactAction. * @memberof proto.SyncActionValue * @interface IContactAction * @property {string|null} [fullName] ContactAction fullName * @property {string|null} [firstName] ContactAction firstName * @property {string|null} [lidJid] ContactAction lidJid */ /** * Constructs a new ContactAction. * @memberof proto.SyncActionValue * @classdesc Represents a ContactAction. * @implements IContactAction * @constructor * @param {proto.SyncActionValue.IContactAction=} [properties] Properties to set */ function ContactAction(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]]; } /** * ContactAction fullName. * @member {string} fullName * @memberof proto.SyncActionValue.ContactAction * @instance */ ContactAction.prototype.fullName = ""; /** * ContactAction firstName. * @member {string} firstName * @memberof proto.SyncActionValue.ContactAction * @instance */ ContactAction.prototype.firstName = ""; /** * ContactAction lidJid. * @member {string} lidJid * @memberof proto.SyncActionValue.ContactAction * @instance */ ContactAction.prototype.lidJid = ""; /** * Creates a new ContactAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.ContactAction * @static * @param {proto.SyncActionValue.IContactAction=} [properties] Properties to set * @returns {proto.SyncActionValue.ContactAction} ContactAction instance */ ContactAction.create = function create(properties) { return new ContactAction(properties); }; /** * Encodes the specified ContactAction message. Does not implicitly {@link proto.SyncActionValue.ContactAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.ContactAction * @static * @param {proto.SyncActionValue.IContactAction} message ContactAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ContactAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.fullName != null && Object.hasOwnProperty.call(message, "fullName")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.fullName); if (message.firstName != null && Object.hasOwnProperty.call(message, "firstName")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.firstName); if (message.lidJid != null && Object.hasOwnProperty.call(message, "lidJid")) writer.uint32(/* id 3, wireType 2 =*/26).string(message.lidJid); return writer; }; /** * Encodes the specified ContactAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.ContactAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.ContactAction * @static * @param {proto.SyncActionValue.IContactAction} message ContactAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ContactAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a ContactAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.ContactAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.ContactAction} ContactAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ContactAction.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.SyncActionValue.ContactAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.fullName = reader.string(); break; case 2: message.firstName = reader.string(); break; case 3: message.lidJid = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a ContactAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.ContactAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.ContactAction} ContactAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ContactAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a ContactAction message. * @function verify * @memberof proto.SyncActionValue.ContactAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ContactAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.fullName != null && message.hasOwnProperty("fullName")) if (!$util.isString(message.fullName)) return "fullName: string expected"; if (message.firstName != null && message.hasOwnProperty("firstName")) if (!$util.isString(message.firstName)) return "firstName: string expected"; if (message.lidJid != null && message.hasOwnProperty("lidJid")) if (!$util.isString(message.lidJid)) return "lidJid: string expected"; return null; }; /** * Creates a ContactAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.ContactAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.ContactAction} ContactAction */ ContactAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.ContactAction) return object; var message = new $root.proto.SyncActionValue.ContactAction(); if (object.fullName != null) message.fullName = String(object.fullName); if (object.firstName != null) message.firstName = String(object.firstName); if (object.lidJid != null) message.lidJid = String(object.lidJid); return message; }; /** * Creates a plain object from a ContactAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.ContactAction * @static * @param {proto.SyncActionValue.ContactAction} message ContactAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ContactAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.fullName = ""; object.firstName = ""; object.lidJid = ""; } if (message.fullName != null && message.hasOwnProperty("fullName")) object.fullName = message.fullName; if (message.firstName != null && message.hasOwnProperty("firstName")) object.firstName = message.firstName; if (message.lidJid != null && message.hasOwnProperty("lidJid")) object.lidJid = message.lidJid; return object; }; /** * Converts this ContactAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.ContactAction * @instance * @returns {Object.<string,*>} JSON object */ ContactAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ContactAction; })(); SyncActionValue.DeleteChatAction = (function() { /** * Properties of a DeleteChatAction. * @memberof proto.SyncActionValue * @interface IDeleteChatAction * @property {proto.SyncActionValue.ISyncActionMessageRange|null} [messageRange] DeleteChatAction messageRange */ /** * Constructs a new DeleteChatAction. * @memberof proto.SyncActionValue * @classdesc Represents a DeleteChatAction. * @implements IDeleteChatAction * @constructor * @param {proto.SyncActionValue.IDeleteChatAction=} [properties] Properties to set */ function DeleteChatAction(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]]; } /** * DeleteChatAction messageRange. * @member {proto.SyncActionValue.ISyncActionMessageRange|null|undefined} messageRange * @memberof proto.SyncActionValue.DeleteChatAction * @instance */ DeleteChatAction.prototype.messageRange = null; /** * Creates a new DeleteChatAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.DeleteChatAction * @static * @param {proto.SyncActionValue.IDeleteChatAction=} [properties] Properties to set * @returns {proto.SyncActionValue.DeleteChatAction} DeleteChatAction instance */ DeleteChatAction.create = function create(properties) { return new DeleteChatAction(properties); }; /** * Encodes the specified DeleteChatAction message. Does not implicitly {@link proto.SyncActionValue.DeleteChatAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.DeleteChatAction * @static * @param {proto.SyncActionValue.IDeleteChatAction} message DeleteChatAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeleteChatAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.messageRange != null && Object.hasOwnProperty.call(message, "messageRange")) $root.proto.SyncActionValue.SyncActionMessageRange.encode(message.messageRange, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified DeleteChatAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.DeleteChatAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.DeleteChatAction * @static * @param {proto.SyncActionValue.IDeleteChatAction} message DeleteChatAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeleteChatAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DeleteChatAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.DeleteChatAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.DeleteChatAction} DeleteChatAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeleteChatAction.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.SyncActionValue.DeleteChatAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DeleteChatAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.DeleteChatAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.DeleteChatAction} DeleteChatAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeleteChatAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DeleteChatAction message. * @function verify * @memberof proto.SyncActionValue.DeleteChatAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DeleteChatAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.messageRange != null && message.hasOwnProperty("messageRange")) { var error = $root.proto.SyncActionValue.SyncActionMessageRange.verify(message.messageRange); if (error) return "messageRange." + error; } return null; }; /** * Creates a DeleteChatAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.DeleteChatAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.DeleteChatAction} DeleteChatAction */ DeleteChatAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.DeleteChatAction) return object; var message = new $root.proto.SyncActionValue.DeleteChatAction(); if (object.messageRange != null) { if (typeof object.messageRange !== "object") throw TypeError(".proto.SyncActionValue.DeleteChatAction.messageRange: object expected"); message.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.fromObject(object.messageRange); } return message; }; /** * Creates a plain object from a DeleteChatAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.DeleteChatAction * @static * @param {proto.SyncActionValue.DeleteChatAction} message DeleteChatAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ DeleteChatAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.messageRange = null; if (message.messageRange != null && message.hasOwnProperty("messageRange")) object.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.toObject(message.messageRange, options); return object; }; /** * Converts this DeleteChatAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.DeleteChatAction * @instance * @returns {Object.<string,*>} JSON object */ DeleteChatAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DeleteChatAction; })(); SyncActionValue.DeleteMessageForMeAction = (function() { /** * Properties of a DeleteMessageForMeAction. * @memberof proto.SyncActionValue * @interface IDeleteMessageForMeAction * @property {boolean|null} [deleteMedia] DeleteMessageForMeAction deleteMedia * @property {number|Long|null} [messageTimestamp] DeleteMessageForMeAction messageTimestamp */ /** * Constructs a new DeleteMessageForMeAction. * @memberof proto.SyncActionValue * @classdesc Represents a DeleteMessageForMeAction. * @implements IDeleteMessageForMeAction * @constructor * @param {proto.SyncActionValue.IDeleteMessageForMeAction=} [properties] Properties to set */ function DeleteMessageForMeAction(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]]; } /** * DeleteMessageForMeAction deleteMedia. * @member {boolean} deleteMedia * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @instance */ DeleteMessageForMeAction.prototype.deleteMedia = false; /** * DeleteMessageForMeAction messageTimestamp. * @member {number|Long} messageTimestamp * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @instance */ DeleteMessageForMeAction.prototype.messageTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new DeleteMessageForMeAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @static * @param {proto.SyncActionValue.IDeleteMessageForMeAction=} [properties] Properties to set * @returns {proto.SyncActionValue.DeleteMessageForMeAction} DeleteMessageForMeAction instance */ DeleteMessageForMeAction.create = function create(properties) { return new DeleteMessageForMeAction(properties); }; /** * Encodes the specified DeleteMessageForMeAction message. Does not implicitly {@link proto.SyncActionValue.DeleteMessageForMeAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @static * @param {proto.SyncActionValue.IDeleteMessageForMeAction} message DeleteMessageForMeAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeleteMessageForMeAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.deleteMedia != null && Object.hasOwnProperty.call(message, "deleteMedia")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deleteMedia); if (message.messageTimestamp != null && Object.hasOwnProperty.call(message, "messageTimestamp")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.messageTimestamp); return writer; }; /** * Encodes the specified DeleteMessageForMeAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.DeleteMessageForMeAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @static * @param {proto.SyncActionValue.IDeleteMessageForMeAction} message DeleteMessageForMeAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ DeleteMessageForMeAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a DeleteMessageForMeAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.DeleteMessageForMeAction} DeleteMessageForMeAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeleteMessageForMeAction.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.SyncActionValue.DeleteMessageForMeAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.deleteMedia = reader.bool(); break; case 2: message.messageTimestamp = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a DeleteMessageForMeAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.DeleteMessageForMeAction} DeleteMessageForMeAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ DeleteMessageForMeAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a DeleteMessageForMeAction message. * @function verify * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ DeleteMessageForMeAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.deleteMedia != null && message.hasOwnProperty("deleteMedia")) if (typeof message.deleteMedia !== "boolean") return "deleteMedia: boolean expected"; 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"; return null; }; /** * Creates a DeleteMessageForMeAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.DeleteMessageForMeAction} DeleteMessageForMeAction */ DeleteMessageForMeAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.DeleteMessageForMeAction) return object; var message = new $root.proto.SyncActionValue.DeleteMessageForMeAction(); if (object.deleteMedia != null) message.deleteMedia = Boolean(object.deleteMedia); if (object.messageTimestamp != null) if ($util.Long) (message.messageTimestamp = $util.Long.fromValue(object.messageTimestamp)).unsigned = false; 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(); return message; }; /** * Creates a plain object from a DeleteMessageForMeAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @static * @param {proto.SyncActionValue.DeleteMessageForMeAction} message DeleteMessageForMeAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ DeleteMessageForMeAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.deleteMedia = false; if ($util.Long) { var long = new $util.Long(0, 0, false); object.messageTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.messageTimestamp = options.longs === String ? "0" : 0; } if (message.deleteMedia != null && message.hasOwnProperty("deleteMedia")) object.deleteMedia = message.deleteMedia; 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() : message.messageTimestamp; return object; }; /** * Converts this DeleteMessageForMeAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.DeleteMessageForMeAction * @instance * @returns {Object.<string,*>} JSON object */ DeleteMessageForMeAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return DeleteMessageForMeAction; })(); SyncActionValue.ExternalWebBetaAction = (function() { /** * Properties of an ExternalWebBetaAction. * @memberof proto.SyncActionValue * @interface IExternalWebBetaAction * @property {boolean|null} [isOptIn] ExternalWebBetaAction isOptIn */ /** * Constructs a new ExternalWebBetaAction. * @memberof proto.SyncActionValue * @classdesc Represents an ExternalWebBetaAction. * @implements IExternalWebBetaAction * @constructor * @param {proto.SyncActionValue.IExternalWebBetaAction=} [properties] Properties to set */ function ExternalWebBetaAction(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]]; } /** * ExternalWebBetaAction isOptIn. * @member {boolean} isOptIn * @memberof proto.SyncActionValue.ExternalWebBetaAction * @instance */ ExternalWebBetaAction.prototype.isOptIn = false; /** * Creates a new ExternalWebBetaAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.ExternalWebBetaAction * @static * @param {proto.SyncActionValue.IExternalWebBetaAction=} [properties] Properties to set * @returns {proto.SyncActionValue.ExternalWebBetaAction} ExternalWebBetaAction instance */ ExternalWebBetaAction.create = function create(properties) { return new ExternalWebBetaAction(properties); }; /** * Encodes the specified ExternalWebBetaAction message. Does not implicitly {@link proto.SyncActionValue.ExternalWebBetaAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.ExternalWebBetaAction * @static * @param {proto.SyncActionValue.IExternalWebBetaAction} message ExternalWebBetaAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ExternalWebBetaAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.isOptIn != null && Object.hasOwnProperty.call(message, "isOptIn")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.isOptIn); return writer; }; /** * Encodes the specified ExternalWebBetaAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.ExternalWebBetaAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.ExternalWebBetaAction * @static * @param {proto.SyncActionValue.IExternalWebBetaAction} message ExternalWebBetaAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ ExternalWebBetaAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an ExternalWebBetaAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.ExternalWebBetaAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.ExternalWebBetaAction} ExternalWebBetaAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ExternalWebBetaAction.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.SyncActionValue.ExternalWebBetaAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.isOptIn = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an ExternalWebBetaAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.ExternalWebBetaAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.ExternalWebBetaAction} ExternalWebBetaAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ ExternalWebBetaAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an ExternalWebBetaAction message. * @function verify * @memberof proto.SyncActionValue.ExternalWebBetaAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ ExternalWebBetaAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.isOptIn != null && message.hasOwnProperty("isOptIn")) if (typeof message.isOptIn !== "boolean") return "isOptIn: boolean expected"; return null; }; /** * Creates an ExternalWebBetaAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.ExternalWebBetaAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.ExternalWebBetaAction} ExternalWebBetaAction */ ExternalWebBetaAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.ExternalWebBetaAction) return object; var message = new $root.proto.SyncActionValue.ExternalWebBetaAction(); if (object.isOptIn != null) message.isOptIn = Boolean(object.isOptIn); return message; }; /** * Creates a plain object from an ExternalWebBetaAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.ExternalWebBetaAction * @static * @param {proto.SyncActionValue.ExternalWebBetaAction} message ExternalWebBetaAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ ExternalWebBetaAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.isOptIn = false; if (message.isOptIn != null && message.hasOwnProperty("isOptIn")) object.isOptIn = message.isOptIn; return object; }; /** * Converts this ExternalWebBetaAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.ExternalWebBetaAction * @instance * @returns {Object.<string,*>} JSON object */ ExternalWebBetaAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return ExternalWebBetaAction; })(); SyncActionValue.KeyExpiration = (function() { /** * Properties of a KeyExpiration. * @memberof proto.SyncActionValue * @interface IKeyExpiration * @property {number|null} [expiredKeyEpoch] KeyExpiration expiredKeyEpoch */ /** * Constructs a new KeyExpiration. * @memberof proto.SyncActionValue * @classdesc Represents a KeyExpiration. * @implements IKeyExpiration * @constructor * @param {proto.SyncActionValue.IKeyExpiration=} [properties] Properties to set */ function KeyExpiration(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]]; } /** * KeyExpiration expiredKeyEpoch. * @member {number} expiredKeyEpoch * @memberof proto.SyncActionValue.KeyExpiration * @instance */ KeyExpiration.prototype.expiredKeyEpoch = 0; /** * Creates a new KeyExpiration instance using the specified properties. * @function create * @memberof proto.SyncActionValue.KeyExpiration * @static * @param {proto.SyncActionValue.IKeyExpiration=} [properties] Properties to set * @returns {proto.SyncActionValue.KeyExpiration} KeyExpiration instance */ KeyExpiration.create = function create(properties) { return new KeyExpiration(properties); }; /** * Encodes the specified KeyExpiration message. Does not implicitly {@link proto.SyncActionValue.KeyExpiration.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.KeyExpiration * @static * @param {proto.SyncActionValue.IKeyExpiration} message KeyExpiration message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ KeyExpiration.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.expiredKeyEpoch != null && Object.hasOwnProperty.call(message, "expiredKeyEpoch")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.expiredKeyEpoch); return writer; }; /** * Encodes the specified KeyExpiration message, length delimited. Does not implicitly {@link proto.SyncActionValue.KeyExpiration.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.KeyExpiration * @static * @param {proto.SyncActionValue.IKeyExpiration} message KeyExpiration message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ KeyExpiration.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a KeyExpiration message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.KeyExpiration * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.KeyExpiration} KeyExpiration * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ KeyExpiration.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.SyncActionValue.KeyExpiration(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.expiredKeyEpoch = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a KeyExpiration message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.KeyExpiration * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.KeyExpiration} KeyExpiration * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ KeyExpiration.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a KeyExpiration message. * @function verify * @memberof proto.SyncActionValue.KeyExpiration * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ KeyExpiration.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.expiredKeyEpoch != null && message.hasOwnProperty("expiredKeyEpoch")) if (!$util.isInteger(message.expiredKeyEpoch)) return "expiredKeyEpoch: integer expected"; return null; }; /** * Creates a KeyExpiration message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.KeyExpiration * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.KeyExpiration} KeyExpiration */ KeyExpiration.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.KeyExpiration) return object; var message = new $root.proto.SyncActionValue.KeyExpiration(); if (object.expiredKeyEpoch != null) message.expiredKeyEpoch = object.expiredKeyEpoch | 0; return message; }; /** * Creates a plain object from a KeyExpiration message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.KeyExpiration * @static * @param {proto.SyncActionValue.KeyExpiration} message KeyExpiration * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ KeyExpiration.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.expiredKeyEpoch = 0; if (message.expiredKeyEpoch != null && message.hasOwnProperty("expiredKeyEpoch")) object.expiredKeyEpoch = message.expiredKeyEpoch; return object; }; /** * Converts this KeyExpiration to JSON. * @function toJSON * @memberof proto.SyncActionValue.KeyExpiration * @instance * @returns {Object.<string,*>} JSON object */ KeyExpiration.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return KeyExpiration; })(); SyncActionValue.LabelAssociationAction = (function() { /** * Properties of a LabelAssociationAction. * @memberof proto.SyncActionValue * @interface ILabelAssociationAction * @property {boolean|null} [labeled] LabelAssociationAction labeled */ /** * Constructs a new LabelAssociationAction. * @memberof proto.SyncActionValue * @classdesc Represents a LabelAssociationAction. * @implements ILabelAssociationAction * @constructor * @param {proto.SyncActionValue.ILabelAssociationAction=} [properties] Properties to set */ function LabelAssociationAction(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]]; } /** * LabelAssociationAction labeled. * @member {boolean} labeled * @memberof proto.SyncActionValue.LabelAssociationAction * @instance */ LabelAssociationAction.prototype.labeled = false; /** * Creates a new LabelAssociationAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.LabelAssociationAction * @static * @param {proto.SyncActionValue.ILabelAssociationAction=} [properties] Properties to set * @returns {proto.SyncActionValue.LabelAssociationAction} LabelAssociationAction instance */ LabelAssociationAction.create = function create(properties) { return new LabelAssociationAction(properties); }; /** * Encodes the specified LabelAssociationAction message. Does not implicitly {@link proto.SyncActionValue.LabelAssociationAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.LabelAssociationAction * @static * @param {proto.SyncActionValue.ILabelAssociationAction} message LabelAssociationAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LabelAssociationAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.labeled != null && Object.hasOwnProperty.call(message, "labeled")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.labeled); return writer; }; /** * Encodes the specified LabelAssociationAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.LabelAssociationAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.LabelAssociationAction * @static * @param {proto.SyncActionValue.ILabelAssociationAction} message LabelAssociationAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LabelAssociationAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a LabelAssociationAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.LabelAssociationAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.LabelAssociationAction} LabelAssociationAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LabelAssociationAction.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.SyncActionValue.LabelAssociationAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.labeled = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a LabelAssociationAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.LabelAssociationAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.LabelAssociationAction} LabelAssociationAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LabelAssociationAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a LabelAssociationAction message. * @function verify * @memberof proto.SyncActionValue.LabelAssociationAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ LabelAssociationAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.labeled != null && message.hasOwnProperty("labeled")) if (typeof message.labeled !== "boolean") return "labeled: boolean expected"; return null; }; /** * Creates a LabelAssociationAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.LabelAssociationAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.LabelAssociationAction} LabelAssociationAction */ LabelAssociationAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.LabelAssociationAction) return object; var message = new $root.proto.SyncActionValue.LabelAssociationAction(); if (object.labeled != null) message.labeled = Boolean(object.labeled); return message; }; /** * Creates a plain object from a LabelAssociationAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.LabelAssociationAction * @static * @param {proto.SyncActionValue.LabelAssociationAction} message LabelAssociationAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ LabelAssociationAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.labeled = false; if (message.labeled != null && message.hasOwnProperty("labeled")) object.labeled = message.labeled; return object; }; /** * Converts this LabelAssociationAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.LabelAssociationAction * @instance * @returns {Object.<string,*>} JSON object */ LabelAssociationAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return LabelAssociationAction; })(); SyncActionValue.LabelEditAction = (function() { /** * Properties of a LabelEditAction. * @memberof proto.SyncActionValue * @interface ILabelEditAction * @property {string|null} [name] LabelEditAction name * @property {number|null} [color] LabelEditAction color * @property {number|null} [predefinedId] LabelEditAction predefinedId * @property {boolean|null} [deleted] LabelEditAction deleted */ /** * Constructs a new LabelEditAction. * @memberof proto.SyncActionValue * @classdesc Represents a LabelEditAction. * @implements ILabelEditAction * @constructor * @param {proto.SyncActionValue.ILabelEditAction=} [properties] Properties to set */ function LabelEditAction(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]]; } /** * LabelEditAction name. * @member {string} name * @memberof proto.SyncActionValue.LabelEditAction * @instance */ LabelEditAction.prototype.name = ""; /** * LabelEditAction color. * @member {number} color * @memberof proto.SyncActionValue.LabelEditAction * @instance */ LabelEditAction.prototype.color = 0; /** * LabelEditAction predefinedId. * @member {number} predefinedId * @memberof proto.SyncActionValue.LabelEditAction * @instance */ LabelEditAction.prototype.predefinedId = 0; /** * LabelEditAction deleted. * @member {boolean} deleted * @memberof proto.SyncActionValue.LabelEditAction * @instance */ LabelEditAction.prototype.deleted = false; /** * Creates a new LabelEditAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.LabelEditAction * @static * @param {proto.SyncActionValue.ILabelEditAction=} [properties] Properties to set * @returns {proto.SyncActionValue.LabelEditAction} LabelEditAction instance */ LabelEditAction.create = function create(properties) { return new LabelEditAction(properties); }; /** * Encodes the specified LabelEditAction message. Does not implicitly {@link proto.SyncActionValue.LabelEditAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.LabelEditAction * @static * @param {proto.SyncActionValue.ILabelEditAction} message LabelEditAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LabelEditAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.color != null && Object.hasOwnProperty.call(message, "color")) writer.uint32(/* id 2, wireType 0 =*/16).int32(message.color); if (message.predefinedId != null && Object.hasOwnProperty.call(message, "predefinedId")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.predefinedId); if (message.deleted != null && Object.hasOwnProperty.call(message, "deleted")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.deleted); return writer; }; /** * Encodes the specified LabelEditAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.LabelEditAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.LabelEditAction * @static * @param {proto.SyncActionValue.ILabelEditAction} message LabelEditAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LabelEditAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a LabelEditAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.LabelEditAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.LabelEditAction} LabelEditAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LabelEditAction.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.SyncActionValue.LabelEditAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; case 2: message.color = reader.int32(); break; case 3: message.predefinedId = reader.int32(); break; case 4: message.deleted = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a LabelEditAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.LabelEditAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.LabelEditAction} LabelEditAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LabelEditAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a LabelEditAction message. * @function verify * @memberof proto.SyncActionValue.LabelEditAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ LabelEditAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.color != null && message.hasOwnProperty("color")) if (!$util.isInteger(message.color)) return "color: integer expected"; if (message.predefinedId != null && message.hasOwnProperty("predefinedId")) if (!$util.isInteger(message.predefinedId)) return "predefinedId: integer expected"; if (message.deleted != null && message.hasOwnProperty("deleted")) if (typeof message.deleted !== "boolean") return "deleted: boolean expected"; return null; }; /** * Creates a LabelEditAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.LabelEditAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.LabelEditAction} LabelEditAction */ LabelEditAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.LabelEditAction) return object; var message = new $root.proto.SyncActionValue.LabelEditAction(); if (object.name != null) message.name = String(object.name); if (object.color != null) message.color = object.color | 0; if (object.predefinedId != null) message.predefinedId = object.predefinedId | 0; if (object.deleted != null) message.deleted = Boolean(object.deleted); return message; }; /** * Creates a plain object from a LabelEditAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.LabelEditAction * @static * @param {proto.SyncActionValue.LabelEditAction} message LabelEditAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ LabelEditAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.name = ""; object.color = 0; object.predefinedId = 0; object.deleted = false; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.color != null && message.hasOwnProperty("color")) object.color = message.color; if (message.predefinedId != null && message.hasOwnProperty("predefinedId")) object.predefinedId = message.predefinedId; if (message.deleted != null && message.hasOwnProperty("deleted")) object.deleted = message.deleted; return object; }; /** * Converts this LabelEditAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.LabelEditAction * @instance * @returns {Object.<string,*>} JSON object */ LabelEditAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return LabelEditAction; })(); SyncActionValue.LocaleSetting = (function() { /** * Properties of a LocaleSetting. * @memberof proto.SyncActionValue * @interface ILocaleSetting * @property {string|null} [locale] LocaleSetting locale */ /** * Constructs a new LocaleSetting. * @memberof proto.SyncActionValue * @classdesc Represents a LocaleSetting. * @implements ILocaleSetting * @constructor * @param {proto.SyncActionValue.ILocaleSetting=} [properties] Properties to set */ function LocaleSetting(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]]; } /** * LocaleSetting locale. * @member {string} locale * @memberof proto.SyncActionValue.LocaleSetting * @instance */ LocaleSetting.prototype.locale = ""; /** * Creates a new LocaleSetting instance using the specified properties. * @function create * @memberof proto.SyncActionValue.LocaleSetting * @static * @param {proto.SyncActionValue.ILocaleSetting=} [properties] Properties to set * @returns {proto.SyncActionValue.LocaleSetting} LocaleSetting instance */ LocaleSetting.create = function create(properties) { return new LocaleSetting(properties); }; /** * Encodes the specified LocaleSetting message. Does not implicitly {@link proto.SyncActionValue.LocaleSetting.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.LocaleSetting * @static * @param {proto.SyncActionValue.ILocaleSetting} message LocaleSetting message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LocaleSetting.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.locale != null && Object.hasOwnProperty.call(message, "locale")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.locale); return writer; }; /** * Encodes the specified LocaleSetting message, length delimited. Does not implicitly {@link proto.SyncActionValue.LocaleSetting.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.LocaleSetting * @static * @param {proto.SyncActionValue.ILocaleSetting} message LocaleSetting message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ LocaleSetting.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a LocaleSetting message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.LocaleSetting * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.LocaleSetting} LocaleSetting * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LocaleSetting.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.SyncActionValue.LocaleSetting(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.locale = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a LocaleSetting message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.LocaleSetting * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.LocaleSetting} LocaleSetting * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ LocaleSetting.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a LocaleSetting message. * @function verify * @memberof proto.SyncActionValue.LocaleSetting * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ LocaleSetting.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.locale != null && message.hasOwnProperty("locale")) if (!$util.isString(message.locale)) return "locale: string expected"; return null; }; /** * Creates a LocaleSetting message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.LocaleSetting * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.LocaleSetting} LocaleSetting */ LocaleSetting.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.LocaleSetting) return object; var message = new $root.proto.SyncActionValue.LocaleSetting(); if (object.locale != null) message.locale = String(object.locale); return message; }; /** * Creates a plain object from a LocaleSetting message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.LocaleSetting * @static * @param {proto.SyncActionValue.LocaleSetting} message LocaleSetting * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ LocaleSetting.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.locale = ""; if (message.locale != null && message.hasOwnProperty("locale")) object.locale = message.locale; return object; }; /** * Converts this LocaleSetting to JSON. * @function toJSON * @memberof proto.SyncActionValue.LocaleSetting * @instance * @returns {Object.<string,*>} JSON object */ LocaleSetting.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return LocaleSetting; })(); SyncActionValue.MarkChatAsReadAction = (function() { /** * Properties of a MarkChatAsReadAction. * @memberof proto.SyncActionValue * @interface IMarkChatAsReadAction * @property {boolean|null} [read] MarkChatAsReadAction read * @property {proto.SyncActionValue.ISyncActionMessageRange|null} [messageRange] MarkChatAsReadAction messageRange */ /** * Constructs a new MarkChatAsReadAction. * @memberof proto.SyncActionValue * @classdesc Represents a MarkChatAsReadAction. * @implements IMarkChatAsReadAction * @constructor * @param {proto.SyncActionValue.IMarkChatAsReadAction=} [properties] Properties to set */ function MarkChatAsReadAction(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]]; } /** * MarkChatAsReadAction read. * @member {boolean} read * @memberof proto.SyncActionValue.MarkChatAsReadAction * @instance */ MarkChatAsReadAction.prototype.read = false; /** * MarkChatAsReadAction messageRange. * @member {proto.SyncActionValue.ISyncActionMessageRange|null|undefined} messageRange * @memberof proto.SyncActionValue.MarkChatAsReadAction * @instance */ MarkChatAsReadAction.prototype.messageRange = null; /** * Creates a new MarkChatAsReadAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.MarkChatAsReadAction * @static * @param {proto.SyncActionValue.IMarkChatAsReadAction=} [properties] Properties to set * @returns {proto.SyncActionValue.MarkChatAsReadAction} MarkChatAsReadAction instance */ MarkChatAsReadAction.create = function create(properties) { return new MarkChatAsReadAction(properties); }; /** * Encodes the specified MarkChatAsReadAction message. Does not implicitly {@link proto.SyncActionValue.MarkChatAsReadAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.MarkChatAsReadAction * @static * @param {proto.SyncActionValue.IMarkChatAsReadAction} message MarkChatAsReadAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MarkChatAsReadAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.read != null && Object.hasOwnProperty.call(message, "read")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.read); if (message.messageRange != null && Object.hasOwnProperty.call(message, "messageRange")) $root.proto.SyncActionValue.SyncActionMessageRange.encode(message.messageRange, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified MarkChatAsReadAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.MarkChatAsReadAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.MarkChatAsReadAction * @static * @param {proto.SyncActionValue.IMarkChatAsReadAction} message MarkChatAsReadAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MarkChatAsReadAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MarkChatAsReadAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.MarkChatAsReadAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.MarkChatAsReadAction} MarkChatAsReadAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MarkChatAsReadAction.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.SyncActionValue.MarkChatAsReadAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.read = reader.bool(); break; case 2: message.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MarkChatAsReadAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.MarkChatAsReadAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.MarkChatAsReadAction} MarkChatAsReadAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MarkChatAsReadAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MarkChatAsReadAction message. * @function verify * @memberof proto.SyncActionValue.MarkChatAsReadAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MarkChatAsReadAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.read != null && message.hasOwnProperty("read")) if (typeof message.read !== "boolean") return "read: boolean expected"; if (message.messageRange != null && message.hasOwnProperty("messageRange")) { var error = $root.proto.SyncActionValue.SyncActionMessageRange.verify(message.messageRange); if (error) return "messageRange." + error; } return null; }; /** * Creates a MarkChatAsReadAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.MarkChatAsReadAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.MarkChatAsReadAction} MarkChatAsReadAction */ MarkChatAsReadAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.MarkChatAsReadAction) return object; var message = new $root.proto.SyncActionValue.MarkChatAsReadAction(); if (object.read != null) message.read = Boolean(object.read); if (object.messageRange != null) { if (typeof object.messageRange !== "object") throw TypeError(".proto.SyncActionValue.MarkChatAsReadAction.messageRange: object expected"); message.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.fromObject(object.messageRange); } return message; }; /** * Creates a plain object from a MarkChatAsReadAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.MarkChatAsReadAction * @static * @param {proto.SyncActionValue.MarkChatAsReadAction} message MarkChatAsReadAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MarkChatAsReadAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.read = false; object.messageRange = null; } if (message.read != null && message.hasOwnProperty("read")) object.read = message.read; if (message.messageRange != null && message.hasOwnProperty("messageRange")) object.messageRange = $root.proto.SyncActionValue.SyncActionMessageRange.toObject(message.messageRange, options); return object; }; /** * Converts this MarkChatAsReadAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.MarkChatAsReadAction * @instance * @returns {Object.<string,*>} JSON object */ MarkChatAsReadAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MarkChatAsReadAction; })(); SyncActionValue.MarketingMessageAction = (function() { /** * Properties of a MarketingMessageAction. * @memberof proto.SyncActionValue * @interface IMarketingMessageAction * @property {string|null} [name] MarketingMessageAction name * @property {string|null} [message] MarketingMessageAction message * @property {proto.SyncActionValue.MarketingMessageAction.MarketingMessagePrototypeType|null} [type] MarketingMessageAction type * @property {number|Long|null} [createdAt] MarketingMessageAction createdAt * @property {number|Long|null} [lastSentAt] MarketingMessageAction lastSentAt * @property {boolean|null} [isDeleted] MarketingMessageAction isDeleted * @property {string|null} [mediaId] MarketingMessageAction mediaId */ /** * Constructs a new MarketingMessageAction. * @memberof proto.SyncActionValue * @classdesc Represents a MarketingMessageAction. * @implements IMarketingMessageAction * @constructor * @param {proto.SyncActionValue.IMarketingMessageAction=} [properties] Properties to set */ function MarketingMessageAction(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]]; } /** * MarketingMessageAction name. * @member {string} name * @memberof proto.SyncActionValue.MarketingMessageAction * @instance */ MarketingMessageAction.prototype.name = ""; /** * MarketingMessageAction message. * @member {string} message * @memberof proto.SyncActionValue.MarketingMessageAction * @instance */ MarketingMessageAction.prototype.message = ""; /** * MarketingMessageAction type. * @member {proto.SyncActionValue.MarketingMessageAction.MarketingMessagePrototypeType} type * @memberof proto.SyncActionValue.MarketingMessageAction * @instance */ MarketingMessageAction.prototype.type = 0; /** * MarketingMessageAction createdAt. * @member {number|Long} createdAt * @memberof proto.SyncActionValue.MarketingMessageAction * @instance */ MarketingMessageAction.prototype.createdAt = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * MarketingMessageAction lastSentAt. * @member {number|Long} lastSentAt * @memberof proto.SyncActionValue.MarketingMessageAction * @instance */ MarketingMessageAction.prototype.lastSentAt = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * MarketingMessageAction isDeleted. * @member {boolean} isDeleted * @memberof proto.SyncActionValue.MarketingMessageAction * @instance */ MarketingMessageAction.prototype.isDeleted = false; /** * MarketingMessageAction mediaId. * @member {string} mediaId * @memberof proto.SyncActionValue.MarketingMessageAction * @instance */ MarketingMessageAction.prototype.mediaId = ""; /** * Creates a new MarketingMessageAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.MarketingMessageAction * @static * @param {proto.SyncActionValue.IMarketingMessageAction=} [properties] Properties to set * @returns {proto.SyncActionValue.MarketingMessageAction} MarketingMessageAction instance */ MarketingMessageAction.create = function create(properties) { return new MarketingMessageAction(properties); }; /** * Encodes the specified MarketingMessageAction message. Does not implicitly {@link proto.SyncActionValue.MarketingMessageAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.MarketingMessageAction * @static * @param {proto.SyncActionValue.IMarketingMessageAction} message MarketingMessageAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MarketingMessageAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); if (message.message != null && Object.hasOwnProperty.call(message, "message")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.message); if (message.type != null && Object.hasOwnProperty.call(message, "type")) writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type); if (message.createdAt != null && Object.hasOwnProperty.call(message, "createdAt")) writer.uint32(/* id 4, wireType 0 =*/32).int64(message.createdAt); if (message.lastSentAt != null && Object.hasOwnProperty.call(message, "lastSentAt")) writer.uint32(/* id 5, wireType 0 =*/40).int64(message.lastSentAt); if (message.isDeleted != null && Object.hasOwnProperty.call(message, "isDeleted")) writer.uint32(/* id 6, wireType 0 =*/48).bool(message.isDeleted); if (message.mediaId != null && Object.hasOwnProperty.call(message, "mediaId")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.mediaId); return writer; }; /** * Encodes the specified MarketingMessageAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.MarketingMessageAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.MarketingMessageAction * @static * @param {proto.SyncActionValue.IMarketingMessageAction} message MarketingMessageAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MarketingMessageAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MarketingMessageAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.MarketingMessageAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.MarketingMessageAction} MarketingMessageAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MarketingMessageAction.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.SyncActionValue.MarketingMessageAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; case 2: message.message = reader.string(); break; case 3: message.type = reader.int32(); break; case 4: message.createdAt = reader.int64(); break; case 5: message.lastSentAt = reader.int64(); break; case 6: message.isDeleted = reader.bool(); break; case 7: message.mediaId = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MarketingMessageAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.MarketingMessageAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.MarketingMessageAction} MarketingMessageAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MarketingMessageAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MarketingMessageAction message. * @function verify * @memberof proto.SyncActionValue.MarketingMessageAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MarketingMessageAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.message != null && message.hasOwnProperty("message")) if (!$util.isString(message.message)) return "message: string expected"; if (message.type != null && message.hasOwnProperty("type")) switch (message.type) { default: return "type: enum value expected"; case 0: break; } if (message.createdAt != null && message.hasOwnProperty("createdAt")) if (!$util.isInteger(message.createdAt) && !(message.createdAt && $util.isInteger(message.createdAt.low) && $util.isInteger(message.createdAt.high))) return "createdAt: integer|Long expected"; if (message.lastSentAt != null && message.hasOwnProperty("lastSentAt")) if (!$util.isInteger(message.lastSentAt) && !(message.lastSentAt && $util.isInteger(message.lastSentAt.low) && $util.isInteger(message.lastSentAt.high))) return "lastSentAt: integer|Long expected"; if (message.isDeleted != null && message.hasOwnProperty("isDeleted")) if (typeof message.isDeleted !== "boolean") return "isDeleted: boolean expected"; if (message.mediaId != null && message.hasOwnProperty("mediaId")) if (!$util.isString(message.mediaId)) return "mediaId: string expected"; return null; }; /** * Creates a MarketingMessageAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.MarketingMessageAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.MarketingMessageAction} MarketingMessageAction */ MarketingMessageAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.MarketingMessageAction) return object; var message = new $root.proto.SyncActionValue.MarketingMessageAction(); if (object.name != null) message.name = String(object.name); if (object.message != null) message.message = String(object.message); switch (object.type) { case "PERSONALIZED": case 0: message.type = 0; break; } if (object.createdAt != null) if ($util.Long) (message.createdAt = $util.Long.fromValue(object.createdAt)).unsigned = false; else if (typeof object.createdAt === "string") message.createdAt = parseInt(object.createdAt, 10); else if (typeof object.createdAt === "number") message.createdAt = object.createdAt; else if (typeof object.createdAt === "object") message.createdAt = new $util.LongBits(object.createdAt.low >>> 0, object.createdAt.high >>> 0).toNumber(); if (object.lastSentAt != null) if ($util.Long) (message.lastSentAt = $util.Long.fromValue(object.lastSentAt)).unsigned = false; else if (typeof object.lastSentAt === "string") message.lastSentAt = parseInt(object.lastSentAt, 10); else if (typeof object.lastSentAt === "number") message.lastSentAt = object.lastSentAt; else if (typeof object.lastSentAt === "object") message.lastSentAt = new $util.LongBits(object.lastSentAt.low >>> 0, object.lastSentAt.high >>> 0).toNumber(); if (object.isDeleted != null) message.isDeleted = Boolean(object.isDeleted); if (object.mediaId != null) message.mediaId = String(object.mediaId); return message; }; /** * Creates a plain object from a MarketingMessageAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.MarketingMessageAction * @static * @param {proto.SyncActionValue.MarketingMessageAction} message MarketingMessageAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MarketingMessageAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.name = ""; object.message = ""; object.type = options.enums === String ? "PERSONALIZED" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.createdAt = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.createdAt = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.lastSentAt = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.lastSentAt = options.longs === String ? "0" : 0; object.isDeleted = false; object.mediaId = ""; } if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; if (message.message != null && message.hasOwnProperty("message")) object.message = message.message; if (message.type != null && message.hasOwnProperty("type")) object.type = options.enums === String ? $root.proto.SyncActionValue.MarketingMessageAction.MarketingMessagePrototypeType[message.type] : message.type; if (message.createdAt != null && message.hasOwnProperty("createdAt")) if (typeof message.createdAt === "number") object.createdAt = options.longs === String ? String(message.createdAt) : message.createdAt; else object.createdAt = options.longs === String ? $util.Long.prototype.toString.call(message.createdAt) : options.longs === Number ? new $util.LongBits(message.createdAt.low >>> 0, message.createdAt.high >>> 0).toNumber() : message.createdAt; if (message.lastSentAt != null && message.hasOwnProperty("lastSentAt")) if (typeof message.lastSentAt === "number") object.lastSentAt = options.longs === String ? String(message.lastSentAt) : message.lastSentAt; else object.lastSentAt = options.longs === String ? $util.Long.prototype.toString.call(message.lastSentAt) : options.longs === Number ? new $util.LongBits(message.lastSentAt.low >>> 0, message.lastSentAt.high >>> 0).toNumber() : message.lastSentAt; if (message.isDeleted != null && message.hasOwnProperty("isDeleted")) object.isDeleted = message.isDeleted; if (message.mediaId != null && message.hasOwnProperty("mediaId")) object.mediaId = message.mediaId; return object; }; /** * Converts this MarketingMessageAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.MarketingMessageAction * @instance * @returns {Object.<string,*>} JSON object */ MarketingMessageAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * MarketingMessagePrototypeType enum. * @name proto.SyncActionValue.MarketingMessageAction.MarketingMessagePrototypeType * @enum {number} * @property {number} PERSONALIZED=0 PERSONALIZED value */ MarketingMessageAction.MarketingMessagePrototypeType = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "PERSONALIZED"] = 0; return values; })(); return MarketingMessageAction; })(); SyncActionValue.MarketingMessageBroadcastAction = (function() { /** * Properties of a MarketingMessageBroadcastAction. * @memberof proto.SyncActionValue * @interface IMarketingMessageBroadcastAction * @property {number|null} [repliedCount] MarketingMessageBroadcastAction repliedCount */ /** * Constructs a new MarketingMessageBroadcastAction. * @memberof proto.SyncActionValue * @classdesc Represents a MarketingMessageBroadcastAction. * @implements IMarketingMessageBroadcastAction * @constructor * @param {proto.SyncActionValue.IMarketingMessageBroadcastAction=} [properties] Properties to set */ function MarketingMessageBroadcastAction(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]]; } /** * MarketingMessageBroadcastAction repliedCount. * @member {number} repliedCount * @memberof proto.SyncActionValue.MarketingMessageBroadcastAction * @instance */ MarketingMessageBroadcastAction.prototype.repliedCount = 0; /** * Creates a new MarketingMessageBroadcastAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.MarketingMessageBroadcastAction * @static * @param {proto.SyncActionValue.IMarketingMessageBroadcastAction=} [properties] Properties to set * @returns {proto.SyncActionValue.MarketingMessageBroadcastAction} MarketingMessageBroadcastAction instance */ MarketingMessageBroadcastAction.create = function create(properties) { return new MarketingMessageBroadcastAction(properties); }; /** * Encodes the specified MarketingMessageBroadcastAction message. Does not implicitly {@link proto.SyncActionValue.MarketingMessageBroadcastAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.MarketingMessageBroadcastAction * @static * @param {proto.SyncActionValue.IMarketingMessageBroadcastAction} message MarketingMessageBroadcastAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MarketingMessageBroadcastAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.repliedCount != null && Object.hasOwnProperty.call(message, "repliedCount")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.repliedCount); return writer; }; /** * Encodes the specified MarketingMessageBroadcastAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.MarketingMessageBroadcastAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.MarketingMessageBroadcastAction * @static * @param {proto.SyncActionValue.IMarketingMessageBroadcastAction} message MarketingMessageBroadcastAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MarketingMessageBroadcastAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MarketingMessageBroadcastAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.MarketingMessageBroadcastAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.MarketingMessageBroadcastAction} MarketingMessageBroadcastAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MarketingMessageBroadcastAction.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.SyncActionValue.MarketingMessageBroadcastAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.repliedCount = reader.int32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MarketingMessageBroadcastAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.MarketingMessageBroadcastAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.MarketingMessageBroadcastAction} MarketingMessageBroadcastAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MarketingMessageBroadcastAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MarketingMessageBroadcastAction message. * @function verify * @memberof proto.SyncActionValue.MarketingMessageBroadcastAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MarketingMessageBroadcastAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.repliedCount != null && message.hasOwnProperty("repliedCount")) if (!$util.isInteger(message.repliedCount)) return "repliedCount: integer expected"; return null; }; /** * Creates a MarketingMessageBroadcastAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.MarketingMessageBroadcastAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.MarketingMessageBroadcastAction} MarketingMessageBroadcastAction */ MarketingMessageBroadcastAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.MarketingMessageBroadcastAction) return object; var message = new $root.proto.SyncActionValue.MarketingMessageBroadcastAction(); if (object.repliedCount != null) message.repliedCount = object.repliedCount | 0; return message; }; /** * Creates a plain object from a MarketingMessageBroadcastAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.MarketingMessageBroadcastAction * @static * @param {proto.SyncActionValue.MarketingMessageBroadcastAction} message MarketingMessageBroadcastAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MarketingMessageBroadcastAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.repliedCount = 0; if (message.repliedCount != null && message.hasOwnProperty("repliedCount")) object.repliedCount = message.repliedCount; return object; }; /** * Converts this MarketingMessageBroadcastAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.MarketingMessageBroadcastAction * @instance * @returns {Object.<string,*>} JSON object */ MarketingMessageBroadcastAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MarketingMessageBroadcastAction; })(); SyncActionValue.MuteAction = (function() { /** * Properties of a MuteAction. * @memberof proto.SyncActionValue * @interface IMuteAction * @property {boolean|null} [muted] MuteAction muted * @property {number|Long|null} [muteEndTimestamp] MuteAction muteEndTimestamp * @property {boolean|null} [autoMuted] MuteAction autoMuted */ /** * Constructs a new MuteAction. * @memberof proto.SyncActionValue * @classdesc Represents a MuteAction. * @implements IMuteAction * @constructor * @param {proto.SyncActionValue.IMuteAction=} [properties] Properties to set */ function MuteAction(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]]; } /** * MuteAction muted. * @member {boolean} muted * @memberof proto.SyncActionValue.MuteAction * @instance */ MuteAction.prototype.muted = false; /** * MuteAction muteEndTimestamp. * @member {number|Long} muteEndTimestamp * @memberof proto.SyncActionValue.MuteAction * @instance */ MuteAction.prototype.muteEndTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * MuteAction autoMuted. * @member {boolean} autoMuted * @memberof proto.SyncActionValue.MuteAction * @instance */ MuteAction.prototype.autoMuted = false; /** * Creates a new MuteAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.MuteAction * @static * @param {proto.SyncActionValue.IMuteAction=} [properties] Properties to set * @returns {proto.SyncActionValue.MuteAction} MuteAction instance */ MuteAction.create = function create(properties) { return new MuteAction(properties); }; /** * Encodes the specified MuteAction message. Does not implicitly {@link proto.SyncActionValue.MuteAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.MuteAction * @static * @param {proto.SyncActionValue.IMuteAction} message MuteAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MuteAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.muted != null && Object.hasOwnProperty.call(message, "muted")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.muted); if (message.muteEndTimestamp != null && Object.hasOwnProperty.call(message, "muteEndTimestamp")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.muteEndTimestamp); if (message.autoMuted != null && Object.hasOwnProperty.call(message, "autoMuted")) writer.uint32(/* id 3, wireType 0 =*/24).bool(message.autoMuted); return writer; }; /** * Encodes the specified MuteAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.MuteAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.MuteAction * @static * @param {proto.SyncActionValue.IMuteAction} message MuteAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ MuteAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a MuteAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.MuteAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.MuteAction} MuteAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MuteAction.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.SyncActionValue.MuteAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.muted = reader.bool(); break; case 2: message.muteEndTimestamp = reader.int64(); break; case 3: message.autoMuted = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a MuteAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.MuteAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.MuteAction} MuteAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ MuteAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a MuteAction message. * @function verify * @memberof proto.SyncActionValue.MuteAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ MuteAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.muted != null && message.hasOwnProperty("muted")) if (typeof message.muted !== "boolean") return "muted: boolean expected"; if (message.muteEndTimestamp != null && message.hasOwnProperty("muteEndTimestamp")) if (!$util.isInteger(message.muteEndTimestamp) && !(message.muteEndTimestamp && $util.isInteger(message.muteEndTimestamp.low) && $util.isInteger(message.muteEndTimestamp.high))) return "muteEndTimestamp: integer|Long expected"; if (message.autoMuted != null && message.hasOwnProperty("autoMuted")) if (typeof message.autoMuted !== "boolean") return "autoMuted: boolean expected"; return null; }; /** * Creates a MuteAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.MuteAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.MuteAction} MuteAction */ MuteAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.MuteAction) return object; var message = new $root.proto.SyncActionValue.MuteAction(); if (object.muted != null) message.muted = Boolean(object.muted); if (object.muteEndTimestamp != null) if ($util.Long) (message.muteEndTimestamp = $util.Long.fromValue(object.muteEndTimestamp)).unsigned = false; else if (typeof object.muteEndTimestamp === "string") message.muteEndTimestamp = parseInt(object.muteEndTimestamp, 10); else if (typeof object.muteEndTimestamp === "number") message.muteEndTimestamp = object.muteEndTimestamp; else if (typeof object.muteEndTimestamp === "object") message.muteEndTimestamp = new $util.LongBits(object.muteEndTimestamp.low >>> 0, object.muteEndTimestamp.high >>> 0).toNumber(); if (object.autoMuted != null) message.autoMuted = Boolean(object.autoMuted); return message; }; /** * Creates a plain object from a MuteAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.MuteAction * @static * @param {proto.SyncActionValue.MuteAction} message MuteAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ MuteAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.muted = false; if ($util.Long) { var long = new $util.Long(0, 0, false); object.muteEndTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.muteEndTimestamp = options.longs === String ? "0" : 0; object.autoMuted = false; } if (message.muted != null && message.hasOwnProperty("muted")) object.muted = message.muted; if (message.muteEndTimestamp != null && message.hasOwnProperty("muteEndTimestamp")) if (typeof message.muteEndTimestamp === "number") object.muteEndTimestamp = options.longs === String ? String(message.muteEndTimestamp) : message.muteEndTimestamp; else object.muteEndTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.muteEndTimestamp) : options.longs === Number ? new $util.LongBits(message.muteEndTimestamp.low >>> 0, message.muteEndTimestamp.high >>> 0).toNumber() : message.muteEndTimestamp; if (message.autoMuted != null && message.hasOwnProperty("autoMuted")) object.autoMuted = message.autoMuted; return object; }; /** * Converts this MuteAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.MuteAction * @instance * @returns {Object.<string,*>} JSON object */ MuteAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return MuteAction; })(); SyncActionValue.NuxAction = (function() { /** * Properties of a NuxAction. * @memberof proto.SyncActionValue * @interface INuxAction * @property {boolean|null} [acknowledged] NuxAction acknowledged */ /** * Constructs a new NuxAction. * @memberof proto.SyncActionValue * @classdesc Represents a NuxAction. * @implements INuxAction * @constructor * @param {proto.SyncActionValue.INuxAction=} [properties] Properties to set */ function NuxAction(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]]; } /** * NuxAction acknowledged. * @member {boolean} acknowledged * @memberof proto.SyncActionValue.NuxAction * @instance */ NuxAction.prototype.acknowledged = false; /** * Creates a new NuxAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.NuxAction * @static * @param {proto.SyncActionValue.INuxAction=} [properties] Properties to set * @returns {proto.SyncActionValue.NuxAction} NuxAction instance */ NuxAction.create = function create(properties) { return new NuxAction(properties); }; /** * Encodes the specified NuxAction message. Does not implicitly {@link proto.SyncActionValue.NuxAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.NuxAction * @static * @param {proto.SyncActionValue.INuxAction} message NuxAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NuxAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.acknowledged != null && Object.hasOwnProperty.call(message, "acknowledged")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.acknowledged); return writer; }; /** * Encodes the specified NuxAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.NuxAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.NuxAction * @static * @param {proto.SyncActionValue.INuxAction} message NuxAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ NuxAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a NuxAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.NuxAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.NuxAction} NuxAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NuxAction.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.SyncActionValue.NuxAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.acknowledged = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a NuxAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.NuxAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.NuxAction} NuxAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ NuxAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a NuxAction message. * @function verify * @memberof proto.SyncActionValue.NuxAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ NuxAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.acknowledged != null && message.hasOwnProperty("acknowledged")) if (typeof message.acknowledged !== "boolean") return "acknowledged: boolean expected"; return null; }; /** * Creates a NuxAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.NuxAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.NuxAction} NuxAction */ NuxAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.NuxAction) return object; var message = new $root.proto.SyncActionValue.NuxAction(); if (object.acknowledged != null) message.acknowledged = Boolean(object.acknowledged); return message; }; /** * Creates a plain object from a NuxAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.NuxAction * @static * @param {proto.SyncActionValue.NuxAction} message NuxAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ NuxAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.acknowledged = false; if (message.acknowledged != null && message.hasOwnProperty("acknowledged")) object.acknowledged = message.acknowledged; return object; }; /** * Converts this NuxAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.NuxAction * @instance * @returns {Object.<string,*>} JSON object */ NuxAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return NuxAction; })(); SyncActionValue.PinAction = (function() { /** * Properties of a PinAction. * @memberof proto.SyncActionValue * @interface IPinAction * @property {boolean|null} [pinned] PinAction pinned */ /** * Constructs a new PinAction. * @memberof proto.SyncActionValue * @classdesc Represents a PinAction. * @implements IPinAction * @constructor * @param {proto.SyncActionValue.IPinAction=} [properties] Properties to set */ function PinAction(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]]; } /** * PinAction pinned. * @member {boolean} pinned * @memberof proto.SyncActionValue.PinAction * @instance */ PinAction.prototype.pinned = false; /** * Creates a new PinAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.PinAction * @static * @param {proto.SyncActionValue.IPinAction=} [properties] Properties to set * @returns {proto.SyncActionValue.PinAction} PinAction instance */ PinAction.create = function create(properties) { return new PinAction(properties); }; /** * Encodes the specified PinAction message. Does not implicitly {@link proto.SyncActionValue.PinAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.PinAction * @static * @param {proto.SyncActionValue.IPinAction} message PinAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PinAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.pinned != null && Object.hasOwnProperty.call(message, "pinned")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.pinned); return writer; }; /** * Encodes the specified PinAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.PinAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.PinAction * @static * @param {proto.SyncActionValue.IPinAction} message PinAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PinAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PinAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.PinAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.PinAction} PinAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PinAction.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.SyncActionValue.PinAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.pinned = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PinAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.PinAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.PinAction} PinAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PinAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PinAction message. * @function verify * @memberof proto.SyncActionValue.PinAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PinAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.pinned != null && message.hasOwnProperty("pinned")) if (typeof message.pinned !== "boolean") return "pinned: boolean expected"; return null; }; /** * Creates a PinAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.PinAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.PinAction} PinAction */ PinAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.PinAction) return object; var message = new $root.proto.SyncActionValue.PinAction(); if (object.pinned != null) message.pinned = Boolean(object.pinned); return message; }; /** * Creates a plain object from a PinAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.PinAction * @static * @param {proto.SyncActionValue.PinAction} message PinAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PinAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.pinned = false; if (message.pinned != null && message.hasOwnProperty("pinned")) object.pinned = message.pinned; return object; }; /** * Converts this PinAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.PinAction * @instance * @returns {Object.<string,*>} JSON object */ PinAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PinAction; })(); SyncActionValue.PnForLidChatAction = (function() { /** * Properties of a PnForLidChatAction. * @memberof proto.SyncActionValue * @interface IPnForLidChatAction * @property {string|null} [pnJid] PnForLidChatAction pnJid */ /** * Constructs a new PnForLidChatAction. * @memberof proto.SyncActionValue * @classdesc Represents a PnForLidChatAction. * @implements IPnForLidChatAction * @constructor * @param {proto.SyncActionValue.IPnForLidChatAction=} [properties] Properties to set */ function PnForLidChatAction(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]]; } /** * PnForLidChatAction pnJid. * @member {string} pnJid * @memberof proto.SyncActionValue.PnForLidChatAction * @instance */ PnForLidChatAction.prototype.pnJid = ""; /** * Creates a new PnForLidChatAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.PnForLidChatAction * @static * @param {proto.SyncActionValue.IPnForLidChatAction=} [properties] Properties to set * @returns {proto.SyncActionValue.PnForLidChatAction} PnForLidChatAction instance */ PnForLidChatAction.create = function create(properties) { return new PnForLidChatAction(properties); }; /** * Encodes the specified PnForLidChatAction message. Does not implicitly {@link proto.SyncActionValue.PnForLidChatAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.PnForLidChatAction * @static * @param {proto.SyncActionValue.IPnForLidChatAction} message PnForLidChatAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PnForLidChatAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.pnJid != null && Object.hasOwnProperty.call(message, "pnJid")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.pnJid); return writer; }; /** * Encodes the specified PnForLidChatAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.PnForLidChatAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.PnForLidChatAction * @static * @param {proto.SyncActionValue.IPnForLidChatAction} message PnForLidChatAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PnForLidChatAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PnForLidChatAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.PnForLidChatAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.PnForLidChatAction} PnForLidChatAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PnForLidChatAction.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.SyncActionValue.PnForLidChatAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.pnJid = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PnForLidChatAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.PnForLidChatAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.PnForLidChatAction} PnForLidChatAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PnForLidChatAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PnForLidChatAction message. * @function verify * @memberof proto.SyncActionValue.PnForLidChatAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PnForLidChatAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.pnJid != null && message.hasOwnProperty("pnJid")) if (!$util.isString(message.pnJid)) return "pnJid: string expected"; return null; }; /** * Creates a PnForLidChatAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.PnForLidChatAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.PnForLidChatAction} PnForLidChatAction */ PnForLidChatAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.PnForLidChatAction) return object; var message = new $root.proto.SyncActionValue.PnForLidChatAction(); if (object.pnJid != null) message.pnJid = String(object.pnJid); return message; }; /** * Creates a plain object from a PnForLidChatAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.PnForLidChatAction * @static * @param {proto.SyncActionValue.PnForLidChatAction} message PnForLidChatAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PnForLidChatAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.pnJid = ""; if (message.pnJid != null && message.hasOwnProperty("pnJid")) object.pnJid = message.pnJid; return object; }; /** * Converts this PnForLidChatAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.PnForLidChatAction * @instance * @returns {Object.<string,*>} JSON object */ PnForLidChatAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PnForLidChatAction; })(); SyncActionValue.PrimaryFeature = (function() { /** * Properties of a PrimaryFeature. * @memberof proto.SyncActionValue * @interface IPrimaryFeature * @property {Array.<string>|null} [flags] PrimaryFeature flags */ /** * Constructs a new PrimaryFeature. * @memberof proto.SyncActionValue * @classdesc Represents a PrimaryFeature. * @implements IPrimaryFeature * @constructor * @param {proto.SyncActionValue.IPrimaryFeature=} [properties] Properties to set */ function PrimaryFeature(properties) { this.flags = []; 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]]; } /** * PrimaryFeature flags. * @member {Array.<string>} flags * @memberof proto.SyncActionValue.PrimaryFeature * @instance */ PrimaryFeature.prototype.flags = $util.emptyArray; /** * Creates a new PrimaryFeature instance using the specified properties. * @function create * @memberof proto.SyncActionValue.PrimaryFeature * @static * @param {proto.SyncActionValue.IPrimaryFeature=} [properties] Properties to set * @returns {proto.SyncActionValue.PrimaryFeature} PrimaryFeature instance */ PrimaryFeature.create = function create(properties) { return new PrimaryFeature(properties); }; /** * Encodes the specified PrimaryFeature message. Does not implicitly {@link proto.SyncActionValue.PrimaryFeature.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.PrimaryFeature * @static * @param {proto.SyncActionValue.IPrimaryFeature} message PrimaryFeature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PrimaryFeature.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.flags != null && message.flags.length) for (var i = 0; i < message.flags.length; ++i) writer.uint32(/* id 1, wireType 2 =*/10).string(message.flags[i]); return writer; }; /** * Encodes the specified PrimaryFeature message, length delimited. Does not implicitly {@link proto.SyncActionValue.PrimaryFeature.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.PrimaryFeature * @static * @param {proto.SyncActionValue.IPrimaryFeature} message PrimaryFeature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PrimaryFeature.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PrimaryFeature message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.PrimaryFeature * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.PrimaryFeature} PrimaryFeature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PrimaryFeature.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.SyncActionValue.PrimaryFeature(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.flags && message.flags.length)) message.flags = []; message.flags.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PrimaryFeature message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.PrimaryFeature * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.PrimaryFeature} PrimaryFeature * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PrimaryFeature.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PrimaryFeature message. * @function verify * @memberof proto.SyncActionValue.PrimaryFeature * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PrimaryFeature.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.flags != null && message.hasOwnProperty("flags")) { if (!Array.isArray(message.flags)) return "flags: array expected"; for (var i = 0; i < message.flags.length; ++i) if (!$util.isString(message.flags[i])) return "flags: string[] expected"; } return null; }; /** * Creates a PrimaryFeature message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.PrimaryFeature * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.PrimaryFeature} PrimaryFeature */ PrimaryFeature.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.PrimaryFeature) return object; var message = new $root.proto.SyncActionValue.PrimaryFeature(); if (object.flags) { if (!Array.isArray(object.flags)) throw TypeError(".proto.SyncActionValue.PrimaryFeature.flags: array expected"); message.flags = []; for (var i = 0; i < object.flags.length; ++i) message.flags[i] = String(object.flags[i]); } return message; }; /** * Creates a plain object from a PrimaryFeature message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.PrimaryFeature * @static * @param {proto.SyncActionValue.PrimaryFeature} message PrimaryFeature * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PrimaryFeature.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.flags = []; if (message.flags && message.flags.length) { object.flags = []; for (var j = 0; j < message.flags.length; ++j) object.flags[j] = message.flags[j]; } return object; }; /** * Converts this PrimaryFeature to JSON. * @function toJSON * @memberof proto.SyncActionValue.PrimaryFeature * @instance * @returns {Object.<string,*>} JSON object */ PrimaryFeature.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PrimaryFeature; })(); SyncActionValue.PrimaryVersionAction = (function() { /** * Properties of a PrimaryVersionAction. * @memberof proto.SyncActionValue * @interface IPrimaryVersionAction * @property {string|null} [version] PrimaryVersionAction version */ /** * Constructs a new PrimaryVersionAction. * @memberof proto.SyncActionValue * @classdesc Represents a PrimaryVersionAction. * @implements IPrimaryVersionAction * @constructor * @param {proto.SyncActionValue.IPrimaryVersionAction=} [properties] Properties to set */ function PrimaryVersionAction(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]]; } /** * PrimaryVersionAction version. * @member {string} version * @memberof proto.SyncActionValue.PrimaryVersionAction * @instance */ PrimaryVersionAction.prototype.version = ""; /** * Creates a new PrimaryVersionAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.PrimaryVersionAction * @static * @param {proto.SyncActionValue.IPrimaryVersionAction=} [properties] Properties to set * @returns {proto.SyncActionValue.PrimaryVersionAction} PrimaryVersionAction instance */ PrimaryVersionAction.create = function create(properties) { return new PrimaryVersionAction(properties); }; /** * Encodes the specified PrimaryVersionAction message. Does not implicitly {@link proto.SyncActionValue.PrimaryVersionAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.PrimaryVersionAction * @static * @param {proto.SyncActionValue.IPrimaryVersionAction} message PrimaryVersionAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PrimaryVersionAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.version != null && Object.hasOwnProperty.call(message, "version")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.version); return writer; }; /** * Encodes the specified PrimaryVersionAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.PrimaryVersionAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.PrimaryVersionAction * @static * @param {proto.SyncActionValue.IPrimaryVersionAction} message PrimaryVersionAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PrimaryVersionAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PrimaryVersionAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.PrimaryVersionAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.PrimaryVersionAction} PrimaryVersionAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PrimaryVersionAction.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.SyncActionValue.PrimaryVersionAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.version = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PrimaryVersionAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.PrimaryVersionAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.PrimaryVersionAction} PrimaryVersionAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PrimaryVersionAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PrimaryVersionAction message. * @function verify * @memberof proto.SyncActionValue.PrimaryVersionAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PrimaryVersionAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; return null; }; /** * Creates a PrimaryVersionAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.PrimaryVersionAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.PrimaryVersionAction} PrimaryVersionAction */ PrimaryVersionAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.PrimaryVersionAction) return object; var message = new $root.proto.SyncActionValue.PrimaryVersionAction(); if (object.version != null) message.version = String(object.version); return message; }; /** * Creates a plain object from a PrimaryVersionAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.PrimaryVersionAction * @static * @param {proto.SyncActionValue.PrimaryVersionAction} message PrimaryVersionAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PrimaryVersionAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.version = ""; if (message.version != null && message.hasOwnProperty("version")) object.version = message.version; return object; }; /** * Converts this PrimaryVersionAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.PrimaryVersionAction * @instance * @returns {Object.<string,*>} JSON object */ PrimaryVersionAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PrimaryVersionAction; })(); SyncActionValue.PrivacySettingRelayAllCalls = (function() { /** * Properties of a PrivacySettingRelayAllCalls. * @memberof proto.SyncActionValue * @interface IPrivacySettingRelayAllCalls * @property {boolean|null} [isEnabled] PrivacySettingRelayAllCalls isEnabled */ /** * Constructs a new PrivacySettingRelayAllCalls. * @memberof proto.SyncActionValue * @classdesc Represents a PrivacySettingRelayAllCalls. * @implements IPrivacySettingRelayAllCalls * @constructor * @param {proto.SyncActionValue.IPrivacySettingRelayAllCalls=} [properties] Properties to set */ function PrivacySettingRelayAllCalls(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]]; } /** * PrivacySettingRelayAllCalls isEnabled. * @member {boolean} isEnabled * @memberof proto.SyncActionValue.PrivacySettingRelayAllCalls * @instance */ PrivacySettingRelayAllCalls.prototype.isEnabled = false; /** * Creates a new PrivacySettingRelayAllCalls instance using the specified properties. * @function create * @memberof proto.SyncActionValue.PrivacySettingRelayAllCalls * @static * @param {proto.SyncActionValue.IPrivacySettingRelayAllCalls=} [properties] Properties to set * @returns {proto.SyncActionValue.PrivacySettingRelayAllCalls} PrivacySettingRelayAllCalls instance */ PrivacySettingRelayAllCalls.create = function create(properties) { return new PrivacySettingRelayAllCalls(properties); }; /** * Encodes the specified PrivacySettingRelayAllCalls message. Does not implicitly {@link proto.SyncActionValue.PrivacySettingRelayAllCalls.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.PrivacySettingRelayAllCalls * @static * @param {proto.SyncActionValue.IPrivacySettingRelayAllCalls} message PrivacySettingRelayAllCalls message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PrivacySettingRelayAllCalls.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.isEnabled != null && Object.hasOwnProperty.call(message, "isEnabled")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.isEnabled); return writer; }; /** * Encodes the specified PrivacySettingRelayAllCalls message, length delimited. Does not implicitly {@link proto.SyncActionValue.PrivacySettingRelayAllCalls.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.PrivacySettingRelayAllCalls * @static * @param {proto.SyncActionValue.IPrivacySettingRelayAllCalls} message PrivacySettingRelayAllCalls message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PrivacySettingRelayAllCalls.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PrivacySettingRelayAllCalls message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.PrivacySettingRelayAllCalls * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.PrivacySettingRelayAllCalls} PrivacySettingRelayAllCalls * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PrivacySettingRelayAllCalls.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.SyncActionValue.PrivacySettingRelayAllCalls(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.isEnabled = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PrivacySettingRelayAllCalls message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.PrivacySettingRelayAllCalls * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.PrivacySettingRelayAllCalls} PrivacySettingRelayAllCalls * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PrivacySettingRelayAllCalls.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PrivacySettingRelayAllCalls message. * @function verify * @memberof proto.SyncActionValue.PrivacySettingRelayAllCalls * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PrivacySettingRelayAllCalls.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.isEnabled != null && message.hasOwnProperty("isEnabled")) if (typeof message.isEnabled !== "boolean") return "isEnabled: boolean expected"; return null; }; /** * Creates a PrivacySettingRelayAllCalls message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.PrivacySettingRelayAllCalls * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.PrivacySettingRelayAllCalls} PrivacySettingRelayAllCalls */ PrivacySettingRelayAllCalls.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.PrivacySettingRelayAllCalls) return object; var message = new $root.proto.SyncActionValue.PrivacySettingRelayAllCalls(); if (object.isEnabled != null) message.isEnabled = Boolean(object.isEnabled); return message; }; /** * Creates a plain object from a PrivacySettingRelayAllCalls message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.PrivacySettingRelayAllCalls * @static * @param {proto.SyncActionValue.PrivacySettingRelayAllCalls} message PrivacySettingRelayAllCalls * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PrivacySettingRelayAllCalls.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.isEnabled = false; if (message.isEnabled != null && message.hasOwnProperty("isEnabled")) object.isEnabled = message.isEnabled; return object; }; /** * Converts this PrivacySettingRelayAllCalls to JSON. * @function toJSON * @memberof proto.SyncActionValue.PrivacySettingRelayAllCalls * @instance * @returns {Object.<string,*>} JSON object */ PrivacySettingRelayAllCalls.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PrivacySettingRelayAllCalls; })(); SyncActionValue.PushNameSetting = (function() { /** * Properties of a PushNameSetting. * @memberof proto.SyncActionValue * @interface IPushNameSetting * @property {string|null} [name] PushNameSetting name */ /** * Constructs a new PushNameSetting. * @memberof proto.SyncActionValue * @classdesc Represents a PushNameSetting. * @implements IPushNameSetting * @constructor * @param {proto.SyncActionValue.IPushNameSetting=} [properties] Properties to set */ function PushNameSetting(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]]; } /** * PushNameSetting name. * @member {string} name * @memberof proto.SyncActionValue.PushNameSetting * @instance */ PushNameSetting.prototype.name = ""; /** * Creates a new PushNameSetting instance using the specified properties. * @function create * @memberof proto.SyncActionValue.PushNameSetting * @static * @param {proto.SyncActionValue.IPushNameSetting=} [properties] Properties to set * @returns {proto.SyncActionValue.PushNameSetting} PushNameSetting instance */ PushNameSetting.create = function create(properties) { return new PushNameSetting(properties); }; /** * Encodes the specified PushNameSetting message. Does not implicitly {@link proto.SyncActionValue.PushNameSetting.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.PushNameSetting * @static * @param {proto.SyncActionValue.IPushNameSetting} message PushNameSetting message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PushNameSetting.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.name != null && Object.hasOwnProperty.call(message, "name")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); return writer; }; /** * Encodes the specified PushNameSetting message, length delimited. Does not implicitly {@link proto.SyncActionValue.PushNameSetting.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.PushNameSetting * @static * @param {proto.SyncActionValue.IPushNameSetting} message PushNameSetting message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ PushNameSetting.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a PushNameSetting message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.PushNameSetting * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.PushNameSetting} PushNameSetting * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PushNameSetting.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.SyncActionValue.PushNameSetting(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.name = reader.string(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a PushNameSetting message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.PushNameSetting * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.PushNameSetting} PushNameSetting * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ PushNameSetting.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a PushNameSetting message. * @function verify * @memberof proto.SyncActionValue.PushNameSetting * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ PushNameSetting.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; return null; }; /** * Creates a PushNameSetting message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.PushNameSetting * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.PushNameSetting} PushNameSetting */ PushNameSetting.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.PushNameSetting) return object; var message = new $root.proto.SyncActionValue.PushNameSetting(); if (object.name != null) message.name = String(object.name); return message; }; /** * Creates a plain object from a PushNameSetting message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.PushNameSetting * @static * @param {proto.SyncActionValue.PushNameSetting} message PushNameSetting * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ PushNameSetting.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.name = ""; if (message.name != null && message.hasOwnProperty("name")) object.name = message.name; return object; }; /** * Converts this PushNameSetting to JSON. * @function toJSON * @memberof proto.SyncActionValue.PushNameSetting * @instance * @returns {Object.<string,*>} JSON object */ PushNameSetting.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return PushNameSetting; })(); SyncActionValue.QuickReplyAction = (function() { /** * Properties of a QuickReplyAction. * @memberof proto.SyncActionValue * @interface IQuickReplyAction * @property {string|null} [shortcut] QuickReplyAction shortcut * @property {string|null} [message] QuickReplyAction message * @property {Array.<string>|null} [keywords] QuickReplyAction keywords * @property {number|null} [count] QuickReplyAction count * @property {boolean|null} [deleted] QuickReplyAction deleted */ /** * Constructs a new QuickReplyAction. * @memberof proto.SyncActionValue * @classdesc Represents a QuickReplyAction. * @implements IQuickReplyAction * @constructor * @param {proto.SyncActionValue.IQuickReplyAction=} [properties] Properties to set */ function QuickReplyAction(properties) { this.keywords = []; 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]]; } /** * QuickReplyAction shortcut. * @member {string} shortcut * @memberof proto.SyncActionValue.QuickReplyAction * @instance */ QuickReplyAction.prototype.shortcut = ""; /** * QuickReplyAction message. * @member {string} message * @memberof proto.SyncActionValue.QuickReplyAction * @instance */ QuickReplyAction.prototype.message = ""; /** * QuickReplyAction keywords. * @member {Array.<string>} keywords * @memberof proto.SyncActionValue.QuickReplyAction * @instance */ QuickReplyAction.prototype.keywords = $util.emptyArray; /** * QuickReplyAction count. * @member {number} count * @memberof proto.SyncActionValue.QuickReplyAction * @instance */ QuickReplyAction.prototype.count = 0; /** * QuickReplyAction deleted. * @member {boolean} deleted * @memberof proto.SyncActionValue.QuickReplyAction * @instance */ QuickReplyAction.prototype.deleted = false; /** * Creates a new QuickReplyAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.QuickReplyAction * @static * @param {proto.SyncActionValue.IQuickReplyAction=} [properties] Properties to set * @returns {proto.SyncActionValue.QuickReplyAction} QuickReplyAction instance */ QuickReplyAction.create = function create(properties) { return new QuickReplyAction(properties); }; /** * Encodes the specified QuickReplyAction message. Does not implicitly {@link proto.SyncActionValue.QuickReplyAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.QuickReplyAction * @static * @param {proto.SyncActionValue.IQuickReplyAction} message QuickReplyAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ QuickReplyAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.shortcut != null && Object.hasOwnProperty.call(message, "shortcut")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.shortcut); if (message.message != null && Object.hasOwnProperty.call(message, "message")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.message); if (message.keywords != null && message.keywords.length) for (var i = 0; i < message.keywords.length; ++i) writer.uint32(/* id 3, wireType 2 =*/26).string(message.keywords[i]); if (message.count != null && Object.hasOwnProperty.call(message, "count")) writer.uint32(/* id 4, wireType 0 =*/32).int32(message.count); if (message.deleted != null && Object.hasOwnProperty.call(message, "deleted")) writer.uint32(/* id 5, wireType 0 =*/40).bool(message.deleted); return writer; }; /** * Encodes the specified QuickReplyAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.QuickReplyAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.QuickReplyAction * @static * @param {proto.SyncActionValue.IQuickReplyAction} message QuickReplyAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ QuickReplyAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a QuickReplyAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.QuickReplyAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.QuickReplyAction} QuickReplyAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ QuickReplyAction.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.SyncActionValue.QuickReplyAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.shortcut = reader.string(); break; case 2: message.message = reader.string(); break; case 3: if (!(message.keywords && message.keywords.length)) message.keywords = []; message.keywords.push(reader.string()); break; case 4: message.count = reader.int32(); break; case 5: message.deleted = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a QuickReplyAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.QuickReplyAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.QuickReplyAction} QuickReplyAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ QuickReplyAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a QuickReplyAction message. * @function verify * @memberof proto.SyncActionValue.QuickReplyAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ QuickReplyAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.shortcut != null && message.hasOwnProperty("shortcut")) if (!$util.isString(message.shortcut)) return "shortcut: string expected"; if (message.message != null && message.hasOwnProperty("message")) if (!$util.isString(message.message)) return "message: string expected"; if (message.keywords != null && message.hasOwnProperty("keywords")) { if (!Array.isArray(message.keywords)) return "keywords: array expected"; for (var i = 0; i < message.keywords.length; ++i) if (!$util.isString(message.keywords[i])) return "keywords: string[] expected"; } if (message.count != null && message.hasOwnProperty("count")) if (!$util.isInteger(message.count)) return "count: integer expected"; if (message.deleted != null && message.hasOwnProperty("deleted")) if (typeof message.deleted !== "boolean") return "deleted: boolean expected"; return null; }; /** * Creates a QuickReplyAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.QuickReplyAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.QuickReplyAction} QuickReplyAction */ QuickReplyAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.QuickReplyAction) return object; var message = new $root.proto.SyncActionValue.QuickReplyAction(); if (object.shortcut != null) message.shortcut = String(object.shortcut); if (object.message != null) message.message = String(object.message); if (object.keywords) { if (!Array.isArray(object.keywords)) throw TypeError(".proto.SyncActionValue.QuickReplyAction.keywords: array expected"); message.keywords = []; for (var i = 0; i < object.keywords.length; ++i) message.keywords[i] = String(object.keywords[i]); } if (object.count != null) message.count = object.count | 0; if (object.deleted != null) message.deleted = Boolean(object.deleted); return message; }; /** * Creates a plain object from a QuickReplyAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.QuickReplyAction * @static * @param {proto.SyncActionValue.QuickReplyAction} message QuickReplyAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ QuickReplyAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.keywords = []; if (options.defaults) { object.shortcut = ""; object.message = ""; object.count = 0; object.deleted = false; } if (message.shortcut != null && message.hasOwnProperty("shortcut")) object.shortcut = message.shortcut; if (message.message != null && message.hasOwnProperty("message")) object.message = message.message; if (message.keywords && message.keywords.length) { object.keywords = []; for (var j = 0; j < message.keywords.length; ++j) object.keywords[j] = message.keywords[j]; } if (message.count != null && message.hasOwnProperty("count")) object.count = message.count; if (message.deleted != null && message.hasOwnProperty("deleted")) object.deleted = message.deleted; return object; }; /** * Converts this QuickReplyAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.QuickReplyAction * @instance * @returns {Object.<string,*>} JSON object */ QuickReplyAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return QuickReplyAction; })(); SyncActionValue.RecentEmojiWeightsAction = (function() { /** * Properties of a RecentEmojiWeightsAction. * @memberof proto.SyncActionValue * @interface IRecentEmojiWeightsAction * @property {Array.<proto.IRecentEmojiWeight>|null} [weights] RecentEmojiWeightsAction weights */ /** * Constructs a new RecentEmojiWeightsAction. * @memberof proto.SyncActionValue * @classdesc Represents a RecentEmojiWeightsAction. * @implements IRecentEmojiWeightsAction * @constructor * @param {proto.SyncActionValue.IRecentEmojiWeightsAction=} [properties] Properties to set */ function RecentEmojiWeightsAction(properties) { this.weights = []; 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]]; } /** * RecentEmojiWeightsAction weights. * @member {Array.<proto.IRecentEmojiWeight>} weights * @memberof proto.SyncActionValue.RecentEmojiWeightsAction * @instance */ RecentEmojiWeightsAction.prototype.weights = $util.emptyArray; /** * Creates a new RecentEmojiWeightsAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.RecentEmojiWeightsAction * @static * @param {proto.SyncActionValue.IRecentEmojiWeightsAction=} [properties] Properties to set * @returns {proto.SyncActionValue.RecentEmojiWeightsAction} RecentEmojiWeightsAction instance */ RecentEmojiWeightsAction.create = function create(properties) { return new RecentEmojiWeightsAction(properties); }; /** * Encodes the specified RecentEmojiWeightsAction message. Does not implicitly {@link proto.SyncActionValue.RecentEmojiWeightsAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.RecentEmojiWeightsAction * @static * @param {proto.SyncActionValue.IRecentEmojiWeightsAction} message RecentEmojiWeightsAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RecentEmojiWeightsAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.weights != null && message.weights.length) for (var i = 0; i < message.weights.length; ++i) $root.proto.RecentEmojiWeight.encode(message.weights[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified RecentEmojiWeightsAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.RecentEmojiWeightsAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.RecentEmojiWeightsAction * @static * @param {proto.SyncActionValue.IRecentEmojiWeightsAction} message RecentEmojiWeightsAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RecentEmojiWeightsAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a RecentEmojiWeightsAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.RecentEmojiWeightsAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.RecentEmojiWeightsAction} RecentEmojiWeightsAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RecentEmojiWeightsAction.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.SyncActionValue.RecentEmojiWeightsAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.weights && message.weights.length)) message.weights = []; message.weights.push($root.proto.RecentEmojiWeight.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a RecentEmojiWeightsAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.RecentEmojiWeightsAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.RecentEmojiWeightsAction} RecentEmojiWeightsAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RecentEmojiWeightsAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a RecentEmojiWeightsAction message. * @function verify * @memberof proto.SyncActionValue.RecentEmojiWeightsAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ RecentEmojiWeightsAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.weights != null && message.hasOwnProperty("weights")) { if (!Array.isArray(message.weights)) return "weights: array expected"; for (var i = 0; i < message.weights.length; ++i) { var error = $root.proto.RecentEmojiWeight.verify(message.weights[i]); if (error) return "weights." + error; } } return null; }; /** * Creates a RecentEmojiWeightsAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.RecentEmojiWeightsAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.RecentEmojiWeightsAction} RecentEmojiWeightsAction */ RecentEmojiWeightsAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.RecentEmojiWeightsAction) return object; var message = new $root.proto.SyncActionValue.RecentEmojiWeightsAction(); if (object.weights) { if (!Array.isArray(object.weights)) throw TypeError(".proto.SyncActionValue.RecentEmojiWeightsAction.weights: array expected"); message.weights = []; for (var i = 0; i < object.weights.length; ++i) { if (typeof object.weights[i] !== "object") throw TypeError(".proto.SyncActionValue.RecentEmojiWeightsAction.weights: object expected"); message.weights[i] = $root.proto.RecentEmojiWeight.fromObject(object.weights[i]); } } return message; }; /** * Creates a plain object from a RecentEmojiWeightsAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.RecentEmojiWeightsAction * @static * @param {proto.SyncActionValue.RecentEmojiWeightsAction} message RecentEmojiWeightsAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ RecentEmojiWeightsAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.weights = []; if (message.weights && message.weights.length) { object.weights = []; for (var j = 0; j < message.weights.length; ++j) object.weights[j] = $root.proto.RecentEmojiWeight.toObject(message.weights[j], options); } return object; }; /** * Converts this RecentEmojiWeightsAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.RecentEmojiWeightsAction * @instance * @returns {Object.<string,*>} JSON object */ RecentEmojiWeightsAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return RecentEmojiWeightsAction; })(); SyncActionValue.RemoveRecentStickerAction = (function() { /** * Properties of a RemoveRecentStickerAction. * @memberof proto.SyncActionValue * @interface IRemoveRecentStickerAction * @property {number|Long|null} [lastStickerSentTs] RemoveRecentStickerAction lastStickerSentTs */ /** * Constructs a new RemoveRecentStickerAction. * @memberof proto.SyncActionValue * @classdesc Represents a RemoveRecentStickerAction. * @implements IRemoveRecentStickerAction * @constructor * @param {proto.SyncActionValue.IRemoveRecentStickerAction=} [properties] Properties to set */ function RemoveRecentStickerAction(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]]; } /** * RemoveRecentStickerAction lastStickerSentTs. * @member {number|Long} lastStickerSentTs * @memberof proto.SyncActionValue.RemoveRecentStickerAction * @instance */ RemoveRecentStickerAction.prototype.lastStickerSentTs = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new RemoveRecentStickerAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.RemoveRecentStickerAction * @static * @param {proto.SyncActionValue.IRemoveRecentStickerAction=} [properties] Properties to set * @returns {proto.SyncActionValue.RemoveRecentStickerAction} RemoveRecentStickerAction instance */ RemoveRecentStickerAction.create = function create(properties) { return new RemoveRecentStickerAction(properties); }; /** * Encodes the specified RemoveRecentStickerAction message. Does not implicitly {@link proto.SyncActionValue.RemoveRecentStickerAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.RemoveRecentStickerAction * @static * @param {proto.SyncActionValue.IRemoveRecentStickerAction} message RemoveRecentStickerAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RemoveRecentStickerAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.lastStickerSentTs != null && Object.hasOwnProperty.call(message, "lastStickerSentTs")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.lastStickerSentTs); return writer; }; /** * Encodes the specified RemoveRecentStickerAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.RemoveRecentStickerAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.RemoveRecentStickerAction * @static * @param {proto.SyncActionValue.IRemoveRecentStickerAction} message RemoveRecentStickerAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ RemoveRecentStickerAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a RemoveRecentStickerAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.RemoveRecentStickerAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.RemoveRecentStickerAction} RemoveRecentStickerAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RemoveRecentStickerAction.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.SyncActionValue.RemoveRecentStickerAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.lastStickerSentTs = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a RemoveRecentStickerAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.RemoveRecentStickerAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.RemoveRecentStickerAction} RemoveRecentStickerAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ RemoveRecentStickerAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a RemoveRecentStickerAction message. * @function verify * @memberof proto.SyncActionValue.RemoveRecentStickerAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ RemoveRecentStickerAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.lastStickerSentTs != null && message.hasOwnProperty("lastStickerSentTs")) if (!$util.isInteger(message.lastStickerSentTs) && !(message.lastStickerSentTs && $util.isInteger(message.lastStickerSentTs.low) && $util.isInteger(message.lastStickerSentTs.high))) return "lastStickerSentTs: integer|Long expected"; return null; }; /** * Creates a RemoveRecentStickerAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.RemoveRecentStickerAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.RemoveRecentStickerAction} RemoveRecentStickerAction */ RemoveRecentStickerAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.RemoveRecentStickerAction) return object; var message = new $root.proto.SyncActionValue.RemoveRecentStickerAction(); if (object.lastStickerSentTs != null) if ($util.Long) (message.lastStickerSentTs = $util.Long.fromValue(object.lastStickerSentTs)).unsigned = false; else if (typeof object.lastStickerSentTs === "string") message.lastStickerSentTs = parseInt(object.lastStickerSentTs, 10); else if (typeof object.lastStickerSentTs === "number") message.lastStickerSentTs = object.lastStickerSentTs; else if (typeof object.lastStickerSentTs === "object") message.lastStickerSentTs = new $util.LongBits(object.lastStickerSentTs.low >>> 0, object.lastStickerSentTs.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a RemoveRecentStickerAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.RemoveRecentStickerAction * @static * @param {proto.SyncActionValue.RemoveRecentStickerAction} message RemoveRecentStickerAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ RemoveRecentStickerAction.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.lastStickerSentTs = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.lastStickerSentTs = options.longs === String ? "0" : 0; if (message.lastStickerSentTs != null && message.hasOwnProperty("lastStickerSentTs")) if (typeof message.lastStickerSentTs === "number") object.lastStickerSentTs = options.longs === String ? String(message.lastStickerSentTs) : message.lastStickerSentTs; else object.lastStickerSentTs = options.longs === String ? $util.Long.prototype.toString.call(message.lastStickerSentTs) : options.longs === Number ? new $util.LongBits(message.lastStickerSentTs.low >>> 0, message.lastStickerSentTs.high >>> 0).toNumber() : message.lastStickerSentTs; return object; }; /** * Converts this RemoveRecentStickerAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.RemoveRecentStickerAction * @instance * @returns {Object.<string,*>} JSON object */ RemoveRecentStickerAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return RemoveRecentStickerAction; })(); SyncActionValue.SecurityNotificationSetting = (function() { /** * Properties of a SecurityNotificationSetting. * @memberof proto.SyncActionValue * @interface ISecurityNotificationSetting * @property {boolean|null} [showNotification] SecurityNotificationSetting showNotification */ /** * Constructs a new SecurityNotificationSetting. * @memberof proto.SyncActionValue * @classdesc Represents a SecurityNotificationSetting. * @implements ISecurityNotificationSetting * @constructor * @param {proto.SyncActionValue.ISecurityNotificationSetting=} [properties] Properties to set */ function SecurityNotificationSetting(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]]; } /** * SecurityNotificationSetting showNotification. * @member {boolean} showNotification * @memberof proto.SyncActionValue.SecurityNotificationSetting * @instance */ SecurityNotificationSetting.prototype.showNotification = false; /** * Creates a new SecurityNotificationSetting instance using the specified properties. * @function create * @memberof proto.SyncActionValue.SecurityNotificationSetting * @static * @param {proto.SyncActionValue.ISecurityNotificationSetting=} [properties] Properties to set * @returns {proto.SyncActionValue.SecurityNotificationSetting} SecurityNotificationSetting instance */ SecurityNotificationSetting.create = function create(properties) { return new SecurityNotificationSetting(properties); }; /** * Encodes the specified SecurityNotificationSetting message. Does not implicitly {@link proto.SyncActionValue.SecurityNotificationSetting.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.SecurityNotificationSetting * @static * @param {proto.SyncActionValue.ISecurityNotificationSetting} message SecurityNotificationSetting message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SecurityNotificationSetting.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.showNotification != null && Object.hasOwnProperty.call(message, "showNotification")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.showNotification); return writer; }; /** * Encodes the specified SecurityNotificationSetting message, length delimited. Does not implicitly {@link proto.SyncActionValue.SecurityNotificationSetting.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.SecurityNotificationSetting * @static * @param {proto.SyncActionValue.ISecurityNotificationSetting} message SecurityNotificationSetting message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SecurityNotificationSetting.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SecurityNotificationSetting message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.SecurityNotificationSetting * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.SecurityNotificationSetting} SecurityNotificationSetting * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SecurityNotificationSetting.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.SyncActionValue.SecurityNotificationSetting(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.showNotification = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SecurityNotificationSetting message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.SecurityNotificationSetting * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.SecurityNotificationSetting} SecurityNotificationSetting * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SecurityNotificationSetting.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SecurityNotificationSetting message. * @function verify * @memberof proto.SyncActionValue.SecurityNotificationSetting * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SecurityNotificationSetting.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.showNotification != null && message.hasOwnProperty("showNotification")) if (typeof message.showNotification !== "boolean") return "showNotification: boolean expected"; return null; }; /** * Creates a SecurityNotificationSetting message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.SecurityNotificationSetting * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.SecurityNotificationSetting} SecurityNotificationSetting */ SecurityNotificationSetting.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.SecurityNotificationSetting) return object; var message = new $root.proto.SyncActionValue.SecurityNotificationSetting(); if (object.showNotification != null) message.showNotification = Boolean(object.showNotification); return message; }; /** * Creates a plain object from a SecurityNotificationSetting message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.SecurityNotificationSetting * @static * @param {proto.SyncActionValue.SecurityNotificationSetting} message SecurityNotificationSetting * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SecurityNotificationSetting.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.showNotification = false; if (message.showNotification != null && message.hasOwnProperty("showNotification")) object.showNotification = message.showNotification; return object; }; /** * Converts this SecurityNotificationSetting to JSON. * @function toJSON * @memberof proto.SyncActionValue.SecurityNotificationSetting * @instance * @returns {Object.<string,*>} JSON object */ SecurityNotificationSetting.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SecurityNotificationSetting; })(); SyncActionValue.StarAction = (function() { /** * Properties of a StarAction. * @memberof proto.SyncActionValue * @interface IStarAction * @property {boolean|null} [starred] StarAction starred */ /** * Constructs a new StarAction. * @memberof proto.SyncActionValue * @classdesc Represents a StarAction. * @implements IStarAction * @constructor * @param {proto.SyncActionValue.IStarAction=} [properties] Properties to set */ function StarAction(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]]; } /** * StarAction starred. * @member {boolean} starred * @memberof proto.SyncActionValue.StarAction * @instance */ StarAction.prototype.starred = false; /** * Creates a new StarAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.StarAction * @static * @param {proto.SyncActionValue.IStarAction=} [properties] Properties to set * @returns {proto.SyncActionValue.StarAction} StarAction instance */ StarAction.create = function create(properties) { return new StarAction(properties); }; /** * Encodes the specified StarAction message. Does not implicitly {@link proto.SyncActionValue.StarAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.StarAction * @static * @param {proto.SyncActionValue.IStarAction} message StarAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StarAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.starred != null && Object.hasOwnProperty.call(message, "starred")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.starred); return writer; }; /** * Encodes the specified StarAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.StarAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.StarAction * @static * @param {proto.SyncActionValue.IStarAction} message StarAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StarAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a StarAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.StarAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.StarAction} StarAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StarAction.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.SyncActionValue.StarAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.starred = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a StarAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.StarAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.StarAction} StarAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StarAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a StarAction message. * @function verify * @memberof proto.SyncActionValue.StarAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ StarAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.starred != null && message.hasOwnProperty("starred")) if (typeof message.starred !== "boolean") return "starred: boolean expected"; return null; }; /** * Creates a StarAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.StarAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.StarAction} StarAction */ StarAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.StarAction) return object; var message = new $root.proto.SyncActionValue.StarAction(); if (object.starred != null) message.starred = Boolean(object.starred); return message; }; /** * Creates a plain object from a StarAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.StarAction * @static * @param {proto.SyncActionValue.StarAction} message StarAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ StarAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.starred = false; if (message.starred != null && message.hasOwnProperty("starred")) object.starred = message.starred; return object; }; /** * Converts this StarAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.StarAction * @instance * @returns {Object.<string,*>} JSON object */ StarAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return StarAction; })(); SyncActionValue.StickerAction = (function() { /** * Properties of a StickerAction. * @memberof proto.SyncActionValue * @interface IStickerAction * @property {string|null} [url] StickerAction url * @property {Uint8Array|null} [fileEncSha256] StickerAction fileEncSha256 * @property {Uint8Array|null} [mediaKey] StickerAction mediaKey * @property {string|null} [mimetype] StickerAction mimetype * @property {number|null} [height] StickerAction height * @property {number|null} [width] StickerAction width * @property {string|null} [directPath] StickerAction directPath * @property {number|Long|null} [fileLength] StickerAction fileLength * @property {boolean|null} [isFavorite] StickerAction isFavorite * @property {number|null} [deviceIdHint] StickerAction deviceIdHint */ /** * Constructs a new StickerAction. * @memberof proto.SyncActionValue * @classdesc Represents a StickerAction. * @implements IStickerAction * @constructor * @param {proto.SyncActionValue.IStickerAction=} [properties] Properties to set */ function StickerAction(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]]; } /** * StickerAction url. * @member {string} url * @memberof proto.SyncActionValue.StickerAction * @instance */ StickerAction.prototype.url = ""; /** * StickerAction fileEncSha256. * @member {Uint8Array} fileEncSha256 * @memberof proto.SyncActionValue.StickerAction * @instance */ StickerAction.prototype.fileEncSha256 = $util.newBuffer([]); /** * StickerAction mediaKey. * @member {Uint8Array} mediaKey * @memberof proto.SyncActionValue.StickerAction * @instance */ StickerAction.prototype.mediaKey = $util.newBuffer([]); /** * StickerAction mimetype. * @member {string} mimetype * @memberof proto.SyncActionValue.StickerAction * @instance */ StickerAction.prototype.mimetype = ""; /** * StickerAction height. * @member {number} height * @memberof proto.SyncActionValue.StickerAction * @instance */ StickerAction.prototype.height = 0; /** * StickerAction width. * @member {number} width * @memberof proto.SyncActionValue.StickerAction * @instance */ StickerAction.prototype.width = 0; /** * StickerAction directPath. * @member {string} directPath * @memberof proto.SyncActionValue.StickerAction * @instance */ StickerAction.prototype.directPath = ""; /** * StickerAction fileLength. * @member {number|Long} fileLength * @memberof proto.SyncActionValue.StickerAction * @instance */ StickerAction.prototype.fileLength = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * StickerAction isFavorite. * @member {boolean} isFavorite * @memberof proto.SyncActionValue.StickerAction * @instance */ StickerAction.prototype.isFavorite = false; /** * StickerAction deviceIdHint. * @member {number} deviceIdHint * @memberof proto.SyncActionValue.StickerAction * @instance */ StickerAction.prototype.deviceIdHint = 0; /** * Creates a new StickerAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.StickerAction * @static * @param {proto.SyncActionValue.IStickerAction=} [properties] Properties to set * @returns {proto.SyncActionValue.StickerAction} StickerAction instance */ StickerAction.create = function create(properties) { return new StickerAction(properties); }; /** * Encodes the specified StickerAction message. Does not implicitly {@link proto.SyncActionValue.StickerAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.StickerAction * @static * @param {proto.SyncActionValue.IStickerAction} message StickerAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StickerAction.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.fileEncSha256 != null && Object.hasOwnProperty.call(message, "fileEncSha256")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.fileEncSha256); if (message.mediaKey != null && Object.hasOwnProperty.call(message, "mediaKey")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.mediaKey); if (message.mimetype != null && Object.hasOwnProperty.call(message, "mimetype")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.mimetype); if (message.height != null && Object.hasOwnProperty.call(message, "height")) writer.uint32(/* id 5, wireType 0 =*/40).uint32(message.height); if (message.width != null && Object.hasOwnProperty.call(message, "width")) writer.uint32(/* id 6, wireType 0 =*/48).uint32(message.width); if (message.directPath != null && Object.hasOwnProperty.call(message, "directPath")) writer.uint32(/* id 7, wireType 2 =*/58).string(message.directPath); if (message.fileLength != null && Object.hasOwnProperty.call(message, "fileLength")) writer.uint32(/* id 8, wireType 0 =*/64).uint64(message.fileLength); if (message.isFavorite != null && Object.hasOwnProperty.call(message, "isFavorite")) writer.uint32(/* id 9, wireType 0 =*/72).bool(message.isFavorite); if (message.deviceIdHint != null && Object.hasOwnProperty.call(message, "deviceIdHint")) writer.uint32(/* id 10, wireType 0 =*/80).uint32(message.deviceIdHint); return writer; }; /** * Encodes the specified StickerAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.StickerAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.StickerAction * @static * @param {proto.SyncActionValue.IStickerAction} message StickerAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ StickerAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a StickerAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.StickerAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.StickerAction} StickerAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StickerAction.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.SyncActionValue.StickerAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.url = reader.string(); break; case 2: message.fileEncSha256 = reader.bytes(); break; case 3: message.mediaKey = reader.bytes(); break; case 4: message.mimetype = reader.string(); break; case 5: message.height = reader.uint32(); break; case 6: message.width = reader.uint32(); break; case 7: message.directPath = reader.string(); break; case 8: message.fileLength = reader.uint64(); break; case 9: message.isFavorite = reader.bool(); break; case 10: message.deviceIdHint = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a StickerAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.StickerAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.StickerAction} StickerAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ StickerAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a StickerAction message. * @function verify * @memberof proto.SyncActionValue.StickerAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ StickerAction.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.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.isFavorite != null && message.hasOwnProperty("isFavorite")) if (typeof message.isFavorite !== "boolean") return "isFavorite: boolean expected"; if (message.deviceIdHint != null && message.hasOwnProperty("deviceIdHint")) if (!$util.isInteger(message.deviceIdHint)) return "deviceIdHint: integer expected"; return null; }; /** * Creates a StickerAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.StickerAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.StickerAction} StickerAction */ StickerAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.StickerAction) return object; var message = new $root.proto.SyncActionValue.StickerAction(); if (object.url != null) message.url = String(object.url); 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.isFavorite != null) message.isFavorite = Boolean(object.isFavorite); if (object.deviceIdHint != null) message.deviceIdHint = object.deviceIdHint >>> 0; return message; }; /** * Creates a plain object from a StickerAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.StickerAction * @static * @param {proto.SyncActionValue.StickerAction} message StickerAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ StickerAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.url = ""; 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; object.isFavorite = false; object.deviceIdHint = 0; } if (message.url != null && message.hasOwnProperty("url")) object.url = message.url; 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.isFavorite != null && message.hasOwnProperty("isFavorite")) object.isFavorite = message.isFavorite; if (message.deviceIdHint != null && message.hasOwnProperty("deviceIdHint")) object.deviceIdHint = message.deviceIdHint; return object; }; /** * Converts this StickerAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.StickerAction * @instance * @returns {Object.<string,*>} JSON object */ StickerAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return StickerAction; })(); SyncActionValue.SubscriptionAction = (function() { /** * Properties of a SubscriptionAction. * @memberof proto.SyncActionValue * @interface ISubscriptionAction * @property {boolean|null} [isDeactivated] SubscriptionAction isDeactivated * @property {boolean|null} [isAutoRenewing] SubscriptionAction isAutoRenewing * @property {number|Long|null} [expirationDate] SubscriptionAction expirationDate */ /** * Constructs a new SubscriptionAction. * @memberof proto.SyncActionValue * @classdesc Represents a SubscriptionAction. * @implements ISubscriptionAction * @constructor * @param {proto.SyncActionValue.ISubscriptionAction=} [properties] Properties to set */ function SubscriptionAction(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]]; } /** * SubscriptionAction isDeactivated. * @member {boolean} isDeactivated * @memberof proto.SyncActionValue.SubscriptionAction * @instance */ SubscriptionAction.prototype.isDeactivated = false; /** * SubscriptionAction isAutoRenewing. * @member {boolean} isAutoRenewing * @memberof proto.SyncActionValue.SubscriptionAction * @instance */ SubscriptionAction.prototype.isAutoRenewing = false; /** * SubscriptionAction expirationDate. * @member {number|Long} expirationDate * @memberof proto.SyncActionValue.SubscriptionAction * @instance */ SubscriptionAction.prototype.expirationDate = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new SubscriptionAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.SubscriptionAction * @static * @param {proto.SyncActionValue.ISubscriptionAction=} [properties] Properties to set * @returns {proto.SyncActionValue.SubscriptionAction} SubscriptionAction instance */ SubscriptionAction.create = function create(properties) { return new SubscriptionAction(properties); }; /** * Encodes the specified SubscriptionAction message. Does not implicitly {@link proto.SyncActionValue.SubscriptionAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.SubscriptionAction * @static * @param {proto.SyncActionValue.ISubscriptionAction} message SubscriptionAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SubscriptionAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.isDeactivated != null && Object.hasOwnProperty.call(message, "isDeactivated")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.isDeactivated); if (message.isAutoRenewing != null && Object.hasOwnProperty.call(message, "isAutoRenewing")) writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isAutoRenewing); if (message.expirationDate != null && Object.hasOwnProperty.call(message, "expirationDate")) writer.uint32(/* id 3, wireType 0 =*/24).int64(message.expirationDate); return writer; }; /** * Encodes the specified SubscriptionAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.SubscriptionAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.SubscriptionAction * @static * @param {proto.SyncActionValue.ISubscriptionAction} message SubscriptionAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SubscriptionAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SubscriptionAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.SubscriptionAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.SubscriptionAction} SubscriptionAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SubscriptionAction.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.SyncActionValue.SubscriptionAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.isDeactivated = reader.bool(); break; case 2: message.isAutoRenewing = reader.bool(); break; case 3: message.expirationDate = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SubscriptionAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.SubscriptionAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.SubscriptionAction} SubscriptionAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SubscriptionAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SubscriptionAction message. * @function verify * @memberof proto.SyncActionValue.SubscriptionAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SubscriptionAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.isDeactivated != null && message.hasOwnProperty("isDeactivated")) if (typeof message.isDeactivated !== "boolean") return "isDeactivated: boolean expected"; if (message.isAutoRenewing != null && message.hasOwnProperty("isAutoRenewing")) if (typeof message.isAutoRenewing !== "boolean") return "isAutoRenewing: boolean expected"; if (message.expirationDate != null && message.hasOwnProperty("expirationDate")) if (!$util.isInteger(message.expirationDate) && !(message.expirationDate && $util.isInteger(message.expirationDate.low) && $util.isInteger(message.expirationDate.high))) return "expirationDate: integer|Long expected"; return null; }; /** * Creates a SubscriptionAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.SubscriptionAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.SubscriptionAction} SubscriptionAction */ SubscriptionAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.SubscriptionAction) return object; var message = new $root.proto.SyncActionValue.SubscriptionAction(); if (object.isDeactivated != null) message.isDeactivated = Boolean(object.isDeactivated); if (object.isAutoRenewing != null) message.isAutoRenewing = Boolean(object.isAutoRenewing); if (object.expirationDate != null) if ($util.Long) (message.expirationDate = $util.Long.fromValue(object.expirationDate)).unsigned = false; else if (typeof object.expirationDate === "string") message.expirationDate = parseInt(object.expirationDate, 10); else if (typeof object.expirationDate === "number") message.expirationDate = object.expirationDate; else if (typeof object.expirationDate === "object") message.expirationDate = new $util.LongBits(object.expirationDate.low >>> 0, object.expirationDate.high >>> 0).toNumber(); return message; }; /** * Creates a plain object from a SubscriptionAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.SubscriptionAction * @static * @param {proto.SyncActionValue.SubscriptionAction} message SubscriptionAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SubscriptionAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.isDeactivated = false; object.isAutoRenewing = false; if ($util.Long) { var long = new $util.Long(0, 0, false); object.expirationDate = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.expirationDate = options.longs === String ? "0" : 0; } if (message.isDeactivated != null && message.hasOwnProperty("isDeactivated")) object.isDeactivated = message.isDeactivated; if (message.isAutoRenewing != null && message.hasOwnProperty("isAutoRenewing")) object.isAutoRenewing = message.isAutoRenewing; if (message.expirationDate != null && message.hasOwnProperty("expirationDate")) if (typeof message.expirationDate === "number") object.expirationDate = options.longs === String ? String(message.expirationDate) : message.expirationDate; else object.expirationDate = options.longs === String ? $util.Long.prototype.toString.call(message.expirationDate) : options.longs === Number ? new $util.LongBits(message.expirationDate.low >>> 0, message.expirationDate.high >>> 0).toNumber() : message.expirationDate; return object; }; /** * Converts this SubscriptionAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.SubscriptionAction * @instance * @returns {Object.<string,*>} JSON object */ SubscriptionAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SubscriptionAction; })(); SyncActionValue.SyncActionMessage = (function() { /** * Properties of a SyncActionMessage. * @memberof proto.SyncActionValue * @interface ISyncActionMessage * @property {proto.IMessageKey|null} [key] SyncActionMessage key * @property {number|Long|null} [timestamp] SyncActionMessage timestamp */ /** * Constructs a new SyncActionMessage. * @memberof proto.SyncActionValue * @classdesc Represents a SyncActionMessage. * @implements ISyncActionMessage * @constructor * @param {proto.SyncActionValue.ISyncActionMessage=} [properties] Properties to set */ function SyncActionMessage(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]]; } /** * SyncActionMessage key. * @member {proto.IMessageKey|null|undefined} key * @memberof proto.SyncActionValue.SyncActionMessage * @instance */ SyncActionMessage.prototype.key = null; /** * SyncActionMessage timestamp. * @member {number|Long} timestamp * @memberof proto.SyncActionValue.SyncActionMessage * @instance */ SyncActionMessage.prototype.timestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * Creates a new SyncActionMessage instance using the specified properties. * @function create * @memberof proto.SyncActionValue.SyncActionMessage * @static * @param {proto.SyncActionValue.ISyncActionMessage=} [properties] Properties to set * @returns {proto.SyncActionValue.SyncActionMessage} SyncActionMessage instance */ SyncActionMessage.create = function create(properties) { return new SyncActionMessage(properties); }; /** * Encodes the specified SyncActionMessage message. Does not implicitly {@link proto.SyncActionValue.SyncActionMessage.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.SyncActionMessage * @static * @param {proto.SyncActionValue.ISyncActionMessage} message SyncActionMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncActionMessage.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.timestamp != null && Object.hasOwnProperty.call(message, "timestamp")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.timestamp); return writer; }; /** * Encodes the specified SyncActionMessage message, length delimited. Does not implicitly {@link proto.SyncActionValue.SyncActionMessage.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.SyncActionMessage * @static * @param {proto.SyncActionValue.ISyncActionMessage} message SyncActionMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncActionMessage.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncActionMessage message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.SyncActionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.SyncActionMessage} SyncActionMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncActionMessage.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.SyncActionValue.SyncActionMessage(); 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.timestamp = reader.int64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncActionMessage message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.SyncActionMessage * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.SyncActionMessage} SyncActionMessage * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncActionMessage.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncActionMessage message. * @function verify * @memberof proto.SyncActionValue.SyncActionMessage * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncActionMessage.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.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 SyncActionMessage message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.SyncActionMessage * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.SyncActionMessage} SyncActionMessage */ SyncActionMessage.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.SyncActionMessage) return object; var message = new $root.proto.SyncActionValue.SyncActionMessage(); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".proto.SyncActionValue.SyncActionMessage.key: object expected"); message.key = $root.proto.MessageKey.fromObject(object.key); } 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 SyncActionMessage message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.SyncActionMessage * @static * @param {proto.SyncActionValue.SyncActionMessage} message SyncActionMessage * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncActionMessage.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.key = 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.key != null && message.hasOwnProperty("key")) object.key = $root.proto.MessageKey.toObject(message.key, 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 SyncActionMessage to JSON. * @function toJSON * @memberof proto.SyncActionValue.SyncActionMessage * @instance * @returns {Object.<string,*>} JSON object */ SyncActionMessage.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SyncActionMessage; })(); SyncActionValue.SyncActionMessageRange = (function() { /** * Properties of a SyncActionMessageRange. * @memberof proto.SyncActionValue * @interface ISyncActionMessageRange * @property {number|Long|null} [lastMessageTimestamp] SyncActionMessageRange lastMessageTimestamp * @property {number|Long|null} [lastSystemMessageTimestamp] SyncActionMessageRange lastSystemMessageTimestamp * @property {Array.<proto.SyncActionValue.ISyncActionMessage>|null} [messages] SyncActionMessageRange messages */ /** * Constructs a new SyncActionMessageRange. * @memberof proto.SyncActionValue * @classdesc Represents a SyncActionMessageRange. * @implements ISyncActionMessageRange * @constructor * @param {proto.SyncActionValue.ISyncActionMessageRange=} [properties] Properties to set */ function SyncActionMessageRange(properties) { this.messages = []; 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]]; } /** * SyncActionMessageRange lastMessageTimestamp. * @member {number|Long} lastMessageTimestamp * @memberof proto.SyncActionValue.SyncActionMessageRange * @instance */ SyncActionMessageRange.prototype.lastMessageTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * SyncActionMessageRange lastSystemMessageTimestamp. * @member {number|Long} lastSystemMessageTimestamp * @memberof proto.SyncActionValue.SyncActionMessageRange * @instance */ SyncActionMessageRange.prototype.lastSystemMessageTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * SyncActionMessageRange messages. * @member {Array.<proto.SyncActionValue.ISyncActionMessage>} messages * @memberof proto.SyncActionValue.SyncActionMessageRange * @instance */ SyncActionMessageRange.prototype.messages = $util.emptyArray; /** * Creates a new SyncActionMessageRange instance using the specified properties. * @function create * @memberof proto.SyncActionValue.SyncActionMessageRange * @static * @param {proto.SyncActionValue.ISyncActionMessageRange=} [properties] Properties to set * @returns {proto.SyncActionValue.SyncActionMessageRange} SyncActionMessageRange instance */ SyncActionMessageRange.create = function create(properties) { return new SyncActionMessageRange(properties); }; /** * Encodes the specified SyncActionMessageRange message. Does not implicitly {@link proto.SyncActionValue.SyncActionMessageRange.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.SyncActionMessageRange * @static * @param {proto.SyncActionValue.ISyncActionMessageRange} message SyncActionMessageRange message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncActionMessageRange.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.lastMessageTimestamp != null && Object.hasOwnProperty.call(message, "lastMessageTimestamp")) writer.uint32(/* id 1, wireType 0 =*/8).int64(message.lastMessageTimestamp); if (message.lastSystemMessageTimestamp != null && Object.hasOwnProperty.call(message, "lastSystemMessageTimestamp")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.lastSystemMessageTimestamp); if (message.messages != null && message.messages.length) for (var i = 0; i < message.messages.length; ++i) $root.proto.SyncActionValue.SyncActionMessage.encode(message.messages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** * Encodes the specified SyncActionMessageRange message, length delimited. Does not implicitly {@link proto.SyncActionValue.SyncActionMessageRange.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.SyncActionMessageRange * @static * @param {proto.SyncActionValue.ISyncActionMessageRange} message SyncActionMessageRange message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncActionMessageRange.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncActionMessageRange message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.SyncActionMessageRange * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.SyncActionMessageRange} SyncActionMessageRange * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncActionMessageRange.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.SyncActionValue.SyncActionMessageRange(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.lastMessageTimestamp = reader.int64(); break; case 2: message.lastSystemMessageTimestamp = reader.int64(); break; case 3: if (!(message.messages && message.messages.length)) message.messages = []; message.messages.push($root.proto.SyncActionValue.SyncActionMessage.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncActionMessageRange message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.SyncActionMessageRange * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.SyncActionMessageRange} SyncActionMessageRange * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncActionMessageRange.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncActionMessageRange message. * @function verify * @memberof proto.SyncActionValue.SyncActionMessageRange * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncActionMessageRange.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.lastMessageTimestamp != null && message.hasOwnProperty("lastMessageTimestamp")) if (!$util.isInteger(message.lastMessageTimestamp) && !(message.lastMessageTimestamp && $util.isInteger(message.lastMessageTimestamp.low) && $util.isInteger(message.lastMessageTimestamp.high))) return "lastMessageTimestamp: integer|Long expected"; if (message.lastSystemMessageTimestamp != null && message.hasOwnProperty("lastSystemMessageTimestamp")) if (!$util.isInteger(message.lastSystemMessageTimestamp) && !(message.lastSystemMessageTimestamp && $util.isInteger(message.lastSystemMessageTimestamp.low) && $util.isInteger(message.lastSystemMessageTimestamp.high))) return "lastSystemMessageTimestamp: integer|Long expected"; if (message.messages != null && message.hasOwnProperty("messages")) { if (!Array.isArray(message.messages)) return "messages: array expected"; for (var i = 0; i < message.messages.length; ++i) { var error = $root.proto.SyncActionValue.SyncActionMessage.verify(message.messages[i]); if (error) return "messages." + error; } } return null; }; /** * Creates a SyncActionMessageRange message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.SyncActionMessageRange * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.SyncActionMessageRange} SyncActionMessageRange */ SyncActionMessageRange.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.SyncActionMessageRange) return object; var message = new $root.proto.SyncActionValue.SyncActionMessageRange(); if (object.lastMessageTimestamp != null) if ($util.Long) (message.lastMessageTimestamp = $util.Long.fromValue(object.lastMessageTimestamp)).unsigned = false; else if (typeof object.lastMessageTimestamp === "string") message.lastMessageTimestamp = parseInt(object.lastMessageTimestamp, 10); else if (typeof object.lastMessageTimestamp === "number") message.lastMessageTimestamp = object.lastMessageTimestamp; else if (typeof object.lastMessageTimestamp === "object") message.lastMessageTimestamp = new $util.LongBits(object.lastMessageTimestamp.low >>> 0, object.lastMessageTimestamp.high >>> 0).toNumber(); if (object.lastSystemMessageTimestamp != null) if ($util.Long) (message.lastSystemMessageTimestamp = $util.Long.fromValue(object.lastSystemMessageTimestamp)).unsigned = false; else if (typeof object.lastSystemMessageTimestamp === "string") message.lastSystemMessageTimestamp = parseInt(object.lastSystemMessageTimestamp, 10); else if (typeof object.lastSystemMessageTimestamp === "number") message.lastSystemMessageTimestamp = object.lastSystemMessageTimestamp; else if (typeof object.lastSystemMessageTimestamp === "object") message.lastSystemMessageTimestamp = new $util.LongBits(object.lastSystemMessageTimestamp.low >>> 0, object.lastSystemMessageTimestamp.high >>> 0).toNumber(); if (object.messages) { if (!Array.isArray(object.messages)) throw TypeError(".proto.SyncActionValue.SyncActionMessageRange.messages: array expected"); message.messages = []; for (var i = 0; i < object.messages.length; ++i) { if (typeof object.messages[i] !== "object") throw TypeError(".proto.SyncActionValue.SyncActionMessageRange.messages: object expected"); message.messages[i] = $root.proto.SyncActionValue.SyncActionMessage.fromObject(object.messages[i]); } } return message; }; /** * Creates a plain object from a SyncActionMessageRange message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.SyncActionMessageRange * @static * @param {proto.SyncActionValue.SyncActionMessageRange} message SyncActionMessageRange * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncActionMessageRange.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.messages = []; if (options.defaults) { if ($util.Long) { var long = new $util.Long(0, 0, false); object.lastMessageTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.lastMessageTimestamp = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.lastSystemMessageTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.lastSystemMessageTimestamp = options.longs === String ? "0" : 0; } if (message.lastMessageTimestamp != null && message.hasOwnProperty("lastMessageTimestamp")) if (typeof message.lastMessageTimestamp === "number") object.lastMessageTimestamp = options.longs === String ? String(message.lastMessageTimestamp) : message.lastMessageTimestamp; else object.lastMessageTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.lastMessageTimestamp) : options.longs === Number ? new $util.LongBits(message.lastMessageTimestamp.low >>> 0, message.lastMessageTimestamp.high >>> 0).toNumber() : message.lastMessageTimestamp; if (message.lastSystemMessageTimestamp != null && message.hasOwnProperty("lastSystemMessageTimestamp")) if (typeof message.lastSystemMessageTimestamp === "number") object.lastSystemMessageTimestamp = options.longs === String ? String(message.lastSystemMessageTimestamp) : message.lastSystemMessageTimestamp; else object.lastSystemMessageTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.lastSystemMessageTimestamp) : options.longs === Number ? new $util.LongBits(message.lastSystemMessageTimestamp.low >>> 0, message.lastSystemMessageTimestamp.high >>> 0).toNumber() : message.lastSystemMessageTimestamp; if (message.messages && message.messages.length) { object.messages = []; for (var j = 0; j < message.messages.length; ++j) object.messages[j] = $root.proto.SyncActionValue.SyncActionMessage.toObject(message.messages[j], options); } return object; }; /** * Converts this SyncActionMessageRange to JSON. * @function toJSON * @memberof proto.SyncActionValue.SyncActionMessageRange * @instance * @returns {Object.<string,*>} JSON object */ SyncActionMessageRange.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SyncActionMessageRange; })(); SyncActionValue.TimeFormatAction = (function() { /** * Properties of a TimeFormatAction. * @memberof proto.SyncActionValue * @interface ITimeFormatAction * @property {boolean|null} [isTwentyFourHourFormatEnabled] TimeFormatAction isTwentyFourHourFormatEnabled */ /** * Constructs a new TimeFormatAction. * @memberof proto.SyncActionValue * @classdesc Represents a TimeFormatAction. * @implements ITimeFormatAction * @constructor * @param {proto.SyncActionValue.ITimeFormatAction=} [properties] Properties to set */ function TimeFormatAction(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]]; } /** * TimeFormatAction isTwentyFourHourFormatEnabled. * @member {boolean} isTwentyFourHourFormatEnabled * @memberof proto.SyncActionValue.TimeFormatAction * @instance */ TimeFormatAction.prototype.isTwentyFourHourFormatEnabled = false; /** * Creates a new TimeFormatAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.TimeFormatAction * @static * @param {proto.SyncActionValue.ITimeFormatAction=} [properties] Properties to set * @returns {proto.SyncActionValue.TimeFormatAction} TimeFormatAction instance */ TimeFormatAction.create = function create(properties) { return new TimeFormatAction(properties); }; /** * Encodes the specified TimeFormatAction message. Does not implicitly {@link proto.SyncActionValue.TimeFormatAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.TimeFormatAction * @static * @param {proto.SyncActionValue.ITimeFormatAction} message TimeFormatAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ TimeFormatAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.isTwentyFourHourFormatEnabled != null && Object.hasOwnProperty.call(message, "isTwentyFourHourFormatEnabled")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.isTwentyFourHourFormatEnabled); return writer; }; /** * Encodes the specified TimeFormatAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.TimeFormatAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.TimeFormatAction * @static * @param {proto.SyncActionValue.ITimeFormatAction} message TimeFormatAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ TimeFormatAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a TimeFormatAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.TimeFormatAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.TimeFormatAction} TimeFormatAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ TimeFormatAction.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.SyncActionValue.TimeFormatAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.isTwentyFourHourFormatEnabled = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a TimeFormatAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.TimeFormatAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.TimeFormatAction} TimeFormatAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ TimeFormatAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a TimeFormatAction message. * @function verify * @memberof proto.SyncActionValue.TimeFormatAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ TimeFormatAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.isTwentyFourHourFormatEnabled != null && message.hasOwnProperty("isTwentyFourHourFormatEnabled")) if (typeof message.isTwentyFourHourFormatEnabled !== "boolean") return "isTwentyFourHourFormatEnabled: boolean expected"; return null; }; /** * Creates a TimeFormatAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.TimeFormatAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.TimeFormatAction} TimeFormatAction */ TimeFormatAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.TimeFormatAction) return object; var message = new $root.proto.SyncActionValue.TimeFormatAction(); if (object.isTwentyFourHourFormatEnabled != null) message.isTwentyFourHourFormatEnabled = Boolean(object.isTwentyFourHourFormatEnabled); return message; }; /** * Creates a plain object from a TimeFormatAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.TimeFormatAction * @static * @param {proto.SyncActionValue.TimeFormatAction} message TimeFormatAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ TimeFormatAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.isTwentyFourHourFormatEnabled = false; if (message.isTwentyFourHourFormatEnabled != null && message.hasOwnProperty("isTwentyFourHourFormatEnabled")) object.isTwentyFourHourFormatEnabled = message.isTwentyFourHourFormatEnabled; return object; }; /** * Converts this TimeFormatAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.TimeFormatAction * @instance * @returns {Object.<string,*>} JSON object */ TimeFormatAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return TimeFormatAction; })(); SyncActionValue.UnarchiveChatsSetting = (function() { /** * Properties of an UnarchiveChatsSetting. * @memberof proto.SyncActionValue * @interface IUnarchiveChatsSetting * @property {boolean|null} [unarchiveChats] UnarchiveChatsSetting unarchiveChats */ /** * Constructs a new UnarchiveChatsSetting. * @memberof proto.SyncActionValue * @classdesc Represents an UnarchiveChatsSetting. * @implements IUnarchiveChatsSetting * @constructor * @param {proto.SyncActionValue.IUnarchiveChatsSetting=} [properties] Properties to set */ function UnarchiveChatsSetting(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]]; } /** * UnarchiveChatsSetting unarchiveChats. * @member {boolean} unarchiveChats * @memberof proto.SyncActionValue.UnarchiveChatsSetting * @instance */ UnarchiveChatsSetting.prototype.unarchiveChats = false; /** * Creates a new UnarchiveChatsSetting instance using the specified properties. * @function create * @memberof proto.SyncActionValue.UnarchiveChatsSetting * @static * @param {proto.SyncActionValue.IUnarchiveChatsSetting=} [properties] Properties to set * @returns {proto.SyncActionValue.UnarchiveChatsSetting} UnarchiveChatsSetting instance */ UnarchiveChatsSetting.create = function create(properties) { return new UnarchiveChatsSetting(properties); }; /** * Encodes the specified UnarchiveChatsSetting message. Does not implicitly {@link proto.SyncActionValue.UnarchiveChatsSetting.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.UnarchiveChatsSetting * @static * @param {proto.SyncActionValue.IUnarchiveChatsSetting} message UnarchiveChatsSetting message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ UnarchiveChatsSetting.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.unarchiveChats != null && Object.hasOwnProperty.call(message, "unarchiveChats")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.unarchiveChats); return writer; }; /** * Encodes the specified UnarchiveChatsSetting message, length delimited. Does not implicitly {@link proto.SyncActionValue.UnarchiveChatsSetting.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.UnarchiveChatsSetting * @static * @param {proto.SyncActionValue.IUnarchiveChatsSetting} message UnarchiveChatsSetting message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ UnarchiveChatsSetting.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes an UnarchiveChatsSetting message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.UnarchiveChatsSetting * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.UnarchiveChatsSetting} UnarchiveChatsSetting * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ UnarchiveChatsSetting.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.SyncActionValue.UnarchiveChatsSetting(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.unarchiveChats = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes an UnarchiveChatsSetting message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.UnarchiveChatsSetting * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.UnarchiveChatsSetting} UnarchiveChatsSetting * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ UnarchiveChatsSetting.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies an UnarchiveChatsSetting message. * @function verify * @memberof proto.SyncActionValue.UnarchiveChatsSetting * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ UnarchiveChatsSetting.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.unarchiveChats != null && message.hasOwnProperty("unarchiveChats")) if (typeof message.unarchiveChats !== "boolean") return "unarchiveChats: boolean expected"; return null; }; /** * Creates an UnarchiveChatsSetting message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.UnarchiveChatsSetting * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.UnarchiveChatsSetting} UnarchiveChatsSetting */ UnarchiveChatsSetting.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.UnarchiveChatsSetting) return object; var message = new $root.proto.SyncActionValue.UnarchiveChatsSetting(); if (object.unarchiveChats != null) message.unarchiveChats = Boolean(object.unarchiveChats); return message; }; /** * Creates a plain object from an UnarchiveChatsSetting message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.UnarchiveChatsSetting * @static * @param {proto.SyncActionValue.UnarchiveChatsSetting} message UnarchiveChatsSetting * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ UnarchiveChatsSetting.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.unarchiveChats = false; if (message.unarchiveChats != null && message.hasOwnProperty("unarchiveChats")) object.unarchiveChats = message.unarchiveChats; return object; }; /** * Converts this UnarchiveChatsSetting to JSON. * @function toJSON * @memberof proto.SyncActionValue.UnarchiveChatsSetting * @instance * @returns {Object.<string,*>} JSON object */ UnarchiveChatsSetting.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return UnarchiveChatsSetting; })(); SyncActionValue.UserStatusMuteAction = (function() { /** * Properties of a UserStatusMuteAction. * @memberof proto.SyncActionValue * @interface IUserStatusMuteAction * @property {boolean|null} [muted] UserStatusMuteAction muted */ /** * Constructs a new UserStatusMuteAction. * @memberof proto.SyncActionValue * @classdesc Represents a UserStatusMuteAction. * @implements IUserStatusMuteAction * @constructor * @param {proto.SyncActionValue.IUserStatusMuteAction=} [properties] Properties to set */ function UserStatusMuteAction(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]]; } /** * UserStatusMuteAction muted. * @member {boolean} muted * @memberof proto.SyncActionValue.UserStatusMuteAction * @instance */ UserStatusMuteAction.prototype.muted = false; /** * Creates a new UserStatusMuteAction instance using the specified properties. * @function create * @memberof proto.SyncActionValue.UserStatusMuteAction * @static * @param {proto.SyncActionValue.IUserStatusMuteAction=} [properties] Properties to set * @returns {proto.SyncActionValue.UserStatusMuteAction} UserStatusMuteAction instance */ UserStatusMuteAction.create = function create(properties) { return new UserStatusMuteAction(properties); }; /** * Encodes the specified UserStatusMuteAction message. Does not implicitly {@link proto.SyncActionValue.UserStatusMuteAction.verify|verify} messages. * @function encode * @memberof proto.SyncActionValue.UserStatusMuteAction * @static * @param {proto.SyncActionValue.IUserStatusMuteAction} message UserStatusMuteAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ UserStatusMuteAction.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.muted != null && Object.hasOwnProperty.call(message, "muted")) writer.uint32(/* id 1, wireType 0 =*/8).bool(message.muted); return writer; }; /** * Encodes the specified UserStatusMuteAction message, length delimited. Does not implicitly {@link proto.SyncActionValue.UserStatusMuteAction.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncActionValue.UserStatusMuteAction * @static * @param {proto.SyncActionValue.IUserStatusMuteAction} message UserStatusMuteAction message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ UserStatusMuteAction.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a UserStatusMuteAction message from the specified reader or buffer. * @function decode * @memberof proto.SyncActionValue.UserStatusMuteAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncActionValue.UserStatusMuteAction} UserStatusMuteAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ UserStatusMuteAction.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.SyncActionValue.UserStatusMuteAction(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.muted = reader.bool(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a UserStatusMuteAction message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncActionValue.UserStatusMuteAction * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncActionValue.UserStatusMuteAction} UserStatusMuteAction * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ UserStatusMuteAction.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a UserStatusMuteAction message. * @function verify * @memberof proto.SyncActionValue.UserStatusMuteAction * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ UserStatusMuteAction.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.muted != null && message.hasOwnProperty("muted")) if (typeof message.muted !== "boolean") return "muted: boolean expected"; return null; }; /** * Creates a UserStatusMuteAction message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncActionValue.UserStatusMuteAction * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncActionValue.UserStatusMuteAction} UserStatusMuteAction */ UserStatusMuteAction.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncActionValue.UserStatusMuteAction) return object; var message = new $root.proto.SyncActionValue.UserStatusMuteAction(); if (object.muted != null) message.muted = Boolean(object.muted); return message; }; /** * Creates a plain object from a UserStatusMuteAction message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncActionValue.UserStatusMuteAction * @static * @param {proto.SyncActionValue.UserStatusMuteAction} message UserStatusMuteAction * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ UserStatusMuteAction.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) object.muted = false; if (message.muted != null && message.hasOwnProperty("muted")) object.muted = message.muted; return object; }; /** * Converts this UserStatusMuteAction to JSON. * @function toJSON * @memberof proto.SyncActionValue.UserStatusMuteAction * @instance * @returns {Object.<string,*>} JSON object */ UserStatusMuteAction.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return UserStatusMuteAction; })(); return SyncActionValue; })(); proto.SyncdIndex = (function() { /** * Properties of a SyncdIndex. * @memberof proto * @interface ISyncdIndex * @property {Uint8Array|null} [blob] SyncdIndex blob */ /** * Constructs a new SyncdIndex. * @memberof proto * @classdesc Represents a SyncdIndex. * @implements ISyncdIndex * @constructor * @param {proto.ISyncdIndex=} [properties] Properties to set */ function SyncdIndex(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]]; } /** * SyncdIndex blob. * @member {Uint8Array} blob * @memberof proto.SyncdIndex * @instance */ SyncdIndex.prototype.blob = $util.newBuffer([]); /** * Creates a new SyncdIndex instance using the specified properties. * @function create * @memberof proto.SyncdIndex * @static * @param {proto.ISyncdIndex=} [properties] Properties to set * @returns {proto.SyncdIndex} SyncdIndex instance */ SyncdIndex.create = function create(properties) { return new SyncdIndex(properties); }; /** * Encodes the specified SyncdIndex message. Does not implicitly {@link proto.SyncdIndex.verify|verify} messages. * @function encode * @memberof proto.SyncdIndex * @static * @param {proto.ISyncdIndex} message SyncdIndex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdIndex.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.blob != null && Object.hasOwnProperty.call(message, "blob")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.blob); return writer; }; /** * Encodes the specified SyncdIndex message, length delimited. Does not implicitly {@link proto.SyncdIndex.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncdIndex * @static * @param {proto.ISyncdIndex} message SyncdIndex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdIndex.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncdIndex message from the specified reader or buffer. * @function decode * @memberof proto.SyncdIndex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncdIndex} SyncdIndex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdIndex.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.SyncdIndex(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.blob = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncdIndex message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncdIndex * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncdIndex} SyncdIndex * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdIndex.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncdIndex message. * @function verify * @memberof proto.SyncdIndex * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncdIndex.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.blob != null && message.hasOwnProperty("blob")) if (!(message.blob && typeof message.blob.length === "number" || $util.isString(message.blob))) return "blob: buffer expected"; return null; }; /** * Creates a SyncdIndex message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncdIndex * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncdIndex} SyncdIndex */ SyncdIndex.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncdIndex) return object; var message = new $root.proto.SyncdIndex(); if (object.blob != null) if (typeof object.blob === "string") $util.base64.decode(object.blob, message.blob = $util.newBuffer($util.base64.length(object.blob)), 0); else if (object.blob.length) message.blob = object.blob; return message; }; /** * Creates a plain object from a SyncdIndex message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncdIndex * @static * @param {proto.SyncdIndex} message SyncdIndex * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncdIndex.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) if (options.bytes === String) object.blob = ""; else { object.blob = []; if (options.bytes !== Array) object.blob = $util.newBuffer(object.blob); } if (message.blob != null && message.hasOwnProperty("blob")) object.blob = options.bytes === String ? $util.base64.encode(message.blob, 0, message.blob.length) : options.bytes === Array ? Array.prototype.slice.call(message.blob) : message.blob; return object; }; /** * Converts this SyncdIndex to JSON. * @function toJSON * @memberof proto.SyncdIndex * @instance * @returns {Object.<string,*>} JSON object */ SyncdIndex.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SyncdIndex; })(); proto.SyncdMutation = (function() { /** * Properties of a SyncdMutation. * @memberof proto * @interface ISyncdMutation * @property {proto.SyncdMutation.SyncdOperation|null} [operation] SyncdMutation operation * @property {proto.ISyncdRecord|null} [record] SyncdMutation record */ /** * Constructs a new SyncdMutation. * @memberof proto * @classdesc Represents a SyncdMutation. * @implements ISyncdMutation * @constructor * @param {proto.ISyncdMutation=} [properties] Properties to set */ function SyncdMutation(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]]; } /** * SyncdMutation operation. * @member {proto.SyncdMutation.SyncdOperation} operation * @memberof proto.SyncdMutation * @instance */ SyncdMutation.prototype.operation = 0; /** * SyncdMutation record. * @member {proto.ISyncdRecord|null|undefined} record * @memberof proto.SyncdMutation * @instance */ SyncdMutation.prototype.record = null; /** * Creates a new SyncdMutation instance using the specified properties. * @function create * @memberof proto.SyncdMutation * @static * @param {proto.ISyncdMutation=} [properties] Properties to set * @returns {proto.SyncdMutation} SyncdMutation instance */ SyncdMutation.create = function create(properties) { return new SyncdMutation(properties); }; /** * Encodes the specified SyncdMutation message. Does not implicitly {@link proto.SyncdMutation.verify|verify} messages. * @function encode * @memberof proto.SyncdMutation * @static * @param {proto.ISyncdMutation} message SyncdMutation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdMutation.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.operation != null && Object.hasOwnProperty.call(message, "operation")) writer.uint32(/* id 1, wireType 0 =*/8).int32(message.operation); if (message.record != null && Object.hasOwnProperty.call(message, "record")) $root.proto.SyncdRecord.encode(message.record, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); return writer; }; /** * Encodes the specified SyncdMutation message, length delimited. Does not implicitly {@link proto.SyncdMutation.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncdMutation * @static * @param {proto.ISyncdMutation} message SyncdMutation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdMutation.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncdMutation message from the specified reader or buffer. * @function decode * @memberof proto.SyncdMutation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncdMutation} SyncdMutation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdMutation.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.SyncdMutation(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.operation = reader.int32(); break; case 2: message.record = $root.proto.SyncdRecord.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncdMutation message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncdMutation * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncdMutation} SyncdMutation * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdMutation.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncdMutation message. * @function verify * @memberof proto.SyncdMutation * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncdMutation.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.operation != null && message.hasOwnProperty("operation")) switch (message.operation) { default: return "operation: enum value expected"; case 0: case 1: break; } if (message.record != null && message.hasOwnProperty("record")) { var error = $root.proto.SyncdRecord.verify(message.record); if (error) return "record." + error; } return null; }; /** * Creates a SyncdMutation message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncdMutation * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncdMutation} SyncdMutation */ SyncdMutation.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncdMutation) return object; var message = new $root.proto.SyncdMutation(); switch (object.operation) { case "SET": case 0: message.operation = 0; break; case "REMOVE": case 1: message.operation = 1; break; } if (object.record != null) { if (typeof object.record !== "object") throw TypeError(".proto.SyncdMutation.record: object expected"); message.record = $root.proto.SyncdRecord.fromObject(object.record); } return message; }; /** * Creates a plain object from a SyncdMutation message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncdMutation * @static * @param {proto.SyncdMutation} message SyncdMutation * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncdMutation.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.operation = options.enums === String ? "SET" : 0; object.record = null; } if (message.operation != null && message.hasOwnProperty("operation")) object.operation = options.enums === String ? $root.proto.SyncdMutation.SyncdOperation[message.operation] : message.operation; if (message.record != null && message.hasOwnProperty("record")) object.record = $root.proto.SyncdRecord.toObject(message.record, options); return object; }; /** * Converts this SyncdMutation to JSON. * @function toJSON * @memberof proto.SyncdMutation * @instance * @returns {Object.<string,*>} JSON object */ SyncdMutation.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * SyncdOperation enum. * @name proto.SyncdMutation.SyncdOperation * @enum {number} * @property {number} SET=0 SET value * @property {number} REMOVE=1 REMOVE value */ SyncdMutation.SyncdOperation = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "SET"] = 0; values[valuesById[1] = "REMOVE"] = 1; return values; })(); return SyncdMutation; })(); proto.SyncdMutations = (function() { /** * Properties of a SyncdMutations. * @memberof proto * @interface ISyncdMutations * @property {Array.<proto.ISyncdMutation>|null} [mutations] SyncdMutations mutations */ /** * Constructs a new SyncdMutations. * @memberof proto * @classdesc Represents a SyncdMutations. * @implements ISyncdMutations * @constructor * @param {proto.ISyncdMutations=} [properties] Properties to set */ function SyncdMutations(properties) { this.mutations = []; 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]]; } /** * SyncdMutations mutations. * @member {Array.<proto.ISyncdMutation>} mutations * @memberof proto.SyncdMutations * @instance */ SyncdMutations.prototype.mutations = $util.emptyArray; /** * Creates a new SyncdMutations instance using the specified properties. * @function create * @memberof proto.SyncdMutations * @static * @param {proto.ISyncdMutations=} [properties] Properties to set * @returns {proto.SyncdMutations} SyncdMutations instance */ SyncdMutations.create = function create(properties) { return new SyncdMutations(properties); }; /** * Encodes the specified SyncdMutations message. Does not implicitly {@link proto.SyncdMutations.verify|verify} messages. * @function encode * @memberof proto.SyncdMutations * @static * @param {proto.ISyncdMutations} message SyncdMutations message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdMutations.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.mutations != null && message.mutations.length) for (var i = 0; i < message.mutations.length; ++i) $root.proto.SyncdMutation.encode(message.mutations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); return writer; }; /** * Encodes the specified SyncdMutations message, length delimited. Does not implicitly {@link proto.SyncdMutations.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncdMutations * @static * @param {proto.ISyncdMutations} message SyncdMutations message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdMutations.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncdMutations message from the specified reader or buffer. * @function decode * @memberof proto.SyncdMutations * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncdMutations} SyncdMutations * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdMutations.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.SyncdMutations(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: if (!(message.mutations && message.mutations.length)) message.mutations = []; message.mutations.push($root.proto.SyncdMutation.decode(reader, reader.uint32())); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncdMutations message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncdMutations * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncdMutations} SyncdMutations * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdMutations.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncdMutations message. * @function verify * @memberof proto.SyncdMutations * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncdMutations.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.mutations != null && message.hasOwnProperty("mutations")) { if (!Array.isArray(message.mutations)) return "mutations: array expected"; for (var i = 0; i < message.mutations.length; ++i) { var error = $root.proto.SyncdMutation.verify(message.mutations[i]); if (error) return "mutations." + error; } } return null; }; /** * Creates a SyncdMutations message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncdMutations * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncdMutations} SyncdMutations */ SyncdMutations.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncdMutations) return object; var message = new $root.proto.SyncdMutations(); if (object.mutations) { if (!Array.isArray(object.mutations)) throw TypeError(".proto.SyncdMutations.mutations: array expected"); message.mutations = []; for (var i = 0; i < object.mutations.length; ++i) { if (typeof object.mutations[i] !== "object") throw TypeError(".proto.SyncdMutations.mutations: object expected"); message.mutations[i] = $root.proto.SyncdMutation.fromObject(object.mutations[i]); } } return message; }; /** * Creates a plain object from a SyncdMutations message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncdMutations * @static * @param {proto.SyncdMutations} message SyncdMutations * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncdMutations.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.mutations = []; if (message.mutations && message.mutations.length) { object.mutations = []; for (var j = 0; j < message.mutations.length; ++j) object.mutations[j] = $root.proto.SyncdMutation.toObject(message.mutations[j], options); } return object; }; /** * Converts this SyncdMutations to JSON. * @function toJSON * @memberof proto.SyncdMutations * @instance * @returns {Object.<string,*>} JSON object */ SyncdMutations.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SyncdMutations; })(); proto.SyncdPatch = (function() { /** * Properties of a SyncdPatch. * @memberof proto * @interface ISyncdPatch * @property {proto.ISyncdVersion|null} [version] SyncdPatch version * @property {Array.<proto.ISyncdMutation>|null} [mutations] SyncdPatch mutations * @property {proto.IExternalBlobReference|null} [externalMutations] SyncdPatch externalMutations * @property {Uint8Array|null} [snapshotMac] SyncdPatch snapshotMac * @property {Uint8Array|null} [patchMac] SyncdPatch patchMac * @property {proto.IKeyId|null} [keyId] SyncdPatch keyId * @property {proto.IExitCode|null} [exitCode] SyncdPatch exitCode * @property {number|null} [deviceIndex] SyncdPatch deviceIndex */ /** * Constructs a new SyncdPatch. * @memberof proto * @classdesc Represents a SyncdPatch. * @implements ISyncdPatch * @constructor * @param {proto.ISyncdPatch=} [properties] Properties to set */ function SyncdPatch(properties) { this.mutations = []; 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]]; } /** * SyncdPatch version. * @member {proto.ISyncdVersion|null|undefined} version * @memberof proto.SyncdPatch * @instance */ SyncdPatch.prototype.version = null; /** * SyncdPatch mutations. * @member {Array.<proto.ISyncdMutation>} mutations * @memberof proto.SyncdPatch * @instance */ SyncdPatch.prototype.mutations = $util.emptyArray; /** * SyncdPatch externalMutations. * @member {proto.IExternalBlobReference|null|undefined} externalMutations * @memberof proto.SyncdPatch * @instance */ SyncdPatch.prototype.externalMutations = null; /** * SyncdPatch snapshotMac. * @member {Uint8Array} snapshotMac * @memberof proto.SyncdPatch * @instance */ SyncdPatch.prototype.snapshotMac = $util.newBuffer([]); /** * SyncdPatch patchMac. * @member {Uint8Array} patchMac * @memberof proto.SyncdPatch * @instance */ SyncdPatch.prototype.patchMac = $util.newBuffer([]); /** * SyncdPatch keyId. * @member {proto.IKeyId|null|undefined} keyId * @memberof proto.SyncdPatch * @instance */ SyncdPatch.prototype.keyId = null; /** * SyncdPatch exitCode. * @member {proto.IExitCode|null|undefined} exitCode * @memberof proto.SyncdPatch * @instance */ SyncdPatch.prototype.exitCode = null; /** * SyncdPatch deviceIndex. * @member {number} deviceIndex * @memberof proto.SyncdPatch * @instance */ SyncdPatch.prototype.deviceIndex = 0; /** * Creates a new SyncdPatch instance using the specified properties. * @function create * @memberof proto.SyncdPatch * @static * @param {proto.ISyncdPatch=} [properties] Properties to set * @returns {proto.SyncdPatch} SyncdPatch instance */ SyncdPatch.create = function create(properties) { return new SyncdPatch(properties); }; /** * Encodes the specified SyncdPatch message. Does not implicitly {@link proto.SyncdPatch.verify|verify} messages. * @function encode * @memberof proto.SyncdPatch * @static * @param {proto.ISyncdPatch} message SyncdPatch message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdPatch.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.version != null && Object.hasOwnProperty.call(message, "version")) $root.proto.SyncdVersion.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.mutations != null && message.mutations.length) for (var i = 0; i < message.mutations.length; ++i) $root.proto.SyncdMutation.encode(message.mutations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.externalMutations != null && Object.hasOwnProperty.call(message, "externalMutations")) $root.proto.ExternalBlobReference.encode(message.externalMutations, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.snapshotMac != null && Object.hasOwnProperty.call(message, "snapshotMac")) writer.uint32(/* id 4, wireType 2 =*/34).bytes(message.snapshotMac); if (message.patchMac != null && Object.hasOwnProperty.call(message, "patchMac")) writer.uint32(/* id 5, wireType 2 =*/42).bytes(message.patchMac); if (message.keyId != null && Object.hasOwnProperty.call(message, "keyId")) $root.proto.KeyId.encode(message.keyId, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); if (message.exitCode != null && Object.hasOwnProperty.call(message, "exitCode")) $root.proto.ExitCode.encode(message.exitCode, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); if (message.deviceIndex != null && Object.hasOwnProperty.call(message, "deviceIndex")) writer.uint32(/* id 8, wireType 0 =*/64).uint32(message.deviceIndex); return writer; }; /** * Encodes the specified SyncdPatch message, length delimited. Does not implicitly {@link proto.SyncdPatch.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncdPatch * @static * @param {proto.ISyncdPatch} message SyncdPatch message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdPatch.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncdPatch message from the specified reader or buffer. * @function decode * @memberof proto.SyncdPatch * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncdPatch} SyncdPatch * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdPatch.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.SyncdPatch(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.version = $root.proto.SyncdVersion.decode(reader, reader.uint32()); break; case 2: if (!(message.mutations && message.mutations.length)) message.mutations = []; message.mutations.push($root.proto.SyncdMutation.decode(reader, reader.uint32())); break; case 3: message.externalMutations = $root.proto.ExternalBlobReference.decode(reader, reader.uint32()); break; case 4: message.snapshotMac = reader.bytes(); break; case 5: message.patchMac = reader.bytes(); break; case 6: message.keyId = $root.proto.KeyId.decode(reader, reader.uint32()); break; case 7: message.exitCode = $root.proto.ExitCode.decode(reader, reader.uint32()); break; case 8: message.deviceIndex = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncdPatch message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncdPatch * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncdPatch} SyncdPatch * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdPatch.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncdPatch message. * @function verify * @memberof proto.SyncdPatch * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncdPatch.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.version != null && message.hasOwnProperty("version")) { var error = $root.proto.SyncdVersion.verify(message.version); if (error) return "version." + error; } if (message.mutations != null && message.hasOwnProperty("mutations")) { if (!Array.isArray(message.mutations)) return "mutations: array expected"; for (var i = 0; i < message.mutations.length; ++i) { var error = $root.proto.SyncdMutation.verify(message.mutations[i]); if (error) return "mutations." + error; } } if (message.externalMutations != null && message.hasOwnProperty("externalMutations")) { var error = $root.proto.ExternalBlobReference.verify(message.externalMutations); if (error) return "externalMutations." + error; } if (message.snapshotMac != null && message.hasOwnProperty("snapshotMac")) if (!(message.snapshotMac && typeof message.snapshotMac.length === "number" || $util.isString(message.snapshotMac))) return "snapshotMac: buffer expected"; if (message.patchMac != null && message.hasOwnProperty("patchMac")) if (!(message.patchMac && typeof message.patchMac.length === "number" || $util.isString(message.patchMac))) return "patchMac: buffer expected"; if (message.keyId != null && message.hasOwnProperty("keyId")) { var error = $root.proto.KeyId.verify(message.keyId); if (error) return "keyId." + error; } if (message.exitCode != null && message.hasOwnProperty("exitCode")) { var error = $root.proto.ExitCode.verify(message.exitCode); if (error) return "exitCode." + error; } if (message.deviceIndex != null && message.hasOwnProperty("deviceIndex")) if (!$util.isInteger(message.deviceIndex)) return "deviceIndex: integer expected"; return null; }; /** * Creates a SyncdPatch message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncdPatch * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncdPatch} SyncdPatch */ SyncdPatch.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncdPatch) return object; var message = new $root.proto.SyncdPatch(); if (object.version != null) { if (typeof object.version !== "object") throw TypeError(".proto.SyncdPatch.version: object expected"); message.version = $root.proto.SyncdVersion.fromObject(object.version); } if (object.mutations) { if (!Array.isArray(object.mutations)) throw TypeError(".proto.SyncdPatch.mutations: array expected"); message.mutations = []; for (var i = 0; i < object.mutations.length; ++i) { if (typeof object.mutations[i] !== "object") throw TypeError(".proto.SyncdPatch.mutations: object expected"); message.mutations[i] = $root.proto.SyncdMutation.fromObject(object.mutations[i]); } } if (object.externalMutations != null) { if (typeof object.externalMutations !== "object") throw TypeError(".proto.SyncdPatch.externalMutations: object expected"); message.externalMutations = $root.proto.ExternalBlobReference.fromObject(object.externalMutations); } if (object.snapshotMac != null) if (typeof object.snapshotMac === "string") $util.base64.decode(object.snapshotMac, message.snapshotMac = $util.newBuffer($util.base64.length(object.snapshotMac)), 0); else if (object.snapshotMac.length) message.snapshotMac = object.snapshotMac; if (object.patchMac != null) if (typeof object.patchMac === "string") $util.base64.decode(object.patchMac, message.patchMac = $util.newBuffer($util.base64.length(object.patchMac)), 0); else if (object.patchMac.length) message.patchMac = object.patchMac; if (object.keyId != null) { if (typeof object.keyId !== "object") throw TypeError(".proto.SyncdPatch.keyId: object expected"); message.keyId = $root.proto.KeyId.fromObject(object.keyId); } if (object.exitCode != null) { if (typeof object.exitCode !== "object") throw TypeError(".proto.SyncdPatch.exitCode: object expected"); message.exitCode = $root.proto.ExitCode.fromObject(object.exitCode); } if (object.deviceIndex != null) message.deviceIndex = object.deviceIndex >>> 0; return message; }; /** * Creates a plain object from a SyncdPatch message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncdPatch * @static * @param {proto.SyncdPatch} message SyncdPatch * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncdPatch.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.mutations = []; if (options.defaults) { object.version = null; object.externalMutations = null; if (options.bytes === String) object.snapshotMac = ""; else { object.snapshotMac = []; if (options.bytes !== Array) object.snapshotMac = $util.newBuffer(object.snapshotMac); } if (options.bytes === String) object.patchMac = ""; else { object.patchMac = []; if (options.bytes !== Array) object.patchMac = $util.newBuffer(object.patchMac); } object.keyId = null; object.exitCode = null; object.deviceIndex = 0; } if (message.version != null && message.hasOwnProperty("version")) object.version = $root.proto.SyncdVersion.toObject(message.version, options); if (message.mutations && message.mutations.length) { object.mutations = []; for (var j = 0; j < message.mutations.length; ++j) object.mutations[j] = $root.proto.SyncdMutation.toObject(message.mutations[j], options); } if (message.externalMutations != null && message.hasOwnProperty("externalMutations")) object.externalMutations = $root.proto.ExternalBlobReference.toObject(message.externalMutations, options); if (message.snapshotMac != null && message.hasOwnProperty("snapshotMac")) object.snapshotMac = options.bytes === String ? $util.base64.encode(message.snapshotMac, 0, message.snapshotMac.length) : options.bytes === Array ? Array.prototype.slice.call(message.snapshotMac) : message.snapshotMac; if (message.patchMac != null && message.hasOwnProperty("patchMac")) object.patchMac = options.bytes === String ? $util.base64.encode(message.patchMac, 0, message.patchMac.length) : options.bytes === Array ? Array.prototype.slice.call(message.patchMac) : message.patchMac; if (message.keyId != null && message.hasOwnProperty("keyId")) object.keyId = $root.proto.KeyId.toObject(message.keyId, options); if (message.exitCode != null && message.hasOwnProperty("exitCode")) object.exitCode = $root.proto.ExitCode.toObject(message.exitCode, options); if (message.deviceIndex != null && message.hasOwnProperty("deviceIndex")) object.deviceIndex = message.deviceIndex; return object; }; /** * Converts this SyncdPatch to JSON. * @function toJSON * @memberof proto.SyncdPatch * @instance * @returns {Object.<string,*>} JSON object */ SyncdPatch.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SyncdPatch; })(); proto.SyncdRecord = (function() { /** * Properties of a SyncdRecord. * @memberof proto * @interface ISyncdRecord * @property {proto.ISyncdIndex|null} [index] SyncdRecord index * @property {proto.ISyncdValue|null} [value] SyncdRecord value * @property {proto.IKeyId|null} [keyId] SyncdRecord keyId */ /** * Constructs a new SyncdRecord. * @memberof proto * @classdesc Represents a SyncdRecord. * @implements ISyncdRecord * @constructor * @param {proto.ISyncdRecord=} [properties] Properties to set */ function SyncdRecord(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]]; } /** * SyncdRecord index. * @member {proto.ISyncdIndex|null|undefined} index * @memberof proto.SyncdRecord * @instance */ SyncdRecord.prototype.index = null; /** * SyncdRecord value. * @member {proto.ISyncdValue|null|undefined} value * @memberof proto.SyncdRecord * @instance */ SyncdRecord.prototype.value = null; /** * SyncdRecord keyId. * @member {proto.IKeyId|null|undefined} keyId * @memberof proto.SyncdRecord * @instance */ SyncdRecord.prototype.keyId = null; /** * Creates a new SyncdRecord instance using the specified properties. * @function create * @memberof proto.SyncdRecord * @static * @param {proto.ISyncdRecord=} [properties] Properties to set * @returns {proto.SyncdRecord} SyncdRecord instance */ SyncdRecord.create = function create(properties) { return new SyncdRecord(properties); }; /** * Encodes the specified SyncdRecord message. Does not implicitly {@link proto.SyncdRecord.verify|verify} messages. * @function encode * @memberof proto.SyncdRecord * @static * @param {proto.ISyncdRecord} message SyncdRecord message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdRecord.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.index != null && Object.hasOwnProperty.call(message, "index")) $root.proto.SyncdIndex.encode(message.index, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.value != null && Object.hasOwnProperty.call(message, "value")) $root.proto.SyncdValue.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.keyId != null && Object.hasOwnProperty.call(message, "keyId")) $root.proto.KeyId.encode(message.keyId, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); return writer; }; /** * Encodes the specified SyncdRecord message, length delimited. Does not implicitly {@link proto.SyncdRecord.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncdRecord * @static * @param {proto.ISyncdRecord} message SyncdRecord message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdRecord.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncdRecord message from the specified reader or buffer. * @function decode * @memberof proto.SyncdRecord * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncdRecord} SyncdRecord * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdRecord.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.SyncdRecord(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.index = $root.proto.SyncdIndex.decode(reader, reader.uint32()); break; case 2: message.value = $root.proto.SyncdValue.decode(reader, reader.uint32()); break; case 3: message.keyId = $root.proto.KeyId.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncdRecord message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncdRecord * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncdRecord} SyncdRecord * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdRecord.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncdRecord message. * @function verify * @memberof proto.SyncdRecord * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncdRecord.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.index != null && message.hasOwnProperty("index")) { var error = $root.proto.SyncdIndex.verify(message.index); if (error) return "index." + error; } if (message.value != null && message.hasOwnProperty("value")) { var error = $root.proto.SyncdValue.verify(message.value); if (error) return "value." + error; } if (message.keyId != null && message.hasOwnProperty("keyId")) { var error = $root.proto.KeyId.verify(message.keyId); if (error) return "keyId." + error; } return null; }; /** * Creates a SyncdRecord message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncdRecord * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncdRecord} SyncdRecord */ SyncdRecord.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncdRecord) return object; var message = new $root.proto.SyncdRecord(); if (object.index != null) { if (typeof object.index !== "object") throw TypeError(".proto.SyncdRecord.index: object expected"); message.index = $root.proto.SyncdIndex.fromObject(object.index); } if (object.value != null) { if (typeof object.value !== "object") throw TypeError(".proto.SyncdRecord.value: object expected"); message.value = $root.proto.SyncdValue.fromObject(object.value); } if (object.keyId != null) { if (typeof object.keyId !== "object") throw TypeError(".proto.SyncdRecord.keyId: object expected"); message.keyId = $root.proto.KeyId.fromObject(object.keyId); } return message; }; /** * Creates a plain object from a SyncdRecord message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncdRecord * @static * @param {proto.SyncdRecord} message SyncdRecord * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncdRecord.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.index = null; object.value = null; object.keyId = null; } if (message.index != null && message.hasOwnProperty("index")) object.index = $root.proto.SyncdIndex.toObject(message.index, options); if (message.value != null && message.hasOwnProperty("value")) object.value = $root.proto.SyncdValue.toObject(message.value, options); if (message.keyId != null && message.hasOwnProperty("keyId")) object.keyId = $root.proto.KeyId.toObject(message.keyId, options); return object; }; /** * Converts this SyncdRecord to JSON. * @function toJSON * @memberof proto.SyncdRecord * @instance * @returns {Object.<string,*>} JSON object */ SyncdRecord.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SyncdRecord; })(); proto.SyncdSnapshot = (function() { /** * Properties of a SyncdSnapshot. * @memberof proto * @interface ISyncdSnapshot * @property {proto.ISyncdVersion|null} [version] SyncdSnapshot version * @property {Array.<proto.ISyncdRecord>|null} [records] SyncdSnapshot records * @property {Uint8Array|null} [mac] SyncdSnapshot mac * @property {proto.IKeyId|null} [keyId] SyncdSnapshot keyId */ /** * Constructs a new SyncdSnapshot. * @memberof proto * @classdesc Represents a SyncdSnapshot. * @implements ISyncdSnapshot * @constructor * @param {proto.ISyncdSnapshot=} [properties] Properties to set */ function SyncdSnapshot(properties) { this.records = []; 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]]; } /** * SyncdSnapshot version. * @member {proto.ISyncdVersion|null|undefined} version * @memberof proto.SyncdSnapshot * @instance */ SyncdSnapshot.prototype.version = null; /** * SyncdSnapshot records. * @member {Array.<proto.ISyncdRecord>} records * @memberof proto.SyncdSnapshot * @instance */ SyncdSnapshot.prototype.records = $util.emptyArray; /** * SyncdSnapshot mac. * @member {Uint8Array} mac * @memberof proto.SyncdSnapshot * @instance */ SyncdSnapshot.prototype.mac = $util.newBuffer([]); /** * SyncdSnapshot keyId. * @member {proto.IKeyId|null|undefined} keyId * @memberof proto.SyncdSnapshot * @instance */ SyncdSnapshot.prototype.keyId = null; /** * Creates a new SyncdSnapshot instance using the specified properties. * @function create * @memberof proto.SyncdSnapshot * @static * @param {proto.ISyncdSnapshot=} [properties] Properties to set * @returns {proto.SyncdSnapshot} SyncdSnapshot instance */ SyncdSnapshot.create = function create(properties) { return new SyncdSnapshot(properties); }; /** * Encodes the specified SyncdSnapshot message. Does not implicitly {@link proto.SyncdSnapshot.verify|verify} messages. * @function encode * @memberof proto.SyncdSnapshot * @static * @param {proto.ISyncdSnapshot} message SyncdSnapshot message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdSnapshot.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.version != null && Object.hasOwnProperty.call(message, "version")) $root.proto.SyncdVersion.encode(message.version, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.records != null && message.records.length) for (var i = 0; i < message.records.length; ++i) $root.proto.SyncdRecord.encode(message.records[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.mac != null && Object.hasOwnProperty.call(message, "mac")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.mac); if (message.keyId != null && Object.hasOwnProperty.call(message, "keyId")) $root.proto.KeyId.encode(message.keyId, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); return writer; }; /** * Encodes the specified SyncdSnapshot message, length delimited. Does not implicitly {@link proto.SyncdSnapshot.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncdSnapshot * @static * @param {proto.ISyncdSnapshot} message SyncdSnapshot message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdSnapshot.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncdSnapshot message from the specified reader or buffer. * @function decode * @memberof proto.SyncdSnapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncdSnapshot} SyncdSnapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdSnapshot.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.SyncdSnapshot(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.version = $root.proto.SyncdVersion.decode(reader, reader.uint32()); break; case 2: if (!(message.records && message.records.length)) message.records = []; message.records.push($root.proto.SyncdRecord.decode(reader, reader.uint32())); break; case 3: message.mac = reader.bytes(); break; case 4: message.keyId = $root.proto.KeyId.decode(reader, reader.uint32()); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncdSnapshot message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncdSnapshot * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncdSnapshot} SyncdSnapshot * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdSnapshot.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncdSnapshot message. * @function verify * @memberof proto.SyncdSnapshot * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncdSnapshot.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.version != null && message.hasOwnProperty("version")) { var error = $root.proto.SyncdVersion.verify(message.version); if (error) return "version." + error; } if (message.records != null && message.hasOwnProperty("records")) { if (!Array.isArray(message.records)) return "records: array expected"; for (var i = 0; i < message.records.length; ++i) { var error = $root.proto.SyncdRecord.verify(message.records[i]); if (error) return "records." + error; } } if (message.mac != null && message.hasOwnProperty("mac")) if (!(message.mac && typeof message.mac.length === "number" || $util.isString(message.mac))) return "mac: buffer expected"; if (message.keyId != null && message.hasOwnProperty("keyId")) { var error = $root.proto.KeyId.verify(message.keyId); if (error) return "keyId." + error; } return null; }; /** * Creates a SyncdSnapshot message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncdSnapshot * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncdSnapshot} SyncdSnapshot */ SyncdSnapshot.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncdSnapshot) return object; var message = new $root.proto.SyncdSnapshot(); if (object.version != null) { if (typeof object.version !== "object") throw TypeError(".proto.SyncdSnapshot.version: object expected"); message.version = $root.proto.SyncdVersion.fromObject(object.version); } if (object.records) { if (!Array.isArray(object.records)) throw TypeError(".proto.SyncdSnapshot.records: array expected"); message.records = []; for (var i = 0; i < object.records.length; ++i) { if (typeof object.records[i] !== "object") throw TypeError(".proto.SyncdSnapshot.records: object expected"); message.records[i] = $root.proto.SyncdRecord.fromObject(object.records[i]); } } if (object.mac != null) if (typeof object.mac === "string") $util.base64.decode(object.mac, message.mac = $util.newBuffer($util.base64.length(object.mac)), 0); else if (object.mac.length) message.mac = object.mac; if (object.keyId != null) { if (typeof object.keyId !== "object") throw TypeError(".proto.SyncdSnapshot.keyId: object expected"); message.keyId = $root.proto.KeyId.fromObject(object.keyId); } return message; }; /** * Creates a plain object from a SyncdSnapshot message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncdSnapshot * @static * @param {proto.SyncdSnapshot} message SyncdSnapshot * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncdSnapshot.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.records = []; if (options.defaults) { object.version = null; if (options.bytes === String) object.mac = ""; else { object.mac = []; if (options.bytes !== Array) object.mac = $util.newBuffer(object.mac); } object.keyId = null; } if (message.version != null && message.hasOwnProperty("version")) object.version = $root.proto.SyncdVersion.toObject(message.version, options); if (message.records && message.records.length) { object.records = []; for (var j = 0; j < message.records.length; ++j) object.records[j] = $root.proto.SyncdRecord.toObject(message.records[j], options); } if (message.mac != null && message.hasOwnProperty("mac")) object.mac = options.bytes === String ? $util.base64.encode(message.mac, 0, message.mac.length) : options.bytes === Array ? Array.prototype.slice.call(message.mac) : message.mac; if (message.keyId != null && message.hasOwnProperty("keyId")) object.keyId = $root.proto.KeyId.toObject(message.keyId, options); return object; }; /** * Converts this SyncdSnapshot to JSON. * @function toJSON * @memberof proto.SyncdSnapshot * @instance * @returns {Object.<string,*>} JSON object */ SyncdSnapshot.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SyncdSnapshot; })(); proto.SyncdValue = (function() { /** * Properties of a SyncdValue. * @memberof proto * @interface ISyncdValue * @property {Uint8Array|null} [blob] SyncdValue blob */ /** * Constructs a new SyncdValue. * @memberof proto * @classdesc Represents a SyncdValue. * @implements ISyncdValue * @constructor * @param {proto.ISyncdValue=} [properties] Properties to set */ function SyncdValue(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]]; } /** * SyncdValue blob. * @member {Uint8Array} blob * @memberof proto.SyncdValue * @instance */ SyncdValue.prototype.blob = $util.newBuffer([]); /** * Creates a new SyncdValue instance using the specified properties. * @function create * @memberof proto.SyncdValue * @static * @param {proto.ISyncdValue=} [properties] Properties to set * @returns {proto.SyncdValue} SyncdValue instance */ SyncdValue.create = function create(properties) { return new SyncdValue(properties); }; /** * Encodes the specified SyncdValue message. Does not implicitly {@link proto.SyncdValue.verify|verify} messages. * @function encode * @memberof proto.SyncdValue * @static * @param {proto.ISyncdValue} message SyncdValue message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdValue.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.blob != null && Object.hasOwnProperty.call(message, "blob")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.blob); return writer; }; /** * Encodes the specified SyncdValue message, length delimited. Does not implicitly {@link proto.SyncdValue.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncdValue * @static * @param {proto.ISyncdValue} message SyncdValue message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdValue.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncdValue message from the specified reader or buffer. * @function decode * @memberof proto.SyncdValue * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncdValue} SyncdValue * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdValue.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.SyncdValue(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.blob = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncdValue message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncdValue * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncdValue} SyncdValue * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdValue.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncdValue message. * @function verify * @memberof proto.SyncdValue * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncdValue.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.blob != null && message.hasOwnProperty("blob")) if (!(message.blob && typeof message.blob.length === "number" || $util.isString(message.blob))) return "blob: buffer expected"; return null; }; /** * Creates a SyncdValue message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncdValue * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncdValue} SyncdValue */ SyncdValue.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncdValue) return object; var message = new $root.proto.SyncdValue(); if (object.blob != null) if (typeof object.blob === "string") $util.base64.decode(object.blob, message.blob = $util.newBuffer($util.base64.length(object.blob)), 0); else if (object.blob.length) message.blob = object.blob; return message; }; /** * Creates a plain object from a SyncdValue message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncdValue * @static * @param {proto.SyncdValue} message SyncdValue * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncdValue.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) if (options.bytes === String) object.blob = ""; else { object.blob = []; if (options.bytes !== Array) object.blob = $util.newBuffer(object.blob); } if (message.blob != null && message.hasOwnProperty("blob")) object.blob = options.bytes === String ? $util.base64.encode(message.blob, 0, message.blob.length) : options.bytes === Array ? Array.prototype.slice.call(message.blob) : message.blob; return object; }; /** * Converts this SyncdValue to JSON. * @function toJSON * @memberof proto.SyncdValue * @instance * @returns {Object.<string,*>} JSON object */ SyncdValue.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SyncdValue; })(); proto.SyncdVersion = (function() { /** * Properties of a SyncdVersion. * @memberof proto * @interface ISyncdVersion * @property {number|Long|null} [version] SyncdVersion version */ /** * Constructs a new SyncdVersion. * @memberof proto * @classdesc Represents a SyncdVersion. * @implements ISyncdVersion * @constructor * @param {proto.ISyncdVersion=} [properties] Properties to set */ function SyncdVersion(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]]; } /** * SyncdVersion version. * @member {number|Long} version * @memberof proto.SyncdVersion * @instance */ SyncdVersion.prototype.version = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Creates a new SyncdVersion instance using the specified properties. * @function create * @memberof proto.SyncdVersion * @static * @param {proto.ISyncdVersion=} [properties] Properties to set * @returns {proto.SyncdVersion} SyncdVersion instance */ SyncdVersion.create = function create(properties) { return new SyncdVersion(properties); }; /** * Encodes the specified SyncdVersion message. Does not implicitly {@link proto.SyncdVersion.verify|verify} messages. * @function encode * @memberof proto.SyncdVersion * @static * @param {proto.ISyncdVersion} message SyncdVersion message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdVersion.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.version != null && Object.hasOwnProperty.call(message, "version")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.version); return writer; }; /** * Encodes the specified SyncdVersion message, length delimited. Does not implicitly {@link proto.SyncdVersion.verify|verify} messages. * @function encodeDelimited * @memberof proto.SyncdVersion * @static * @param {proto.ISyncdVersion} message SyncdVersion message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ SyncdVersion.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a SyncdVersion message from the specified reader or buffer. * @function decode * @memberof proto.SyncdVersion * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.SyncdVersion} SyncdVersion * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdVersion.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.SyncdVersion(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.version = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a SyncdVersion message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.SyncdVersion * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.SyncdVersion} SyncdVersion * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ SyncdVersion.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a SyncdVersion message. * @function verify * @memberof proto.SyncdVersion * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ SyncdVersion.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isInteger(message.version) && !(message.version && $util.isInteger(message.version.low) && $util.isInteger(message.version.high))) return "version: integer|Long expected"; return null; }; /** * Creates a SyncdVersion message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.SyncdVersion * @static * @param {Object.<string,*>} object Plain object * @returns {proto.SyncdVersion} SyncdVersion */ SyncdVersion.fromObject = function fromObject(object) { if (object instanceof $root.proto.SyncdVersion) return object; var message = new $root.proto.SyncdVersion(); if (object.version != null) if ($util.Long) (message.version = $util.Long.fromValue(object.version)).unsigned = true; else if (typeof object.version === "string") message.version = parseInt(object.version, 10); else if (typeof object.version === "number") message.version = object.version; else if (typeof object.version === "object") message.version = new $util.LongBits(object.version.low >>> 0, object.version.high >>> 0).toNumber(true); return message; }; /** * Creates a plain object from a SyncdVersion message. Also converts values to other types if specified. * @function toObject * @memberof proto.SyncdVersion * @static * @param {proto.SyncdVersion} message SyncdVersion * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ SyncdVersion.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) if ($util.Long) { var long = new $util.Long(0, 0, true); object.version = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.version = options.longs === String ? "0" : 0; if (message.version != null && message.hasOwnProperty("version")) if (typeof message.version === "number") object.version = options.longs === String ? String(message.version) : message.version; else object.version = options.longs === String ? $util.Long.prototype.toString.call(message.version) : options.longs === Number ? new $util.LongBits(message.version.low >>> 0, message.version.high >>> 0).toNumber(true) : message.version; return object; }; /** * Converts this SyncdVersion to JSON. * @function toJSON * @memberof proto.SyncdVersion * @instance * @returns {Object.<string,*>} JSON object */ SyncdVersion.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return SyncdVersion; })(); proto.TemplateButton = (function() { /** * Properties of a TemplateButton. * @memberof proto * @interface ITemplateButton * @property {number|null} [index] TemplateButton index * @property {proto.TemplateButton.IQuickReplyButton|null} [quickReplyButton] TemplateButton quickReplyButton * @property {proto.TemplateButton.IURLButton|null} [urlButton] TemplateButton urlButton * @property {proto.TemplateButton.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.TemplateButton.IQuickReplyButton|null|undefined} quickReplyButton * @memberof proto.TemplateButton * @instance */ TemplateButton.prototype.quickReplyButton = null; /** * TemplateButton urlButton. * @member {proto.TemplateButton.IURLButton|null|undefined} urlButton * @memberof proto.TemplateButton * @instance */ TemplateButton.prototype.urlButton = null; /** * TemplateButton callButton. * @member {proto.TemplateButton.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.TemplateButton.QuickReplyButton.encode(message.quickReplyButton, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.urlButton != null && Object.hasOwnProperty.call(message, "urlButton")) $root.proto.TemplateButton.URLButton.encode(message.urlButton, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); if (message.callButton != null && Object.hasOwnProperty.call(message, "callButton")) $root.proto.TemplateButton.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.TemplateButton.QuickReplyButton.decode(reader, reader.uint32()); break; case 2: message.urlButton = $root.proto.TemplateButton.URLButton.decode(reader, reader.uint32()); break; case 3: message.callButton = $root.proto.TemplateButton.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.<string,*>} 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.TemplateButton.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.TemplateButton.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.TemplateButton.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.<string,*>} 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.TemplateButton.QuickReplyButton.fromObject(object.quickReplyButton); } if (object.urlButton != null) { if (typeof object.urlButton !== "object") throw TypeError(".proto.TemplateButton.urlButton: object expected"); message.urlButton = $root.proto.TemplateButton.URLButton.fromObject(object.urlButton); } if (object.callButton != null) { if (typeof object.callButton !== "object") throw TypeError(".proto.TemplateButton.callButton: object expected"); message.callButton = $root.proto.TemplateButton.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.<string,*>} 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.TemplateButton.QuickReplyButton.toObject(message.quickReplyButton, options); if (options.oneofs) object.button = "quickReplyButton"; } if (message.urlButton != null && message.hasOwnProperty("urlButton")) { object.urlButton = $root.proto.TemplateButton.URLButton.toObject(message.urlButton, options); if (options.oneofs) object.button = "urlButton"; } if (message.callButton != null && message.hasOwnProperty("callButton")) { object.callButton = $root.proto.TemplateButton.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.<string,*>} JSON object */ TemplateButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; TemplateButton.CallButton = (function() { /** * Properties of a CallButton. * @memberof proto.TemplateButton * @interface ICallButton * @property {proto.Message.IHighlyStructuredMessage|null} [displayText] CallButton displayText * @property {proto.Message.IHighlyStructuredMessage|null} [phoneNumber] CallButton phoneNumber */ /** * Constructs a new CallButton. * @memberof proto.TemplateButton * @classdesc Represents a CallButton. * @implements ICallButton * @constructor * @param {proto.TemplateButton.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.Message.IHighlyStructuredMessage|null|undefined} displayText * @memberof proto.TemplateButton.CallButton * @instance */ CallButton.prototype.displayText = null; /** * CallButton phoneNumber. * @member {proto.Message.IHighlyStructuredMessage|null|undefined} phoneNumber * @memberof proto.TemplateButton.CallButton * @instance */ CallButton.prototype.phoneNumber = null; /** * Creates a new CallButton instance using the specified properties. * @function create * @memberof proto.TemplateButton.CallButton * @static * @param {proto.TemplateButton.ICallButton=} [properties] Properties to set * @returns {proto.TemplateButton.CallButton} CallButton instance */ CallButton.create = function create(properties) { return new CallButton(properties); }; /** * Encodes the specified CallButton message. Does not implicitly {@link proto.TemplateButton.CallButton.verify|verify} messages. * @function encode * @memberof proto.TemplateButton.CallButton * @static * @param {proto.TemplateButton.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.Message.HighlyStructuredMessage.encode(message.displayText, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.phoneNumber != null && Object.hasOwnProperty.call(message, "phoneNumber")) $root.proto.Message.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.TemplateButton.CallButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.TemplateButton.CallButton * @static * @param {proto.TemplateButton.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.TemplateButton.CallButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.TemplateButton.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.TemplateButton.CallButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayText = $root.proto.Message.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 2: message.phoneNumber = $root.proto.Message.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.TemplateButton.CallButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.TemplateButton.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.TemplateButton.CallButton * @static * @param {Object.<string,*>} 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.Message.HighlyStructuredMessage.verify(message.displayText); if (error) return "displayText." + error; } if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) { var error = $root.proto.Message.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.TemplateButton.CallButton * @static * @param {Object.<string,*>} object Plain object * @returns {proto.TemplateButton.CallButton} CallButton */ CallButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.TemplateButton.CallButton) return object; var message = new $root.proto.TemplateButton.CallButton(); if (object.displayText != null) { if (typeof object.displayText !== "object") throw TypeError(".proto.TemplateButton.CallButton.displayText: object expected"); message.displayText = $root.proto.Message.HighlyStructuredMessage.fromObject(object.displayText); } if (object.phoneNumber != null) { if (typeof object.phoneNumber !== "object") throw TypeError(".proto.TemplateButton.CallButton.phoneNumber: object expected"); message.phoneNumber = $root.proto.Message.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.TemplateButton.CallButton * @static * @param {proto.TemplateButton.CallButton} message CallButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.HighlyStructuredMessage.toObject(message.displayText, options); if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) object.phoneNumber = $root.proto.Message.HighlyStructuredMessage.toObject(message.phoneNumber, options); return object; }; /** * Converts this CallButton to JSON. * @function toJSON * @memberof proto.TemplateButton.CallButton * @instance * @returns {Object.<string,*>} JSON object */ CallButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return CallButton; })(); TemplateButton.QuickReplyButton = (function() { /** * Properties of a QuickReplyButton. * @memberof proto.TemplateButton * @interface IQuickReplyButton * @property {proto.Message.IHighlyStructuredMessage|null} [displayText] QuickReplyButton displayText * @property {string|null} [id] QuickReplyButton id */ /** * Constructs a new QuickReplyButton. * @memberof proto.TemplateButton * @classdesc Represents a QuickReplyButton. * @implements IQuickReplyButton * @constructor * @param {proto.TemplateButton.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.Message.IHighlyStructuredMessage|null|undefined} displayText * @memberof proto.TemplateButton.QuickReplyButton * @instance */ QuickReplyButton.prototype.displayText = null; /** * QuickReplyButton id. * @member {string} id * @memberof proto.TemplateButton.QuickReplyButton * @instance */ QuickReplyButton.prototype.id = ""; /** * Creates a new QuickReplyButton instance using the specified properties. * @function create * @memberof proto.TemplateButton.QuickReplyButton * @static * @param {proto.TemplateButton.IQuickReplyButton=} [properties] Properties to set * @returns {proto.TemplateButton.QuickReplyButton} QuickReplyButton instance */ QuickReplyButton.create = function create(properties) { return new QuickReplyButton(properties); }; /** * Encodes the specified QuickReplyButton message. Does not implicitly {@link proto.TemplateButton.QuickReplyButton.verify|verify} messages. * @function encode * @memberof proto.TemplateButton.QuickReplyButton * @static * @param {proto.TemplateButton.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.Message.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.TemplateButton.QuickReplyButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.TemplateButton.QuickReplyButton * @static * @param {proto.TemplateButton.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.TemplateButton.QuickReplyButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.TemplateButton.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.TemplateButton.QuickReplyButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayText = $root.proto.Message.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.TemplateButton.QuickReplyButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.TemplateButton.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.TemplateButton.QuickReplyButton * @static * @param {Object.<string,*>} 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.Message.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.TemplateButton.QuickReplyButton * @static * @param {Object.<string,*>} object Plain object * @returns {proto.TemplateButton.QuickReplyButton} QuickReplyButton */ QuickReplyButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.TemplateButton.QuickReplyButton) return object; var message = new $root.proto.TemplateButton.QuickReplyButton(); if (object.displayText != null) { if (typeof object.displayText !== "object") throw TypeError(".proto.TemplateButton.QuickReplyButton.displayText: object expected"); message.displayText = $root.proto.Message.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.TemplateButton.QuickReplyButton * @static * @param {proto.TemplateButton.QuickReplyButton} message QuickReplyButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.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.TemplateButton.QuickReplyButton * @instance * @returns {Object.<string,*>} JSON object */ QuickReplyButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return QuickReplyButton; })(); TemplateButton.URLButton = (function() { /** * Properties of a URLButton. * @memberof proto.TemplateButton * @interface IURLButton * @property {proto.Message.IHighlyStructuredMessage|null} [displayText] URLButton displayText * @property {proto.Message.IHighlyStructuredMessage|null} [url] URLButton url */ /** * Constructs a new URLButton. * @memberof proto.TemplateButton * @classdesc Represents a URLButton. * @implements IURLButton * @constructor * @param {proto.TemplateButton.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.Message.IHighlyStructuredMessage|null|undefined} displayText * @memberof proto.TemplateButton.URLButton * @instance */ URLButton.prototype.displayText = null; /** * URLButton url. * @member {proto.Message.IHighlyStructuredMessage|null|undefined} url * @memberof proto.TemplateButton.URLButton * @instance */ URLButton.prototype.url = null; /** * Creates a new URLButton instance using the specified properties. * @function create * @memberof proto.TemplateButton.URLButton * @static * @param {proto.TemplateButton.IURLButton=} [properties] Properties to set * @returns {proto.TemplateButton.URLButton} URLButton instance */ URLButton.create = function create(properties) { return new URLButton(properties); }; /** * Encodes the specified URLButton message. Does not implicitly {@link proto.TemplateButton.URLButton.verify|verify} messages. * @function encode * @memberof proto.TemplateButton.URLButton * @static * @param {proto.TemplateButton.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.Message.HighlyStructuredMessage.encode(message.displayText, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.url != null && Object.hasOwnProperty.call(message, "url")) $root.proto.Message.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.TemplateButton.URLButton.verify|verify} messages. * @function encodeDelimited * @memberof proto.TemplateButton.URLButton * @static * @param {proto.TemplateButton.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.TemplateButton.URLButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.TemplateButton.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.TemplateButton.URLButton(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.displayText = $root.proto.Message.HighlyStructuredMessage.decode(reader, reader.uint32()); break; case 2: message.url = $root.proto.Message.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.TemplateButton.URLButton * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.TemplateButton.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.TemplateButton.URLButton * @static * @param {Object.<string,*>} 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.Message.HighlyStructuredMessage.verify(message.displayText); if (error) return "displayText." + error; } if (message.url != null && message.hasOwnProperty("url")) { var error = $root.proto.Message.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.TemplateButton.URLButton * @static * @param {Object.<string,*>} object Plain object * @returns {proto.TemplateButton.URLButton} URLButton */ URLButton.fromObject = function fromObject(object) { if (object instanceof $root.proto.TemplateButton.URLButton) return object; var message = new $root.proto.TemplateButton.URLButton(); if (object.displayText != null) { if (typeof object.displayText !== "object") throw TypeError(".proto.TemplateButton.URLButton.displayText: object expected"); message.displayText = $root.proto.Message.HighlyStructuredMessage.fromObject(object.displayText); } if (object.url != null) { if (typeof object.url !== "object") throw TypeError(".proto.TemplateButton.URLButton.url: object expected"); message.url = $root.proto.Message.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.TemplateButton.URLButton * @static * @param {proto.TemplateButton.URLButton} message URLButton * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} 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.Message.HighlyStructuredMessage.toObject(message.displayText, options); if (message.url != null && message.hasOwnProperty("url")) object.url = $root.proto.Message.HighlyStructuredMessage.toObject(message.url, options); return object; }; /** * Converts this URLButton to JSON. * @function toJSON * @memberof proto.TemplateButton.URLButton * @instance * @returns {Object.<string,*>} JSON object */ URLButton.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return URLButton; })(); return TemplateButton; })(); proto.UserReceipt = (function() { /** * Properties of a UserReceipt. * @memberof proto * @interface IUserReceipt * @property {string} userJid UserReceipt userJid * @property {number|Long|null} [receiptTimestamp] UserReceipt receiptTimestamp * @property {number|Long|null} [readTimestamp] UserReceipt readTimestamp * @property {number|Long|null} [playedTimestamp] UserReceipt playedTimestamp * @property {Array.<string>|null} [pendingDeviceJid] UserReceipt pendingDeviceJid * @property {Array.<string>|null} [deliveredDeviceJid] UserReceipt deliveredDeviceJid */ /** * Constructs a new UserReceipt. * @memberof proto * @classdesc Represents a UserReceipt. * @implements IUserReceipt * @constructor * @param {proto.IUserReceipt=} [properties] Properties to set */ function UserReceipt(properties) { this.pendingDeviceJid = []; this.deliveredDeviceJid = []; 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]]; } /** * UserReceipt userJid. * @member {string} userJid * @memberof proto.UserReceipt * @instance */ UserReceipt.prototype.userJid = ""; /** * UserReceipt receiptTimestamp. * @member {number|Long} receiptTimestamp * @memberof proto.UserReceipt * @instance */ UserReceipt.prototype.receiptTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * UserReceipt readTimestamp. * @member {number|Long} readTimestamp * @memberof proto.UserReceipt * @instance */ UserReceipt.prototype.readTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * UserReceipt playedTimestamp. * @member {number|Long} playedTimestamp * @memberof proto.UserReceipt * @instance */ UserReceipt.prototype.playedTimestamp = $util.Long ? $util.Long.fromBits(0,0,false) : 0; /** * UserReceipt pendingDeviceJid. * @member {Array.<string>} pendingDeviceJid * @memberof proto.UserReceipt * @instance */ UserReceipt.prototype.pendingDeviceJid = $util.emptyArray; /** * UserReceipt deliveredDeviceJid. * @member {Array.<string>} deliveredDeviceJid * @memberof proto.UserReceipt * @instance */ UserReceipt.prototype.deliveredDeviceJid = $util.emptyArray; /** * Creates a new UserReceipt instance using the specified properties. * @function create * @memberof proto.UserReceipt * @static * @param {proto.IUserReceipt=} [properties] Properties to set * @returns {proto.UserReceipt} UserReceipt instance */ UserReceipt.create = function create(properties) { return new UserReceipt(properties); }; /** * Encodes the specified UserReceipt message. Does not implicitly {@link proto.UserReceipt.verify|verify} messages. * @function encode * @memberof proto.UserReceipt * @static * @param {proto.IUserReceipt} message UserReceipt message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ UserReceipt.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); writer.uint32(/* id 1, wireType 2 =*/10).string(message.userJid); if (message.receiptTimestamp != null && Object.hasOwnProperty.call(message, "receiptTimestamp")) writer.uint32(/* id 2, wireType 0 =*/16).int64(message.receiptTimestamp); if (message.readTimestamp != null && Object.hasOwnProperty.call(message, "readTimestamp")) writer.uint32(/* id 3, wireType 0 =*/24).int64(message.readTimestamp); if (message.playedTimestamp != null && Object.hasOwnProperty.call(message, "playedTimestamp")) writer.uint32(/* id 4, wireType 0 =*/32).int64(message.playedTimestamp); if (message.pendingDeviceJid != null && message.pendingDeviceJid.length) for (var i = 0; i < message.pendingDeviceJid.length; ++i) writer.uint32(/* id 5, wireType 2 =*/42).string(message.pendingDeviceJid[i]); if (message.deliveredDeviceJid != null && message.deliveredDeviceJid.length) for (var i = 0; i < message.deliveredDeviceJid.length; ++i) writer.uint32(/* id 6, wireType 2 =*/50).string(message.deliveredDeviceJid[i]); return writer; }; /** * Encodes the specified UserReceipt message, length delimited. Does not implicitly {@link proto.UserReceipt.verify|verify} messages. * @function encodeDelimited * @memberof proto.UserReceipt * @static * @param {proto.IUserReceipt} message UserReceipt message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ UserReceipt.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a UserReceipt message from the specified reader or buffer. * @function decode * @memberof proto.UserReceipt * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.UserReceipt} UserReceipt * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ UserReceipt.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.UserReceipt(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.userJid = reader.string(); break; case 2: message.receiptTimestamp = reader.int64(); break; case 3: message.readTimestamp = reader.int64(); break; case 4: message.playedTimestamp = reader.int64(); break; case 5: if (!(message.pendingDeviceJid && message.pendingDeviceJid.length)) message.pendingDeviceJid = []; message.pendingDeviceJid.push(reader.string()); break; case 6: if (!(message.deliveredDeviceJid && message.deliveredDeviceJid.length)) message.deliveredDeviceJid = []; message.deliveredDeviceJid.push(reader.string()); break; default: reader.skipType(tag & 7); break; } } if (!message.hasOwnProperty("userJid")) throw $util.ProtocolError("missing required 'userJid'", { instance: message }); return message; }; /** * Decodes a UserReceipt message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.UserReceipt * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.UserReceipt} UserReceipt * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ UserReceipt.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a UserReceipt message. * @function verify * @memberof proto.UserReceipt * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ UserReceipt.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (!$util.isString(message.userJid)) return "userJid: string expected"; if (message.receiptTimestamp != null && message.hasOwnProperty("receiptTimestamp")) if (!$util.isInteger(message.receiptTimestamp) && !(message.receiptTimestamp && $util.isInteger(message.receiptTimestamp.low) && $util.isInteger(message.receiptTimestamp.high))) return "receiptTimestamp: integer|Long expected"; if (message.readTimestamp != null && message.hasOwnProperty("readTimestamp")) if (!$util.isInteger(message.readTimestamp) && !(message.readTimestamp && $util.isInteger(message.readTimestamp.low) && $util.isInteger(message.readTimestamp.high))) return "readTimestamp: integer|Long expected"; if (message.playedTimestamp != null && message.hasOwnProperty("playedTimestamp")) if (!$util.isInteger(message.playedTimestamp) && !(message.playedTimestamp && $util.isInteger(message.playedTimestamp.low) && $util.isInteger(message.playedTimestamp.high))) return "playedTimestamp: integer|Long expected"; if (message.pendingDeviceJid != null && message.hasOwnProperty("pendingDeviceJid")) { if (!Array.isArray(message.pendingDeviceJid)) return "pendingDeviceJid: array expected"; for (var i = 0; i < message.pendingDeviceJid.length; ++i) if (!$util.isString(message.pendingDeviceJid[i])) return "pendingDeviceJid: string[] expected"; } if (message.deliveredDeviceJid != null && message.hasOwnProperty("deliveredDeviceJid")) { if (!Array.isArray(message.deliveredDeviceJid)) return "deliveredDeviceJid: array expected"; for (var i = 0; i < message.deliveredDeviceJid.length; ++i) if (!$util.isString(message.deliveredDeviceJid[i])) return "deliveredDeviceJid: string[] expected"; } return null; }; /** * Creates a UserReceipt message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.UserReceipt * @static * @param {Object.<string,*>} object Plain object * @returns {proto.UserReceipt} UserReceipt */ UserReceipt.fromObject = function fromObject(object) { if (object instanceof $root.proto.UserReceipt) return object; var message = new $root.proto.UserReceipt(); if (object.userJid != null) message.userJid = String(object.userJid); if (object.receiptTimestamp != null) if ($util.Long) (message.receiptTimestamp = $util.Long.fromValue(object.receiptTimestamp)).unsigned = false; else if (typeof object.receiptTimestamp === "string") message.receiptTimestamp = parseInt(object.receiptTimestamp, 10); else if (typeof object.receiptTimestamp === "number") message.receiptTimestamp = object.receiptTimestamp; else if (typeof object.receiptTimestamp === "object") message.receiptTimestamp = new $util.LongBits(object.receiptTimestamp.low >>> 0, object.receiptTimestamp.high >>> 0).toNumber(); if (object.readTimestamp != null) if ($util.Long) (message.readTimestamp = $util.Long.fromValue(object.readTimestamp)).unsigned = false; else if (typeof object.readTimestamp === "string") message.readTimestamp = parseInt(object.readTimestamp, 10); else if (typeof object.readTimestamp === "number") message.readTimestamp = object.readTimestamp; else if (typeof object.readTimestamp === "object") message.readTimestamp = new $util.LongBits(object.readTimestamp.low >>> 0, object.readTimestamp.high >>> 0).toNumber(); if (object.playedTimestamp != null) if ($util.Long) (message.playedTimestamp = $util.Long.fromValue(object.playedTimestamp)).unsigned = false; else if (typeof object.playedTimestamp === "string") message.playedTimestamp = parseInt(object.playedTimestamp, 10); else if (typeof object.playedTimestamp === "number") message.playedTimestamp = object.playedTimestamp; else if (typeof object.playedTimestamp === "object") message.playedTimestamp = new $util.LongBits(object.playedTimestamp.low >>> 0, object.playedTimestamp.high >>> 0).toNumber(); if (object.pendingDeviceJid) { if (!Array.isArray(object.pendingDeviceJid)) throw TypeError(".proto.UserReceipt.pendingDeviceJid: array expected"); message.pendingDeviceJid = []; for (var i = 0; i < object.pendingDeviceJid.length; ++i) message.pendingDeviceJid[i] = String(object.pendingDeviceJid[i]); } if (object.deliveredDeviceJid) { if (!Array.isArray(object.deliveredDeviceJid)) throw TypeError(".proto.UserReceipt.deliveredDeviceJid: array expected"); message.deliveredDeviceJid = []; for (var i = 0; i < object.deliveredDeviceJid.length; ++i) message.deliveredDeviceJid[i] = String(object.deliveredDeviceJid[i]); } return message; }; /** * Creates a plain object from a UserReceipt message. Also converts values to other types if specified. * @function toObject * @memberof proto.UserReceipt * @static * @param {proto.UserReceipt} message UserReceipt * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ UserReceipt.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.pendingDeviceJid = []; object.deliveredDeviceJid = []; } if (options.defaults) { object.userJid = ""; if ($util.Long) { var long = new $util.Long(0, 0, false); object.receiptTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.receiptTimestamp = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.readTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.readTimestamp = options.longs === String ? "0" : 0; if ($util.Long) { var long = new $util.Long(0, 0, false); object.playedTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.playedTimestamp = options.longs === String ? "0" : 0; } if (message.userJid != null && message.hasOwnProperty("userJid")) object.userJid = message.userJid; if (message.receiptTimestamp != null && message.hasOwnProperty("receiptTimestamp")) if (typeof message.receiptTimestamp === "number") object.receiptTimestamp = options.longs === String ? String(message.receiptTimestamp) : message.receiptTimestamp; else object.receiptTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.receiptTimestamp) : options.longs === Number ? new $util.LongBits(message.receiptTimestamp.low >>> 0, message.receiptTimestamp.high >>> 0).toNumber() : message.receiptTimestamp; if (message.readTimestamp != null && message.hasOwnProperty("readTimestamp")) if (typeof message.readTimestamp === "number") object.readTimestamp = options.longs === String ? String(message.readTimestamp) : message.readTimestamp; else object.readTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.readTimestamp) : options.longs === Number ? new $util.LongBits(message.readTimestamp.low >>> 0, message.readTimestamp.high >>> 0).toNumber() : message.readTimestamp; if (message.playedTimestamp != null && message.hasOwnProperty("playedTimestamp")) if (typeof message.playedTimestamp === "number") object.playedTimestamp = options.longs === String ? String(message.playedTimestamp) : message.playedTimestamp; else object.playedTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.playedTimestamp) : options.longs === Number ? new $util.LongBits(message.playedTimestamp.low >>> 0, message.playedTimestamp.high >>> 0).toNumber() : message.playedTimestamp; if (message.pendingDeviceJid && message.pendingDeviceJid.length) { object.pendingDeviceJid = []; for (var j = 0; j < message.pendingDeviceJid.length; ++j) object.pendingDeviceJid[j] = message.pendingDeviceJid[j]; } if (message.deliveredDeviceJid && message.deliveredDeviceJid.length) { object.deliveredDeviceJid = []; for (var j = 0; j < message.deliveredDeviceJid.length; ++j) object.deliveredDeviceJid[j] = message.deliveredDeviceJid[j]; } return object; }; /** * Converts this UserReceipt to JSON. * @function toJSON * @memberof proto.UserReceipt * @instance * @returns {Object.<string,*>} JSON object */ UserReceipt.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return UserReceipt; })(); proto.VerifiedNameCertificate = (function() { /** * Properties of a VerifiedNameCertificate. * @memberof proto * @interface IVerifiedNameCertificate * @property {Uint8Array|null} [details] VerifiedNameCertificate details * @property {Uint8Array|null} [signature] VerifiedNameCertificate signature * @property {Uint8Array|null} [serverSignature] VerifiedNameCertificate serverSignature */ /** * Constructs a new VerifiedNameCertificate. * @memberof proto * @classdesc Represents a VerifiedNameCertificate. * @implements IVerifiedNameCertificate * @constructor * @param {proto.IVerifiedNameCertificate=} [properties] Properties to set */ function VerifiedNameCertificate(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]]; } /** * VerifiedNameCertificate details. * @member {Uint8Array} details * @memberof proto.VerifiedNameCertificate * @instance */ VerifiedNameCertificate.prototype.details = $util.newBuffer([]); /** * VerifiedNameCertificate signature. * @member {Uint8Array} signature * @memberof proto.VerifiedNameCertificate * @instance */ VerifiedNameCertificate.prototype.signature = $util.newBuffer([]); /** * VerifiedNameCertificate serverSignature. * @member {Uint8Array} serverSignature * @memberof proto.VerifiedNameCertificate * @instance */ VerifiedNameCertificate.prototype.serverSignature = $util.newBuffer([]); /** * Creates a new VerifiedNameCertificate instance using the specified properties. * @function create * @memberof proto.VerifiedNameCertificate * @static * @param {proto.IVerifiedNameCertificate=} [properties] Properties to set * @returns {proto.VerifiedNameCertificate} VerifiedNameCertificate instance */ VerifiedNameCertificate.create = function create(properties) { return new VerifiedNameCertificate(properties); }; /** * Encodes the specified VerifiedNameCertificate message. Does not implicitly {@link proto.VerifiedNameCertificate.verify|verify} messages. * @function encode * @memberof proto.VerifiedNameCertificate * @static * @param {proto.IVerifiedNameCertificate} message VerifiedNameCertificate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ VerifiedNameCertificate.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.details != null && Object.hasOwnProperty.call(message, "details")) writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.details); if (message.signature != null && Object.hasOwnProperty.call(message, "signature")) writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.signature); if (message.serverSignature != null && Object.hasOwnProperty.call(message, "serverSignature")) writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.serverSignature); return writer; }; /** * Encodes the specified VerifiedNameCertificate message, length delimited. Does not implicitly {@link proto.VerifiedNameCertificate.verify|verify} messages. * @function encodeDelimited * @memberof proto.VerifiedNameCertificate * @static * @param {proto.IVerifiedNameCertificate} message VerifiedNameCertificate message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ VerifiedNameCertificate.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a VerifiedNameCertificate message from the specified reader or buffer. * @function decode * @memberof proto.VerifiedNameCertificate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.VerifiedNameCertificate} VerifiedNameCertificate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ VerifiedNameCertificate.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.VerifiedNameCertificate(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.details = reader.bytes(); break; case 2: message.signature = reader.bytes(); break; case 3: message.serverSignature = reader.bytes(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a VerifiedNameCertificate message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.VerifiedNameCertificate * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.VerifiedNameCertificate} VerifiedNameCertificate * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ VerifiedNameCertificate.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a VerifiedNameCertificate message. * @function verify * @memberof proto.VerifiedNameCertificate * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ VerifiedNameCertificate.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.details != null && message.hasOwnProperty("details")) if (!(message.details && typeof message.details.length === "number" || $util.isString(message.details))) return "details: buffer expected"; if (message.signature != null && message.hasOwnProperty("signature")) if (!(message.signature && typeof message.signature.length === "number" || $util.isString(message.signature))) return "signature: buffer expected"; if (message.serverSignature != null && message.hasOwnProperty("serverSignature")) if (!(message.serverSignature && typeof message.serverSignature.length === "number" || $util.isString(message.serverSignature))) return "serverSignature: buffer expected"; return null; }; /** * Creates a VerifiedNameCertificate message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.VerifiedNameCertificate * @static * @param {Object.<string,*>} object Plain object * @returns {proto.VerifiedNameCertificate} VerifiedNameCertificate */ VerifiedNameCertificate.fromObject = function fromObject(object) { if (object instanceof $root.proto.VerifiedNameCertificate) return object; var message = new $root.proto.VerifiedNameCertificate(); if (object.details != null) if (typeof object.details === "string") $util.base64.decode(object.details, message.details = $util.newBuffer($util.base64.length(object.details)), 0); else if (object.details.length) message.details = object.details; if (object.signature != null) if (typeof object.signature === "string") $util.base64.decode(object.signature, message.signature = $util.newBuffer($util.base64.length(object.signature)), 0); else if (object.signature.length) message.signature = object.signature; if (object.serverSignature != null) if (typeof object.serverSignature === "string") $util.base64.decode(object.serverSignature, message.serverSignature = $util.newBuffer($util.base64.length(object.serverSignature)), 0); else if (object.serverSignature.length) message.serverSignature = object.serverSignature; return message; }; /** * Creates a plain object from a VerifiedNameCertificate message. Also converts values to other types if specified. * @function toObject * @memberof proto.VerifiedNameCertificate * @static * @param {proto.VerifiedNameCertificate} message VerifiedNameCertificate * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ VerifiedNameCertificate.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { if (options.bytes === String) object.details = ""; else { object.details = []; if (options.bytes !== Array) object.details = $util.newBuffer(object.details); } if (options.bytes === String) object.signature = ""; else { object.signature = []; if (options.bytes !== Array) object.signature = $util.newBuffer(object.signature); } if (options.bytes === String) object.serverSignature = ""; else { object.serverSignature = []; if (options.bytes !== Array) object.serverSignature = $util.newBuffer(object.serverSignature); } } if (message.details != null && message.hasOwnProperty("details")) object.details = options.bytes === String ? $util.base64.encode(message.details, 0, message.details.length) : options.bytes === Array ? Array.prototype.slice.call(message.details) : message.details; if (message.signature != null && message.hasOwnProperty("signature")) object.signature = options.bytes === String ? $util.base64.encode(message.signature, 0, message.signature.length) : options.bytes === Array ? Array.prototype.slice.call(message.signature) : message.signature; if (message.serverSignature != null && message.hasOwnProperty("serverSignature")) object.serverSignature = options.bytes === String ? $util.base64.encode(message.serverSignature, 0, message.serverSignature.length) : options.bytes === Array ? Array.prototype.slice.call(message.serverSignature) : message.serverSignature; return object; }; /** * Converts this VerifiedNameCertificate to JSON. * @function toJSON * @memberof proto.VerifiedNameCertificate * @instance * @returns {Object.<string,*>} JSON object */ VerifiedNameCertificate.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; VerifiedNameCertificate.Details = (function() { /** * Properties of a Details. * @memberof proto.VerifiedNameCertificate * @interface IDetails * @property {number|Long|null} [serial] Details serial * @property {string|null} [issuer] Details issuer * @property {string|null} [verifiedName] Details verifiedName * @property {Array.<proto.ILocalizedName>|null} [localizedNames] Details localizedNames * @property {number|Long|null} [issueTime] Details issueTime */ /** * Constructs a new Details. * @memberof proto.VerifiedNameCertificate * @classdesc Represents a Details. * @implements IDetails * @constructor * @param {proto.VerifiedNameCertificate.IDetails=} [properties] Properties to set */ function Details(properties) { this.localizedNames = []; 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]]; } /** * Details serial. * @member {number|Long} serial * @memberof proto.VerifiedNameCertificate.Details * @instance */ Details.prototype.serial = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Details issuer. * @member {string} issuer * @memberof proto.VerifiedNameCertificate.Details * @instance */ Details.prototype.issuer = ""; /** * Details verifiedName. * @member {string} verifiedName * @memberof proto.VerifiedNameCertificate.Details * @instance */ Details.prototype.verifiedName = ""; /** * Details localizedNames. * @member {Array.<proto.ILocalizedName>} localizedNames * @memberof proto.VerifiedNameCertificate.Details * @instance */ Details.prototype.localizedNames = $util.emptyArray; /** * Details issueTime. * @member {number|Long} issueTime * @memberof proto.VerifiedNameCertificate.Details * @instance */ Details.prototype.issueTime = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * Creates a new Details instance using the specified properties. * @function create * @memberof proto.VerifiedNameCertificate.Details * @static * @param {proto.VerifiedNameCertificate.IDetails=} [properties] Properties to set * @returns {proto.VerifiedNameCertificate.Details} Details instance */ Details.create = function create(properties) { return new Details(properties); }; /** * Encodes the specified Details message. Does not implicitly {@link proto.VerifiedNameCertificate.Details.verify|verify} messages. * @function encode * @memberof proto.VerifiedNameCertificate.Details * @static * @param {proto.VerifiedNameCertificate.IDetails} message Details message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Details.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.serial != null && Object.hasOwnProperty.call(message, "serial")) writer.uint32(/* id 1, wireType 0 =*/8).uint64(message.serial); if (message.issuer != null && Object.hasOwnProperty.call(message, "issuer")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.issuer); if (message.verifiedName != null && Object.hasOwnProperty.call(message, "verifiedName")) writer.uint32(/* id 4, wireType 2 =*/34).string(message.verifiedName); if (message.localizedNames != null && message.localizedNames.length) for (var i = 0; i < message.localizedNames.length; ++i) $root.proto.LocalizedName.encode(message.localizedNames[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); if (message.issueTime != null && Object.hasOwnProperty.call(message, "issueTime")) writer.uint32(/* id 10, wireType 0 =*/80).uint64(message.issueTime); return writer; }; /** * Encodes the specified Details message, length delimited. Does not implicitly {@link proto.VerifiedNameCertificate.Details.verify|verify} messages. * @function encodeDelimited * @memberof proto.VerifiedNameCertificate.Details * @static * @param {proto.VerifiedNameCertificate.IDetails} message Details message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ Details.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a Details message from the specified reader or buffer. * @function decode * @memberof proto.VerifiedNameCertificate.Details * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.VerifiedNameCertificate.Details} Details * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Details.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.VerifiedNameCertificate.Details(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.serial = reader.uint64(); break; case 2: message.issuer = reader.string(); break; case 4: message.verifiedName = reader.string(); break; case 8: if (!(message.localizedNames && message.localizedNames.length)) message.localizedNames = []; message.localizedNames.push($root.proto.LocalizedName.decode(reader, reader.uint32())); break; case 10: message.issueTime = reader.uint64(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a Details message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.VerifiedNameCertificate.Details * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.VerifiedNameCertificate.Details} Details * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ Details.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a Details message. * @function verify * @memberof proto.VerifiedNameCertificate.Details * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ Details.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.serial != null && message.hasOwnProperty("serial")) if (!$util.isInteger(message.serial) && !(message.serial && $util.isInteger(message.serial.low) && $util.isInteger(message.serial.high))) return "serial: integer|Long expected"; if (message.issuer != null && message.hasOwnProperty("issuer")) if (!$util.isString(message.issuer)) return "issuer: string expected"; if (message.verifiedName != null && message.hasOwnProperty("verifiedName")) if (!$util.isString(message.verifiedName)) return "verifiedName: string expected"; if (message.localizedNames != null && message.hasOwnProperty("localizedNames")) { if (!Array.isArray(message.localizedNames)) return "localizedNames: array expected"; for (var i = 0; i < message.localizedNames.length; ++i) { var error = $root.proto.LocalizedName.verify(message.localizedNames[i]); if (error) return "localizedNames." + error; } } if (message.issueTime != null && message.hasOwnProperty("issueTime")) if (!$util.isInteger(message.issueTime) && !(message.issueTime && $util.isInteger(message.issueTime.low) && $util.isInteger(message.issueTime.high))) return "issueTime: integer|Long expected"; return null; }; /** * Creates a Details message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.VerifiedNameCertificate.Details * @static * @param {Object.<string,*>} object Plain object * @returns {proto.VerifiedNameCertificate.Details} Details */ Details.fromObject = function fromObject(object) { if (object instanceof $root.proto.VerifiedNameCertificate.Details) return object; var message = new $root.proto.VerifiedNameCertificate.Details(); if (object.serial != null) if ($util.Long) (message.serial = $util.Long.fromValue(object.serial)).unsigned = true; else if (typeof object.serial === "string") message.serial = parseInt(object.serial, 10); else if (typeof object.serial === "number") message.serial = object.serial; else if (typeof object.serial === "object") message.serial = new $util.LongBits(object.serial.low >>> 0, object.serial.high >>> 0).toNumber(true); if (object.issuer != null) message.issuer = String(object.issuer); if (object.verifiedName != null) message.verifiedName = String(object.verifiedName); if (object.localizedNames) { if (!Array.isArray(object.localizedNames)) throw TypeError(".proto.VerifiedNameCertificate.Details.localizedNames: array expected"); message.localizedNames = []; for (var i = 0; i < object.localizedNames.length; ++i) { if (typeof object.localizedNames[i] !== "object") throw TypeError(".proto.VerifiedNameCertificate.Details.localizedNames: object expected"); message.localizedNames[i] = $root.proto.LocalizedName.fromObject(object.localizedNames[i]); } } if (object.issueTime != null) if ($util.Long) (message.issueTime = $util.Long.fromValue(object.issueTime)).unsigned = true; else if (typeof object.issueTime === "string") message.issueTime = parseInt(object.issueTime, 10); else if (typeof object.issueTime === "number") message.issueTime = object.issueTime; else if (typeof object.issueTime === "object") message.issueTime = new $util.LongBits(object.issueTime.low >>> 0, object.issueTime.high >>> 0).toNumber(true); return message; }; /** * Creates a plain object from a Details message. Also converts values to other types if specified. * @function toObject * @memberof proto.VerifiedNameCertificate.Details * @static * @param {proto.VerifiedNameCertificate.Details} message Details * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ Details.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) object.localizedNames = []; if (options.defaults) { if ($util.Long) { var long = new $util.Long(0, 0, true); object.serial = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.serial = options.longs === String ? "0" : 0; object.issuer = ""; object.verifiedName = ""; if ($util.Long) { var long = new $util.Long(0, 0, true); object.issueTime = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.issueTime = options.longs === String ? "0" : 0; } if (message.serial != null && message.hasOwnProperty("serial")) if (typeof message.serial === "number") object.serial = options.longs === String ? String(message.serial) : message.serial; else object.serial = options.longs === String ? $util.Long.prototype.toString.call(message.serial) : options.longs === Number ? new $util.LongBits(message.serial.low >>> 0, message.serial.high >>> 0).toNumber(true) : message.serial; if (message.issuer != null && message.hasOwnProperty("issuer")) object.issuer = message.issuer; if (message.verifiedName != null && message.hasOwnProperty("verifiedName")) object.verifiedName = message.verifiedName; if (message.localizedNames && message.localizedNames.length) { object.localizedNames = []; for (var j = 0; j < message.localizedNames.length; ++j) object.localizedNames[j] = $root.proto.LocalizedName.toObject(message.localizedNames[j], options); } if (message.issueTime != null && message.hasOwnProperty("issueTime")) if (typeof message.issueTime === "number") object.issueTime = options.longs === String ? String(message.issueTime) : message.issueTime; else object.issueTime = options.longs === String ? $util.Long.prototype.toString.call(message.issueTime) : options.longs === Number ? new $util.LongBits(message.issueTime.low >>> 0, message.issueTime.high >>> 0).toNumber(true) : message.issueTime; return object; }; /** * Converts this Details to JSON. * @function toJSON * @memberof proto.VerifiedNameCertificate.Details * @instance * @returns {Object.<string,*>} JSON object */ Details.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return Details; })(); return VerifiedNameCertificate; })(); proto.WallpaperSettings = (function() { /** * Properties of a WallpaperSettings. * @memberof proto * @interface IWallpaperSettings * @property {string|null} [filename] WallpaperSettings filename * @property {number|null} [opacity] WallpaperSettings opacity */ /** * Constructs a new WallpaperSettings. * @memberof proto * @classdesc Represents a WallpaperSettings. * @implements IWallpaperSettings * @constructor * @param {proto.IWallpaperSettings=} [properties] Properties to set */ function WallpaperSettings(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]]; } /** * WallpaperSettings filename. * @member {string} filename * @memberof proto.WallpaperSettings * @instance */ WallpaperSettings.prototype.filename = ""; /** * WallpaperSettings opacity. * @member {number} opacity * @memberof proto.WallpaperSettings * @instance */ WallpaperSettings.prototype.opacity = 0; /** * Creates a new WallpaperSettings instance using the specified properties. * @function create * @memberof proto.WallpaperSettings * @static * @param {proto.IWallpaperSettings=} [properties] Properties to set * @returns {proto.WallpaperSettings} WallpaperSettings instance */ WallpaperSettings.create = function create(properties) { return new WallpaperSettings(properties); }; /** * Encodes the specified WallpaperSettings message. Does not implicitly {@link proto.WallpaperSettings.verify|verify} messages. * @function encode * @memberof proto.WallpaperSettings * @static * @param {proto.IWallpaperSettings} message WallpaperSettings message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WallpaperSettings.encode = function encode(message, writer) { if (!writer) writer = $Writer.create(); if (message.filename != null && Object.hasOwnProperty.call(message, "filename")) writer.uint32(/* id 1, wireType 2 =*/10).string(message.filename); if (message.opacity != null && Object.hasOwnProperty.call(message, "opacity")) writer.uint32(/* id 2, wireType 0 =*/16).uint32(message.opacity); return writer; }; /** * Encodes the specified WallpaperSettings message, length delimited. Does not implicitly {@link proto.WallpaperSettings.verify|verify} messages. * @function encodeDelimited * @memberof proto.WallpaperSettings * @static * @param {proto.IWallpaperSettings} message WallpaperSettings message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ WallpaperSettings.encodeDelimited = function encodeDelimited(message, writer) { return this.encode(message, writer).ldelim(); }; /** * Decodes a WallpaperSettings message from the specified reader or buffer. * @function decode * @memberof proto.WallpaperSettings * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @param {number} [length] Message length if known beforehand * @returns {proto.WallpaperSettings} WallpaperSettings * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WallpaperSettings.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.WallpaperSettings(); while (reader.pos < end) { var tag = reader.uint32(); switch (tag >>> 3) { case 1: message.filename = reader.string(); break; case 2: message.opacity = reader.uint32(); break; default: reader.skipType(tag & 7); break; } } return message; }; /** * Decodes a WallpaperSettings message from the specified reader or buffer, length delimited. * @function decodeDelimited * @memberof proto.WallpaperSettings * @static * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from * @returns {proto.WallpaperSettings} WallpaperSettings * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ WallpaperSettings.decodeDelimited = function decodeDelimited(reader) { if (!(reader instanceof $Reader)) reader = new $Reader(reader); return this.decode(reader, reader.uint32()); }; /** * Verifies a WallpaperSettings message. * @function verify * @memberof proto.WallpaperSettings * @static * @param {Object.<string,*>} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ WallpaperSettings.verify = function verify(message) { if (typeof message !== "object" || message === null) return "object expected"; if (message.filename != null && message.hasOwnProperty("filename")) if (!$util.isString(message.filename)) return "filename: string expected"; if (message.opacity != null && message.hasOwnProperty("opacity")) if (!$util.isInteger(message.opacity)) return "opacity: integer expected"; return null; }; /** * Creates a WallpaperSettings message from a plain object. Also converts values to their respective internal types. * @function fromObject * @memberof proto.WallpaperSettings * @static * @param {Object.<string,*>} object Plain object * @returns {proto.WallpaperSettings} WallpaperSettings */ WallpaperSettings.fromObject = function fromObject(object) { if (object instanceof $root.proto.WallpaperSettings) return object; var message = new $root.proto.WallpaperSettings(); if (object.filename != null) message.filename = String(object.filename); if (object.opacity != null) message.opacity = object.opacity >>> 0; return message; }; /** * Creates a plain object from a WallpaperSettings message. Also converts values to other types if specified. * @function toObject * @memberof proto.WallpaperSettings * @static * @param {proto.WallpaperSettings} message WallpaperSettings * @param {$protobuf.IConversionOptions} [options] Conversion options * @returns {Object.<string,*>} Plain object */ WallpaperSettings.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.defaults) { object.filename = ""; object.opacity = 0; } if (message.filename != null && message.hasOwnProperty("filename")) object.filename = message.filename; if (message.opacity != null && message.hasOwnProperty("opacity")) object.opacity = message.opacity; return object; }; /** * Converts this WallpaperSettings to JSON. * @function toJSON * @memberof proto.WallpaperSettings * @instance * @returns {Object.<string,*>} JSON object */ WallpaperSettings.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return WallpaperSettings; })(); proto.WebFeatures = (function() { /** * Properties of a WebFeatures. * @memberof proto * @interface IWebFeatures * @property {proto.WebFeatures.Flag|null} [labelsDisplay] WebFeatures labelsDisplay * @property {proto.WebFeatures.Flag|null} [voipIndividualOutgoing] WebFeatures voipIndividualOutgoing * @property {proto.WebFeatures.Flag|null} [groupsV3] WebFeatures groupsV3 * @property {proto.WebFeatures.Flag|null} [groupsV3Create] WebFeatures groupsV3Create * @property {proto.WebFeatures.Flag|null} [changeNumberV2] WebFeatures changeNumberV2 * @property {proto.WebFeatures.Flag|null} [queryStatusV3Thumbnail] WebFeatures queryStatusV3Thumbnail * @property {proto.WebFeatures.Flag|null} [liveLocations] WebFeatures liveLocations * @property {proto.WebFeatures.Flag|null} [queryVname] WebFeatures queryVname * @property {proto.WebFeatures.Flag|null} [voipIndividualIncoming] WebFeatures voipIndividualIncoming * @property {proto.WebFeatures.Flag|null} [quickRepliesQuery] WebFeatures quickRepliesQuery * @property {proto.WebFeatures.Flag|null} [payments] WebFeatures payments * @property {proto.WebFeatures.Flag|null} [stickerPackQuery] WebFeatures stickerPackQuery * @property {proto.WebFeatures.Flag|null} [liveLocationsFinal] WebFeatures liveLocationsFinal * @property {proto.WebFeatures.Flag|null} [labelsEdit] WebFeatures labelsEdit * @property {proto.WebFeatures.Flag|null} [mediaUpload] WebFeatures mediaUpload * @property {proto.WebFeatures.Flag|null} [mediaUploadRichQuickReplies] WebFeatures mediaUploadRichQuickReplies * @property {proto.WebFeatures.Flag|null} [vnameV2] WebFeatures vnameV2 * @property {proto.WebFeatures.Flag|null} [videoPlaybackUrl] WebFeatures videoPlaybackUrl * @property {proto.WebFeatures.Flag|null} [statusRanking] WebFeatures statusRanking * @property {proto.WebFeatures.Flag|null} [voipIndividualVideo] WebFeatures voipIndividualVideo * @property {proto.WebFeatures.Flag|null} [thirdPartyStickers] WebFeatures thirdPartyStickers * @property {proto.WebFeatures.Flag|null} [frequentlyForwardedSetting] WebFeatures frequentlyForwardedSetting * @property {proto.WebFeatures.Flag|null} [groupsV4JoinPermission] WebFeatures groupsV4JoinPermission * @property {proto.WebFeatures.Flag|null} [recentStickers] WebFeatures recentStickers * @property {proto.WebFeatures.Flag|null} [catalog] WebFeatures catalog * @property {proto.WebFeatures.Flag|null} [starredStickers] WebFeatures starredStickers * @property {proto.WebFeatures.Flag|null} [voipGroupCall] WebFeatures voipGroupCall * @property {proto.WebFeatures.Flag|null} [templateMessage] WebFeatures templateMessage * @property {proto.WebFeatures.Flag|null} [templateMessageInteractivity] WebFeatures templateMessageInteractivity * @property {proto.WebFeatures.Flag|null} [ephemeralMessages] WebFeatures ephemeralMessages * @property {proto.WebFeatures.Flag|null} [e2ENotificationSync] WebFeatures e2ENotificationSync * @property {proto.WebFeatures.Flag|null} [recentStickersV2] WebFeatures recentStickersV2 * @property {proto.WebFeatures.Flag|null} [recentStickersV3] WebFeatures recentStickersV3 * @property {proto.WebFeatures.Flag|null} [userNotice] WebFeatures userNotice * @property {proto.WebFeatures.Flag|null} [support] WebFeatures support * @property {proto.WebFeatures.Flag|null} [groupUiiCleanup] WebFeatures groupUiiCleanup * @property {proto.WebFeatures.Flag|null} [groupDogfoodingInternalOnly] WebFeatures groupDogfoodingInternalOnly * @property {proto.WebFeatures.Flag|null} [settingsSync] WebFeatures settingsSync * @property {proto.WebFeatures.Flag|null} [archiveV2] WebFeatures archiveV2 * @property {proto.WebFeatures.Flag|null} [ephemeralAllowGroupMembers] WebFeatures ephemeralAllowGroupMembers * @property {proto.WebFeatures.Flag|null} [ephemeral24HDuration] WebFeatures ephemeral24HDuration * @property {proto.WebFeatures.Flag|null} [mdForceUpgrade] WebFeatures mdForceUpgrade * @property {proto.WebFeatures.Flag|null} [disappearingMode] WebFeatures disappearingMode * @property {proto.WebFeatures.Flag|null} [externalMdOptInAvailable] WebFeatures externalMdOptInAvailable * @property {proto.WebFeatures.Flag|null} [noDeleteMessageTimeLimit] WebFeatures noDeleteMessageTimeLimit */ /** * 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.Flag} labelsDisplay * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.labelsDisplay = 0; /** * WebFeatures voipIndividualOutgoing. * @member {proto.WebFeatures.Flag} voipIndividualOutgoing * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.voipIndividualOutgoing = 0; /** * WebFeatures groupsV3. * @member {proto.WebFeatures.Flag} groupsV3 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.groupsV3 = 0; /** * WebFeatures groupsV3Create. * @member {proto.WebFeatures.Flag} groupsV3Create * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.groupsV3Create = 0; /** * WebFeatures changeNumberV2. * @member {proto.WebFeatures.Flag} changeNumberV2 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.changeNumberV2 = 0; /** * WebFeatures queryStatusV3Thumbnail. * @member {proto.WebFeatures.Flag} queryStatusV3Thumbnail * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.queryStatusV3Thumbnail = 0; /** * WebFeatures liveLocations. * @member {proto.WebFeatures.Flag} liveLocations * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.liveLocations = 0; /** * WebFeatures queryVname. * @member {proto.WebFeatures.Flag} queryVname * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.queryVname = 0; /** * WebFeatures voipIndividualIncoming. * @member {proto.WebFeatures.Flag} voipIndividualIncoming * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.voipIndividualIncoming = 0; /** * WebFeatures quickRepliesQuery. * @member {proto.WebFeatures.Flag} quickRepliesQuery * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.quickRepliesQuery = 0; /** * WebFeatures payments. * @member {proto.WebFeatures.Flag} payments * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.payments = 0; /** * WebFeatures stickerPackQuery. * @member {proto.WebFeatures.Flag} stickerPackQuery * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.stickerPackQuery = 0; /** * WebFeatures liveLocationsFinal. * @member {proto.WebFeatures.Flag} liveLocationsFinal * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.liveLocationsFinal = 0; /** * WebFeatures labelsEdit. * @member {proto.WebFeatures.Flag} labelsEdit * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.labelsEdit = 0; /** * WebFeatures mediaUpload. * @member {proto.WebFeatures.Flag} mediaUpload * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.mediaUpload = 0; /** * WebFeatures mediaUploadRichQuickReplies. * @member {proto.WebFeatures.Flag} mediaUploadRichQuickReplies * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.mediaUploadRichQuickReplies = 0; /** * WebFeatures vnameV2. * @member {proto.WebFeatures.Flag} vnameV2 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.vnameV2 = 0; /** * WebFeatures videoPlaybackUrl. * @member {proto.WebFeatures.Flag} videoPlaybackUrl * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.videoPlaybackUrl = 0; /** * WebFeatures statusRanking. * @member {proto.WebFeatures.Flag} statusRanking * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.statusRanking = 0; /** * WebFeatures voipIndividualVideo. * @member {proto.WebFeatures.Flag} voipIndividualVideo * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.voipIndividualVideo = 0; /** * WebFeatures thirdPartyStickers. * @member {proto.WebFeatures.Flag} thirdPartyStickers * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.thirdPartyStickers = 0; /** * WebFeatures frequentlyForwardedSetting. * @member {proto.WebFeatures.Flag} frequentlyForwardedSetting * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.frequentlyForwardedSetting = 0; /** * WebFeatures groupsV4JoinPermission. * @member {proto.WebFeatures.Flag} groupsV4JoinPermission * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.groupsV4JoinPermission = 0; /** * WebFeatures recentStickers. * @member {proto.WebFeatures.Flag} recentStickers * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.recentStickers = 0; /** * WebFeatures catalog. * @member {proto.WebFeatures.Flag} catalog * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.catalog = 0; /** * WebFeatures starredStickers. * @member {proto.WebFeatures.Flag} starredStickers * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.starredStickers = 0; /** * WebFeatures voipGroupCall. * @member {proto.WebFeatures.Flag} voipGroupCall * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.voipGroupCall = 0; /** * WebFeatures templateMessage. * @member {proto.WebFeatures.Flag} templateMessage * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.templateMessage = 0; /** * WebFeatures templateMessageInteractivity. * @member {proto.WebFeatures.Flag} templateMessageInteractivity * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.templateMessageInteractivity = 0; /** * WebFeatures ephemeralMessages. * @member {proto.WebFeatures.Flag} ephemeralMessages * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.ephemeralMessages = 0; /** * WebFeatures e2ENotificationSync. * @member {proto.WebFeatures.Flag} e2ENotificationSync * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.e2ENotificationSync = 0; /** * WebFeatures recentStickersV2. * @member {proto.WebFeatures.Flag} recentStickersV2 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.recentStickersV2 = 0; /** * WebFeatures recentStickersV3. * @member {proto.WebFeatures.Flag} recentStickersV3 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.recentStickersV3 = 0; /** * WebFeatures userNotice. * @member {proto.WebFeatures.Flag} userNotice * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.userNotice = 0; /** * WebFeatures support. * @member {proto.WebFeatures.Flag} support * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.support = 0; /** * WebFeatures groupUiiCleanup. * @member {proto.WebFeatures.Flag} groupUiiCleanup * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.groupUiiCleanup = 0; /** * WebFeatures groupDogfoodingInternalOnly. * @member {proto.WebFeatures.Flag} groupDogfoodingInternalOnly * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.groupDogfoodingInternalOnly = 0; /** * WebFeatures settingsSync. * @member {proto.WebFeatures.Flag} settingsSync * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.settingsSync = 0; /** * WebFeatures archiveV2. * @member {proto.WebFeatures.Flag} archiveV2 * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.archiveV2 = 0; /** * WebFeatures ephemeralAllowGroupMembers. * @member {proto.WebFeatures.Flag} ephemeralAllowGroupMembers * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.ephemeralAllowGroupMembers = 0; /** * WebFeatures ephemeral24HDuration. * @member {proto.WebFeatures.Flag} ephemeral24HDuration * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.ephemeral24HDuration = 0; /** * WebFeatures mdForceUpgrade. * @member {proto.WebFeatures.Flag} mdForceUpgrade * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.mdForceUpgrade = 0; /** * WebFeatures disappearingMode. * @member {proto.WebFeatures.Flag} disappearingMode * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.disappearingMode = 0; /** * WebFeatures externalMdOptInAvailable. * @member {proto.WebFeatures.Flag} externalMdOptInAvailable * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.externalMdOptInAvailable = 0; /** * WebFeatures noDeleteMessageTimeLimit. * @member {proto.WebFeatures.Flag} noDeleteMessageTimeLimit * @memberof proto.WebFeatures * @instance */ WebFeatures.prototype.noDeleteMessageTimeLimit = 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.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.support != null && Object.hasOwnProperty.call(message, "support")) writer.uint32(/* id 39, wireType 0 =*/312).int32(message.support); if (message.groupUiiCleanup != null && Object.hasOwnProperty.call(message, "groupUiiCleanup")) writer.uint32(/* id 40, wireType 0 =*/320).int32(message.groupUiiCleanup); if (message.groupDogfoodingInternalOnly != null && Object.hasOwnProperty.call(message, "groupDogfoodingInternalOnly")) writer.uint32(/* id 41, wireType 0 =*/328).int32(message.groupDogfoodingInternalOnly); if (message.settingsSync != null && Object.hasOwnProperty.call(message, "settingsSync")) writer.uint32(/* id 42, wireType 0 =*/336).int32(message.settingsSync); if (message.archiveV2 != null && Object.hasOwnProperty.call(message, "archiveV2")) writer.uint32(/* id 43, wireType 0 =*/344).int32(message.archiveV2); if (message.ephemeralAllowGroupMembers != null && Object.hasOwnProperty.call(message, "ephemeralAllowGroupMembers")) writer.uint32(/* id 44, wireType 0 =*/352).int32(message.ephemeralAllowGroupMembers); if (message.ephemeral24HDuration != null && Object.hasOwnProperty.call(message, "ephemeral24HDuration")) writer.uint32(/* id 45, wireType 0 =*/360).int32(message.ephemeral24HDuration); if (message.mdForceUpgrade != null && Object.hasOwnProperty.call(message, "mdForceUpgrade")) writer.uint32(/* id 46, wireType 0 =*/368).int32(message.mdForceUpgrade); if (message.disappearingMode != null && Object.hasOwnProperty.call(message, "disappearingMode")) writer.uint32(/* id 47, wireType 0 =*/376).int32(message.disappearingMode); if (message.externalMdOptInAvailable != null && Object.hasOwnProperty.call(message, "externalMdOptInAvailable")) writer.uint32(/* id 48, wireType 0 =*/384).int32(message.externalMdOptInAvailable); if (message.noDeleteMessageTimeLimit != null && Object.hasOwnProperty.call(message, "noDeleteMessageTimeLimit")) writer.uint32(/* id 49, wireType 0 =*/392).int32(message.noDeleteMessageTimeLimit); 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 36: message.recentStickersV3 = reader.int32(); break; case 37: message.userNotice = reader.int32(); break; case 39: message.support = reader.int32(); break; case 40: message.groupUiiCleanup = reader.int32(); break; case 41: message.groupDogfoodingInternalOnly = reader.int32(); break; case 42: message.settingsSync = reader.int32(); break; case 43: message.archiveV2 = reader.int32(); break; case 44: message.ephemeralAllowGroupMembers = reader.int32(); break; case 45: message.ephemeral24HDuration = reader.int32(); break; case 46: message.mdForceUpgrade = reader.int32(); break; case 47: message.disappearingMode = reader.int32(); break; case 48: message.externalMdOptInAvailable = reader.int32(); break; case 49: message.noDeleteMessageTimeLimit = 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.<string,*>} 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.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.support != null && message.hasOwnProperty("support")) switch (message.support) { default: return "support: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.groupUiiCleanup != null && message.hasOwnProperty("groupUiiCleanup")) switch (message.groupUiiCleanup) { default: return "groupUiiCleanup: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.groupDogfoodingInternalOnly != null && message.hasOwnProperty("groupDogfoodingInternalOnly")) switch (message.groupDogfoodingInternalOnly) { default: return "groupDogfoodingInternalOnly: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.settingsSync != null && message.hasOwnProperty("settingsSync")) switch (message.settingsSync) { default: return "settingsSync: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.archiveV2 != null && message.hasOwnProperty("archiveV2")) switch (message.archiveV2) { default: return "archiveV2: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.ephemeralAllowGroupMembers != null && message.hasOwnProperty("ephemeralAllowGroupMembers")) switch (message.ephemeralAllowGroupMembers) { default: return "ephemeralAllowGroupMembers: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.ephemeral24HDuration != null && message.hasOwnProperty("ephemeral24HDuration")) switch (message.ephemeral24HDuration) { default: return "ephemeral24HDuration: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.mdForceUpgrade != null && message.hasOwnProperty("mdForceUpgrade")) switch (message.mdForceUpgrade) { default: return "mdForceUpgrade: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.disappearingMode != null && message.hasOwnProperty("disappearingMode")) switch (message.disappearingMode) { default: return "disappearingMode: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.externalMdOptInAvailable != null && message.hasOwnProperty("externalMdOptInAvailable")) switch (message.externalMdOptInAvailable) { default: return "externalMdOptInAvailable: enum value expected"; case 0: case 1: case 2: case 3: break; } if (message.noDeleteMessageTimeLimit != null && message.hasOwnProperty("noDeleteMessageTimeLimit")) switch (message.noDeleteMessageTimeLimit) { default: return "noDeleteMessageTimeLimit: 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.<string,*>} 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.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.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; } switch (object.groupUiiCleanup) { case "NOT_STARTED": case 0: message.groupUiiCleanup = 0; break; case "FORCE_UPGRADE": case 1: message.groupUiiCleanup = 1; break; case "DEVELOPMENT": case 2: message.groupUiiCleanup = 2; break; case "PRODUCTION": case 3: message.groupUiiCleanup = 3; break; } switch (object.groupDogfoodingInternalOnly) { case "NOT_STARTED": case 0: message.groupDogfoodingInternalOnly = 0; break; case "FORCE_UPGRADE": case 1: message.groupDogfoodingInternalOnly = 1; break; case "DEVELOPMENT": case 2: message.groupDogfoodingInternalOnly = 2; break; case "PRODUCTION": case 3: message.groupDogfoodingInternalOnly = 3; break; } switch (object.settingsSync) { case "NOT_STARTED": case 0: message.settingsSync = 0; break; case "FORCE_UPGRADE": case 1: message.settingsSync = 1; break; case "DEVELOPMENT": case 2: message.settingsSync = 2; break; case "PRODUCTION": case 3: message.settingsSync = 3; break; } switch (object.archiveV2) { case "NOT_STARTED": case 0: message.archiveV2 = 0; break; case "FORCE_UPGRADE": case 1: message.archiveV2 = 1; break; case "DEVELOPMENT": case 2: message.archiveV2 = 2; break; case "PRODUCTION": case 3: message.archiveV2 = 3; break; } switch (object.ephemeralAllowGroupMembers) { case "NOT_STARTED": case 0: message.ephemeralAllowGroupMembers = 0; break; case "FORCE_UPGRADE": case 1: message.ephemeralAllowGroupMembers = 1; break; case "DEVELOPMENT": case 2: message.ephemeralAllowGroupMembers = 2; break; case "PRODUCTION": case 3: message.ephemeralAllowGroupMembers = 3; break; } switch (object.ephemeral24HDuration) { case "NOT_STARTED": case 0: message.ephemeral24HDuration = 0; break; case "FORCE_UPGRADE": case 1: message.ephemeral24HDuration = 1; break; case "DEVELOPMENT": case 2: message.ephemeral24HDuration = 2; break; case "PRODUCTION": case 3: message.ephemeral24HDuration = 3; break; } switch (object.mdForceUpgrade) { case "NOT_STARTED": case 0: message.mdForceUpgrade = 0; break; case "FORCE_UPGRADE": case 1: message.mdForceUpgrade = 1; break; case "DEVELOPMENT": case 2: message.mdForceUpgrade = 2; break; case "PRODUCTION": case 3: message.mdForceUpgrade = 3; break; } switch (object.disappearingMode) { case "NOT_STARTED": case 0: message.disappearingMode = 0; break; case "FORCE_UPGRADE": case 1: message.disappearingMode = 1; break; case "DEVELOPMENT": case 2: message.disappearingMode = 2; break; case "PRODUCTION": case 3: message.disappearingMode = 3; break; } switch (object.externalMdOptInAvailable) { case "NOT_STARTED": case 0: message.externalMdOptInAvailable = 0; break; case "FORCE_UPGRADE": case 1: message.externalMdOptInAvailable = 1; break; case "DEVELOPMENT": case 2: message.externalMdOptInAvailable = 2; break; case "PRODUCTION": case 3: message.externalMdOptInAvailable = 3; break; } switch (object.noDeleteMessageTimeLimit) { case "NOT_STARTED": case 0: message.noDeleteMessageTimeLimit = 0; break; case "FORCE_UPGRADE": case 1: message.noDeleteMessageTimeLimit = 1; break; case "DEVELOPMENT": case 2: message.noDeleteMessageTimeLimit = 2; break; case "PRODUCTION": case 3: message.noDeleteMessageTimeLimit = 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.<string,*>} 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.recentStickersV3 = options.enums === String ? "NOT_STARTED" : 0; object.userNotice = options.enums === String ? "NOT_STARTED" : 0; object.support = options.enums === String ? "NOT_STARTED" : 0; object.groupUiiCleanup = options.enums === String ? "NOT_STARTED" : 0; object.groupDogfoodingInternalOnly = options.enums === String ? "NOT_STARTED" : 0; object.settingsSync = options.enums === String ? "NOT_STARTED" : 0; object.archiveV2 = options.enums === String ? "NOT_STARTED" : 0; object.ephemeralAllowGroupMembers = options.enums === String ? "NOT_STARTED" : 0; object.ephemeral24HDuration = options.enums === String ? "NOT_STARTED" : 0; object.mdForceUpgrade = options.enums === String ? "NOT_STARTED" : 0; object.disappearingMode = options.enums === String ? "NOT_STARTED" : 0; object.externalMdOptInAvailable = options.enums === String ? "NOT_STARTED" : 0; object.noDeleteMessageTimeLimit = options.enums === String ? "NOT_STARTED" : 0; } if (message.labelsDisplay != null && message.hasOwnProperty("labelsDisplay")) object.labelsDisplay = options.enums === String ? $root.proto.WebFeatures.Flag[message.labelsDisplay] : message.labelsDisplay; if (message.voipIndividualOutgoing != null && message.hasOwnProperty("voipIndividualOutgoing")) object.voipIndividualOutgoing = options.enums === String ? $root.proto.WebFeatures.Flag[message.voipIndividualOutgoing] : message.voipIndividualOutgoing; if (message.groupsV3 != null && message.hasOwnProperty("groupsV3")) object.groupsV3 = options.enums === String ? $root.proto.WebFeatures.Flag[message.groupsV3] : message.groupsV3; if (message.groupsV3Create != null && message.hasOwnProperty("groupsV3Create")) object.groupsV3Create = options.enums === String ? $root.proto.WebFeatures.Flag[message.groupsV3Create] : message.groupsV3Create; if (message.changeNumberV2 != null && message.hasOwnProperty("changeNumberV2")) object.changeNumberV2 = options.enums === String ? $root.proto.WebFeatures.Flag[message.changeNumberV2] : message.changeNumberV2; if (message.queryStatusV3Thumbnail != null && message.hasOwnProperty("queryStatusV3Thumbnail")) object.queryStatusV3Thumbnail = options.enums === String ? $root.proto.WebFeatures.Flag[message.queryStatusV3Thumbnail] : message.queryStatusV3Thumbnail; if (message.liveLocations != null && message.hasOwnProperty("liveLocations")) object.liveLocations = options.enums === String ? $root.proto.WebFeatures.Flag[message.liveLocations] : message.liveLocations; if (message.queryVname != null && message.hasOwnProperty("queryVname")) object.queryVname = options.enums === String ? $root.proto.WebFeatures.Flag[message.queryVname] : message.queryVname; if (message.voipIndividualIncoming != null && message.hasOwnProperty("voipIndividualIncoming")) object.voipIndividualIncoming = options.enums === String ? $root.proto.WebFeatures.Flag[message.voipIndividualIncoming] : message.voipIndividualIncoming; if (message.quickRepliesQuery != null && message.hasOwnProperty("quickRepliesQuery")) object.quickRepliesQuery = options.enums === String ? $root.proto.WebFeatures.Flag[message.quickRepliesQuery] : message.quickRepliesQuery; if (message.payments != null && message.hasOwnProperty("payments")) object.payments = options.enums === String ? $root.proto.WebFeatures.Flag[message.payments] : message.payments; if (message.stickerPackQuery != null && message.hasOwnProperty("stickerPackQuery")) object.stickerPackQuery = options.enums === String ? $root.proto.WebFeatures.Flag[message.stickerPackQuery] : message.stickerPackQuery; if (message.liveLocationsFinal != null && message.hasOwnProperty("liveLocationsFinal")) object.liveLocationsFinal = options.enums === String ? $root.proto.WebFeatures.Flag[message.liveLocationsFinal] : message.liveLocationsFinal; if (message.labelsEdit != null && message.hasOwnProperty("labelsEdit")) object.labelsEdit = options.enums === String ? $root.proto.WebFeatures.Flag[message.labelsEdit] : message.labelsEdit; if (message.mediaUpload != null && message.hasOwnProperty("mediaUpload")) object.mediaUpload = options.enums === String ? $root.proto.WebFeatures.Flag[message.mediaUpload] : message.mediaUpload; if (message.mediaUploadRichQuickReplies != null && message.hasOwnProperty("mediaUploadRichQuickReplies")) object.mediaUploadRichQuickReplies = options.enums === String ? $root.proto.WebFeatures.Flag[message.mediaUploadRichQuickReplies] : message.mediaUploadRichQuickReplies; if (message.vnameV2 != null && message.hasOwnProperty("vnameV2")) object.vnameV2 = options.enums === String ? $root.proto.WebFeatures.Flag[message.vnameV2] : message.vnameV2; if (message.videoPlaybackUrl != null && message.hasOwnProperty("videoPlaybackUrl")) object.videoPlaybackUrl = options.enums === String ? $root.proto.WebFeatures.Flag[message.videoPlaybackUrl] : message.videoPlaybackUrl; if (message.statusRanking != null && message.hasOwnProperty("statusRanking")) object.statusRanking = options.enums === String ? $root.proto.WebFeatures.Flag[message.statusRanking] : message.statusRanking; if (message.voipIndividualVideo != null && message.hasOwnProperty("voipIndividualVideo")) object.voipIndividualVideo = options.enums === String ? $root.proto.WebFeatures.Flag[message.voipIndividualVideo] : message.voipIndividualVideo; if (message.thirdPartyStickers != null && message.hasOwnProperty("thirdPartyStickers")) object.thirdPartyStickers = options.enums === String ? $root.proto.WebFeatures.Flag[message.thirdPartyStickers] : message.thirdPartyStickers; if (message.frequentlyForwardedSetting != null && message.hasOwnProperty("frequentlyForwardedSetting")) object.frequentlyForwardedSetting = options.enums === String ? $root.proto.WebFeatures.Flag[message.frequentlyForwardedSetting] : message.frequentlyForwardedSetting; if (message.groupsV4JoinPermission != null && message.hasOwnProperty("groupsV4JoinPermission")) object.groupsV4JoinPermission = options.enums === String ? $root.proto.WebFeatures.Flag[message.groupsV4JoinPermission] : message.groupsV4JoinPermission; if (message.recentStickers != null && message.hasOwnProperty("recentStickers")) object.recentStickers = options.enums === String ? $root.proto.WebFeatures.Flag[message.recentStickers] : message.recentStickers; if (message.catalog != null && message.hasOwnProperty("catalog")) object.catalog = options.enums === String ? $root.proto.WebFeatures.Flag[message.catalog] : message.catalog; if (message.starredStickers != null && message.hasOwnProperty("starredStickers")) object.starredStickers = options.enums === String ? $root.proto.WebFeatures.Flag[message.starredStickers] : message.starredStickers; if (message.voipGroupCall != null && message.hasOwnProperty("voipGroupCall")) object.voipGroupCall = options.enums === String ? $root.proto.WebFeatures.Flag[message.voipGroupCall] : message.voipGroupCall; if (message.templateMessage != null && message.hasOwnProperty("templateMessage")) object.templateMessage = options.enums === String ? $root.proto.WebFeatures.Flag[message.templateMessage] : message.templateMessage; if (message.templateMessageInteractivity != null && message.hasOwnProperty("templateMessageInteractivity")) object.templateMessageInteractivity = options.enums === String ? $root.proto.WebFeatures.Flag[message.templateMessageInteractivity] : message.templateMessageInteractivity; if (message.ephemeralMessages != null && message.hasOwnProperty("ephemeralMessages")) object.ephemeralMessages = options.enums === String ? $root.proto.WebFeatures.Flag[message.ephemeralMessages] : message.ephemeralMessages; if (message.e2ENotificationSync != null && message.hasOwnProperty("e2ENotificationSync")) object.e2ENotificationSync = options.enums === String ? $root.proto.WebFeatures.Flag[message.e2ENotificationSync] : message.e2ENotificationSync; if (message.recentStickersV2 != null && message.hasOwnProperty("recentStickersV2")) object.recentStickersV2 = options.enums === String ? $root.proto.WebFeatures.Flag[message.recentStickersV2] : message.recentStickersV2; if (message.recentStickersV3 != null && message.hasOwnProperty("recentStickersV3")) object.recentStickersV3 = options.enums === String ? $root.proto.WebFeatures.Flag[message.recentStickersV3] : message.recentStickersV3; if (message.userNotice != null && message.hasOwnProperty("userNotice")) object.userNotice = options.enums === String ? $root.proto.WebFeatures.Flag[message.userNotice] : message.userNotice; if (message.support != null && message.hasOwnProperty("support")) object.support = options.enums === String ? $root.proto.WebFeatures.Flag[message.support] : message.support; if (message.groupUiiCleanup != null && message.hasOwnProperty("groupUiiCleanup")) object.groupUiiCleanup = options.enums === String ? $root.proto.WebFeatures.Flag[message.groupUiiCleanup] : message.groupUiiCleanup; if (message.groupDogfoodingInternalOnly != null && message.hasOwnProperty("groupDogfoodingInternalOnly")) object.groupDogfoodingInternalOnly = options.enums === String ? $root.proto.WebFeatures.Flag[message.groupDogfoodingInternalOnly] : message.groupDogfoodingInternalOnly; if (message.settingsSync != null && message.hasOwnProperty("settingsSync")) object.settingsSync = options.enums === String ? $root.proto.WebFeatures.Flag[message.settingsSync] : message.settingsSync; if (message.archiveV2 != null && message.hasOwnProperty("archiveV2")) object.archiveV2 = options.enums === String ? $root.proto.WebFeatures.Flag[message.archiveV2] : message.archiveV2; if (message.ephemeralAllowGroupMembers != null && message.hasOwnProperty("ephemeralAllowGroupMembers")) object.ephemeralAllowGroupMembers = options.enums === String ? $root.proto.WebFeatures.Flag[message.ephemeralAllowGroupMembers] : message.ephemeralAllowGroupMembers; if (message.ephemeral24HDuration != null && message.hasOwnProperty("ephemeral24HDuration")) object.ephemeral24HDuration = options.enums === String ? $root.proto.WebFeatures.Flag[message.ephemeral24HDuration] : message.ephemeral24HDuration; if (message.mdForceUpgrade != null && message.hasOwnProperty("mdForceUpgrade")) object.mdForceUpgrade = options.enums === String ? $root.proto.WebFeatures.Flag[message.mdForceUpgrade] : message.mdForceUpgrade; if (message.disappearingMode != null && message.hasOwnProperty("disappearingMode")) object.disappearingMode = options.enums === String ? $root.proto.WebFeatures.Flag[message.disappearingMode] : message.disappearingMode; if (message.externalMdOptInAvailable != null && message.hasOwnProperty("externalMdOptInAvailable")) object.externalMdOptInAvailable = options.enums === String ? $root.proto.WebFeatures.Flag[message.externalMdOptInAvailable] : message.externalMdOptInAvailable; if (message.noDeleteMessageTimeLimit != null && message.hasOwnProperty("noDeleteMessageTimeLimit")) object.noDeleteMessageTimeLimit = options.enums === String ? $root.proto.WebFeatures.Flag[message.noDeleteMessageTimeLimit] : message.noDeleteMessageTimeLimit; return object; }; /** * Converts this WebFeatures to JSON. * @function toJSON * @memberof proto.WebFeatures * @instance * @returns {Object.<string,*>} JSON object */ WebFeatures.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * Flag enum. * @name proto.WebFeatures.Flag * @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.Flag = (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.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.Status|null} [status] WebMessageInfo status * @property {string|null} [participant] WebMessageInfo participant * @property {number|Long|null} [messageC2STimestamp] WebMessageInfo messageC2STimestamp * @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.StubType|null} [messageStubType] WebMessageInfo messageStubType * @property {boolean|null} [clearMedia] WebMessageInfo clearMedia * @property {Array.<string>|null} [messageStubParameters] WebMessageInfo messageStubParameters * @property {number|null} [duration] WebMessageInfo duration * @property {Array.<string>|null} [labels] WebMessageInfo labels * @property {proto.IPaymentInfo|null} [paymentInfo] WebMessageInfo paymentInfo * @property {proto.Message.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.BizPrivacyStatus|null} [bizPrivacyStatus] WebMessageInfo bizPrivacyStatus * @property {string|null} [verifiedBizName] WebMessageInfo verifiedBizName * @property {proto.IMediaData|null} [mediaData] WebMessageInfo mediaData * @property {proto.IPhotoChange|null} [photoChange] WebMessageInfo photoChange * @property {Array.<proto.IUserReceipt>|null} [userReceipt] WebMessageInfo userReceipt * @property {Array.<proto.IReaction>|null} [reactions] WebMessageInfo reactions * @property {proto.IMediaData|null} [quotedStickerData] WebMessageInfo quotedStickerData * @property {Uint8Array|null} [futureproofData] WebMessageInfo futureproofData * @property {proto.IStatusPSA|null} [statusPsa] WebMessageInfo statusPsa * @property {Array.<proto.IPollUpdate>|null} [pollUpdates] WebMessageInfo pollUpdates * @property {proto.IPollAdditionalMetadata|null} [pollAdditionalMetadata] WebMessageInfo pollAdditionalMetadata * @property {string|null} [agentId] WebMessageInfo agentId * @property {boolean|null} [statusAlreadyViewed] WebMessageInfo statusAlreadyViewed * @property {Uint8Array|null} [messageSecret] WebMessageInfo messageSecret * @property {proto.IKeepInChat|null} [keepInChat] WebMessageInfo keepInChat * @property {string|null} [originalSelfAuthorUserJidString] WebMessageInfo originalSelfAuthorUserJidString * @property {number|Long|null} [revokeMessageTimestamp] WebMessageInfo revokeMessageTimestamp * @property {proto.IPinInChat|null} [pinInChat] WebMessageInfo pinInChat */ /** * 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 = []; this.userReceipt = []; this.reactions = []; this.pollUpdates = []; 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.Status} status * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.status = 0; /** * WebMessageInfo participant. * @member {string} participant * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.participant = ""; /** * WebMessageInfo messageC2STimestamp. * @member {number|Long} messageC2STimestamp * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.messageC2STimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * 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.StubType} 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.<string>} 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.<string>} 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.Message.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.BizPrivacyStatus} bizPrivacyStatus * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.bizPrivacyStatus = 0; /** * WebMessageInfo verifiedBizName. * @member {string} verifiedBizName * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.verifiedBizName = ""; /** * WebMessageInfo mediaData. * @member {proto.IMediaData|null|undefined} mediaData * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.mediaData = null; /** * WebMessageInfo photoChange. * @member {proto.IPhotoChange|null|undefined} photoChange * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.photoChange = null; /** * WebMessageInfo userReceipt. * @member {Array.<proto.IUserReceipt>} userReceipt * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.userReceipt = $util.emptyArray; /** * WebMessageInfo reactions. * @member {Array.<proto.IReaction>} reactions * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.reactions = $util.emptyArray; /** * WebMessageInfo quotedStickerData. * @member {proto.IMediaData|null|undefined} quotedStickerData * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.quotedStickerData = null; /** * WebMessageInfo futureproofData. * @member {Uint8Array} futureproofData * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.futureproofData = $util.newBuffer([]); /** * WebMessageInfo statusPsa. * @member {proto.IStatusPSA|null|undefined} statusPsa * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.statusPsa = null; /** * WebMessageInfo pollUpdates. * @member {Array.<proto.IPollUpdate>} pollUpdates * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.pollUpdates = $util.emptyArray; /** * WebMessageInfo pollAdditionalMetadata. * @member {proto.IPollAdditionalMetadata|null|undefined} pollAdditionalMetadata * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.pollAdditionalMetadata = null; /** * WebMessageInfo agentId. * @member {string} agentId * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.agentId = ""; /** * WebMessageInfo statusAlreadyViewed. * @member {boolean} statusAlreadyViewed * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.statusAlreadyViewed = false; /** * WebMessageInfo messageSecret. * @member {Uint8Array} messageSecret * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.messageSecret = $util.newBuffer([]); /** * WebMessageInfo keepInChat. * @member {proto.IKeepInChat|null|undefined} keepInChat * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.keepInChat = null; /** * WebMessageInfo originalSelfAuthorUserJidString. * @member {string} originalSelfAuthorUserJidString * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.originalSelfAuthorUserJidString = ""; /** * WebMessageInfo revokeMessageTimestamp. * @member {number|Long} revokeMessageTimestamp * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.revokeMessageTimestamp = $util.Long ? $util.Long.fromBits(0,0,true) : 0; /** * WebMessageInfo pinInChat. * @member {proto.IPinInChat|null|undefined} pinInChat * @memberof proto.WebMessageInfo * @instance */ WebMessageInfo.prototype.pinInChat = null; /** * 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.messageC2STimestamp != null && Object.hasOwnProperty.call(message, "messageC2STimestamp")) writer.uint32(/* id 6, wireType 0 =*/48).uint64(message.messageC2STimestamp); 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.Message.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); if (message.mediaData != null && Object.hasOwnProperty.call(message, "mediaData")) $root.proto.MediaData.encode(message.mediaData, writer.uint32(/* id 38, wireType 2 =*/306).fork()).ldelim(); if (message.photoChange != null && Object.hasOwnProperty.call(message, "photoChange")) $root.proto.PhotoChange.encode(message.photoChange, writer.uint32(/* id 39, wireType 2 =*/314).fork()).ldelim(); if (message.userReceipt != null && message.userReceipt.length) for (var i = 0; i < message.userReceipt.length; ++i) $root.proto.UserReceipt.encode(message.userReceipt[i], writer.uint32(/* id 40, wireType 2 =*/322).fork()).ldelim(); if (message.reactions != null && message.reactions.length) for (var i = 0; i < message.reactions.length; ++i) $root.proto.Reaction.encode(message.reactions[i], writer.uint32(/* id 41, wireType 2 =*/330).fork()).ldelim(); if (message.quotedStickerData != null && Object.hasOwnProperty.call(message, "quotedStickerData")) $root.proto.MediaData.encode(message.quotedStickerData, writer.uint32(/* id 42, wireType 2 =*/338).fork()).ldelim(); if (message.futureproofData != null && Object.hasOwnProperty.call(message, "futureproofData")) writer.uint32(/* id 43, wireType 2 =*/346).bytes(message.futureproofData); if (message.statusPsa != null && Object.hasOwnProperty.call(message, "statusPsa")) $root.proto.StatusPSA.encode(message.statusPsa, writer.uint32(/* id 44, wireType 2 =*/354).fork()).ldelim(); if (message.pollUpdates != null && message.pollUpdates.length) for (var i = 0; i < message.pollUpdates.length; ++i) $root.proto.PollUpdate.encode(message.pollUpdates[i], writer.uint32(/* id 45, wireType 2 =*/362).fork()).ldelim(); if (message.pollAdditionalMetadata != null && Object.hasOwnProperty.call(message, "pollAdditionalMetadata")) $root.proto.PollAdditionalMetadata.encode(message.pollAdditionalMetadata, writer.uint32(/* id 46, wireType 2 =*/370).fork()).ldelim(); if (message.agentId != null && Object.hasOwnProperty.call(message, "agentId")) writer.uint32(/* id 47, wireType 2 =*/378).string(message.agentId); if (message.statusAlreadyViewed != null && Object.hasOwnProperty.call(message, "statusAlreadyViewed")) writer.uint32(/* id 48, wireType 0 =*/384).bool(message.statusAlreadyViewed); if (message.messageSecret != null && Object.hasOwnProperty.call(message, "messageSecret")) writer.uint32(/* id 49, wireType 2 =*/394).bytes(message.messageSecret); if (message.keepInChat != null && Object.hasOwnProperty.call(message, "keepInChat")) $root.proto.KeepInChat.encode(message.keepInChat, writer.uint32(/* id 50, wireType 2 =*/402).fork()).ldelim(); if (message.originalSelfAuthorUserJidString != null && Object.hasOwnProperty.call(message, "originalSelfAuthorUserJidString")) writer.uint32(/* id 51, wireType 2 =*/410).string(message.originalSelfAuthorUserJidString); if (message.revokeMessageTimestamp != null && Object.hasOwnProperty.call(message, "revokeMessageTimestamp")) writer.uint32(/* id 52, wireType 0 =*/416).uint64(message.revokeMessageTimestamp); if (message.pinInChat != null && Object.hasOwnProperty.call(message, "pinInChat")) $root.proto.PinInChat.encode(message.pinInChat, writer.uint32(/* id 54, wireType 2 =*/434).fork()).ldelim(); 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 6: message.messageC2STimestamp = reader.uint64(); 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.Message.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; case 38: message.mediaData = $root.proto.MediaData.decode(reader, reader.uint32()); break; case 39: message.photoChange = $root.proto.PhotoChange.decode(reader, reader.uint32()); break; case 40: if (!(message.userReceipt && message.userReceipt.length)) message.userReceipt = []; message.userReceipt.push($root.proto.UserReceipt.decode(reader, reader.uint32())); break; case 41: if (!(message.reactions && message.reactions.length)) message.reactions = []; message.reactions.push($root.proto.Reaction.decode(reader, reader.uint32())); break; case 42: message.quotedStickerData = $root.proto.MediaData.decode(reader, reader.uint32()); break; case 43: message.futureproofData = reader.bytes(); break; case 44: message.statusPsa = $root.proto.StatusPSA.decode(reader, reader.uint32()); break; case 45: if (!(message.pollUpdates && message.pollUpdates.length)) message.pollUpdates = []; message.pollUpdates.push($root.proto.PollUpdate.decode(reader, reader.uint32())); break; case 46: message.pollAdditionalMetadata = $root.proto.PollAdditionalMetadata.decode(reader, reader.uint32()); break; case 47: message.agentId = reader.string(); break; case 48: message.statusAlreadyViewed = reader.bool(); break; case 49: message.messageSecret = reader.bytes(); break; case 50: message.keepInChat = $root.proto.KeepInChat.decode(reader, reader.uint32()); break; case 51: message.originalSelfAuthorUserJidString = reader.string(); break; case 52: message.revokeMessageTimestamp = reader.uint64(); break; case 54: message.pinInChat = $root.proto.PinInChat.decode(reader, reader.uint32()); 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.<string,*>} 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.messageC2STimestamp != null && message.hasOwnProperty("messageC2STimestamp")) if (!$util.isInteger(message.messageC2STimestamp) && !(message.messageC2STimestamp && $util.isInteger(message.messageC2STimestamp.low) && $util.isInteger(message.messageC2STimestamp.high))) return "messageC2STimestamp: integer|Long 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: case 119: case 120: case 121: case 122: case 123: case 124: case 125: case 126: case 127: case 128: case 129: case 130: case 131: case 132: case 133: case 134: case 135: case 136: case 137: case 138: case 139: case 140: case 141: case 142: case 143: case 144: case 145: case 146: case 147: case 148: case 149: case 150: case 151: case 152: case 153: case 154: case 155: case 156: case 157: case 158: case 159: case 160: case 161: case 162: case 163: case 164: case 165: case 166: case 167: case 168: case 169: case 170: case 171: case 172: case 173: case 174: case 175: case 176: case 177: case 178: case 179: case 180: case 181: case 182: case 183: 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.Message.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"; if (message.mediaData != null && message.hasOwnProperty("mediaData")) { var error = $root.proto.MediaData.verify(message.mediaData); if (error) return "mediaData." + error; } if (message.photoChange != null && message.hasOwnProperty("photoChange")) { var error = $root.proto.PhotoChange.verify(message.photoChange); if (error) return "photoChange." + error; } if (message.userReceipt != null && message.hasOwnProperty("userReceipt")) { if (!Array.isArray(message.userReceipt)) return "userReceipt: array expected"; for (var i = 0; i < message.userReceipt.length; ++i) { var error = $root.proto.UserReceipt.verify(message.userReceipt[i]); if (error) return "userReceipt." + error; } } if (message.reactions != null && message.hasOwnProperty("reactions")) { if (!Array.isArray(message.reactions)) return "reactions: array expected"; for (var i = 0; i < message.reactions.length; ++i) { var error = $root.proto.Reaction.verify(message.reactions[i]); if (error) return "reactions." + error; } } if (message.quotedStickerData != null && message.hasOwnProperty("quotedStickerData")) { var error = $root.proto.MediaData.verify(message.quotedStickerData); if (error) return "quotedStickerData." + error; } if (message.futureproofData != null && message.hasOwnProperty("futureproofData")) if (!(message.futureproofData && typeof message.futureproofData.length === "number" || $util.isString(message.futureproofData))) return "futureproofData: buffer expected"; if (message.statusPsa != null && message.hasOwnProperty("statusPsa")) { var error = $root.proto.StatusPSA.verify(message.statusPsa); if (error) return "statusPsa." + error; } if (message.pollUpdates != null && message.hasOwnProperty("pollUpdates")) { if (!Array.isArray(message.pollUpdates)) return "pollUpdates: array expected"; for (var i = 0; i < message.pollUpdates.length; ++i) { var error = $root.proto.PollUpdate.verify(message.pollUpdates[i]); if (error) return "pollUpdates." + error; } } if (message.pollAdditionalMetadata != null && message.hasOwnProperty("pollAdditionalMetadata")) { var error = $root.proto.PollAdditionalMetadata.verify(message.pollAdditionalMetadata); if (error) return "pollAdditionalMetadata." + error; } if (message.agentId != null && message.hasOwnProperty("agentId")) if (!$util.isString(message.agentId)) return "agentId: string expected"; if (message.statusAlreadyViewed != null && message.hasOwnProperty("statusAlreadyViewed")) if (typeof message.statusAlreadyViewed !== "boolean") return "statusAlreadyViewed: boolean expected"; if (message.messageSecret != null && message.hasOwnProperty("messageSecret")) if (!(message.messageSecret && typeof message.messageSecret.length === "number" || $util.isString(message.messageSecret))) return "messageSecret: buffer expected"; if (message.keepInChat != null && message.hasOwnProperty("keepInChat")) { var error = $root.proto.KeepInChat.verify(message.keepInChat); if (error) return "keepInChat." + error; } if (message.originalSelfAuthorUserJidString != null && message.hasOwnProperty("originalSelfAuthorUserJidString")) if (!$util.isString(message.originalSelfAuthorUserJidString)) return "originalSelfAuthorUserJidString: string expected"; if (message.revokeMessageTimestamp != null && message.hasOwnProperty("revokeMessageTimestamp")) if (!$util.isInteger(message.revokeMessageTimestamp) && !(message.revokeMessageTimestamp && $util.isInteger(message.revokeMessageTimestamp.low) && $util.isInteger(message.revokeMessageTimestamp.high))) return "revokeMessageTimestamp: integer|Long expected"; if (message.pinInChat != null && message.hasOwnProperty("pinInChat")) { var error = $root.proto.PinInChat.verify(message.pinInChat); if (error) return "pinInChat." + error; } 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.<string,*>} 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.messageC2STimestamp != null) if ($util.Long) (message.messageC2STimestamp = $util.Long.fromValue(object.messageC2STimestamp)).unsigned = true; else if (typeof object.messageC2STimestamp === "string") message.messageC2STimestamp = parseInt(object.messageC2STimestamp, 10); else if (typeof object.messageC2STimestamp === "number") message.messageC2STimestamp = object.messageC2STimestamp; else if (typeof object.messageC2STimestamp === "object") message.messageC2STimestamp = new $util.LongBits(object.messageC2STimestamp.low >>> 0, object.messageC2STimestamp.high >>> 0).toNumber(true); 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; case "GROUP_CREATING": case 119: message.messageStubType = 119; break; case "GROUP_CREATE_FAILED": case 120: message.messageStubType = 120; break; case "GROUP_BOUNCED": case 121: message.messageStubType = 121; break; case "BLOCK_CONTACT": case 122: message.messageStubType = 122; break; case "EPHEMERAL_SETTING_NOT_APPLIED": case 123: message.messageStubType = 123; break; case "SYNC_FAILED": case 124: message.messageStubType = 124; break; case "SYNCING": case 125: message.messageStubType = 125; break; case "BIZ_PRIVACY_MODE_INIT_FB": case 126: message.messageStubType = 126; break; case "BIZ_PRIVACY_MODE_INIT_BSP": case 127: message.messageStubType = 127; break; case "BIZ_PRIVACY_MODE_TO_FB": case 128: message.messageStubType = 128; break; case "BIZ_PRIVACY_MODE_TO_BSP": case 129: message.messageStubType = 129; break; case "DISAPPEARING_MODE": case 130: message.messageStubType = 130; break; case "E2E_DEVICE_FETCH_FAILED": case 131: message.messageStubType = 131; break; case "ADMIN_REVOKE": case 132: message.messageStubType = 132; break; case "GROUP_INVITE_LINK_GROWTH_LOCKED": case 133: message.messageStubType = 133; break; case "COMMUNITY_LINK_PARENT_GROUP": case 134: message.messageStubType = 134; break; case "COMMUNITY_LINK_SIBLING_GROUP": case 135: message.messageStubType = 135; break; case "COMMUNITY_LINK_SUB_GROUP": case 136: message.messageStubType = 136; break; case "COMMUNITY_UNLINK_PARENT_GROUP": case 137: message.messageStubType = 137; break; case "COMMUNITY_UNLINK_SIBLING_GROUP": case 138: message.messageStubType = 138; break; case "COMMUNITY_UNLINK_SUB_GROUP": case 139: message.messageStubType = 139; break; case "GROUP_PARTICIPANT_ACCEPT": case 140: message.messageStubType = 140; break; case "GROUP_PARTICIPANT_LINKED_GROUP_JOIN": case 141: message.messageStubType = 141; break; case "COMMUNITY_CREATE": case 142: message.messageStubType = 142; break; case "EPHEMERAL_KEEP_IN_CHAT": case 143: message.messageStubType = 143; break; case "GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST": case 144: message.messageStubType = 144; break; case "GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE": case 145: message.messageStubType = 145; break; case "INTEGRITY_UNLINK_PARENT_GROUP": case 146: message.messageStubType = 146; break; case "COMMUNITY_PARTICIPANT_PROMOTE": case 147: message.messageStubType = 147; break; case "COMMUNITY_PARTICIPANT_DEMOTE": case 148: message.messageStubType = 148; break; case "COMMUNITY_PARENT_GROUP_DELETED": case 149: message.messageStubType = 149; break; case "COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL": case 150: message.messageStubType = 150; break; case "GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP": case 151: message.messageStubType = 151; break; case "MASKED_THREAD_CREATED": case 152: message.messageStubType = 152; break; case "MASKED_THREAD_UNMASKED": case 153: message.messageStubType = 153; break; case "BIZ_CHAT_ASSIGNMENT": case 154: message.messageStubType = 154; break; case "CHAT_PSA": case 155: message.messageStubType = 155; break; case "CHAT_POLL_CREATION_MESSAGE": case 156: message.messageStubType = 156; break; case "CAG_MASKED_THREAD_CREATED": case 157: message.messageStubType = 157; break; case "COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED": case 158: message.messageStubType = 158; break; case "CAG_INVITE_AUTO_ADD": case 159: message.messageStubType = 159; break; case "BIZ_CHAT_ASSIGNMENT_UNASSIGN": case 160: message.messageStubType = 160; break; case "CAG_INVITE_AUTO_JOINED": case 161: message.messageStubType = 161; break; case "SCHEDULED_CALL_START_MESSAGE": case 162: message.messageStubType = 162; break; case "COMMUNITY_INVITE_RICH": case 163: message.messageStubType = 163; break; case "COMMUNITY_INVITE_AUTO_ADD_RICH": case 164: message.messageStubType = 164; break; case "SUB_GROUP_INVITE_RICH": case 165: message.messageStubType = 165; break; case "SUB_GROUP_PARTICIPANT_ADD_RICH": case 166: message.messageStubType = 166; break; case "COMMUNITY_LINK_PARENT_GROUP_RICH": case 167: message.messageStubType = 167; break; case "COMMUNITY_PARTICIPANT_ADD_RICH": case 168: message.messageStubType = 168; break; case "SILENCED_UNKNOWN_CALLER_AUDIO": case 169: message.messageStubType = 169; break; case "SILENCED_UNKNOWN_CALLER_VIDEO": case 170: message.messageStubType = 170; break; case "GROUP_MEMBER_ADD_MODE": case 171: message.messageStubType = 171; break; case "GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD": case 172: message.messageStubType = 172; break; case "COMMUNITY_CHANGE_DESCRIPTION": case 173: message.messageStubType = 173; break; case "SENDER_INVITE": case 174: message.messageStubType = 174; break; case "RECEIVER_INVITE": case 175: message.messageStubType = 175; break; case "COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS": case 176: message.messageStubType = 176; break; case "PINNED_MESSAGE_IN_CHAT": case 177: message.messageStubType = 177; break; case "PAYMENT_INVITE_SETUP_INVITER": case 178: message.messageStubType = 178; break; case "PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY": case 179: message.messageStubType = 179; break; case "PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE": case 180: message.messageStubType = 180; break; case "LINKED_GROUP_CALL_START": case 181: message.messageStubType = 181; break; case "REPORT_TO_ADMIN_ENABLED_STATUS": case 182: message.messageStubType = 182; break; case "EMPTY_SUBGROUP_CREATE": case 183: message.messageStubType = 183; 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.Message.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); if (object.mediaData != null) { if (typeof object.mediaData !== "object") throw TypeError(".proto.WebMessageInfo.mediaData: object expected"); message.mediaData = $root.proto.MediaData.fromObject(object.mediaData); } if (object.photoChange != null) { if (typeof object.photoChange !== "object") throw TypeError(".proto.WebMessageInfo.photoChange: object expected"); message.photoChange = $root.proto.PhotoChange.fromObject(object.photoChange); } if (object.userReceipt) { if (!Array.isArray(object.userReceipt)) throw TypeError(".proto.WebMessageInfo.userReceipt: array expected"); message.userReceipt = []; for (var i = 0; i < object.userReceipt.length; ++i) { if (typeof object.userReceipt[i] !== "object") throw TypeError(".proto.WebMessageInfo.userReceipt: object expected"); message.userReceipt[i] = $root.proto.UserReceipt.fromObject(object.userReceipt[i]); } } if (object.reactions) { if (!Array.isArray(object.reactions)) throw TypeError(".proto.WebMessageInfo.reactions: array expected"); message.reactions = []; for (var i = 0; i < object.reactions.length; ++i) { if (typeof object.reactions[i] !== "object") throw TypeError(".proto.WebMessageInfo.reactions: object expected"); message.reactions[i] = $root.proto.Reaction.fromObject(object.reactions[i]); } } if (object.quotedStickerData != null) { if (typeof object.quotedStickerData !== "object") throw TypeError(".proto.WebMessageInfo.quotedStickerData: object expected"); message.quotedStickerData = $root.proto.MediaData.fromObject(object.quotedStickerData); } if (object.futureproofData != null) if (typeof object.futureproofData === "string") $util.base64.decode(object.futureproofData, message.futureproofData = $util.newBuffer($util.base64.length(object.futureproofData)), 0); else if (object.futureproofData.length) message.futureproofData = object.futureproofData; if (object.statusPsa != null) { if (typeof object.statusPsa !== "object") throw TypeError(".proto.WebMessageInfo.statusPsa: object expected"); message.statusPsa = $root.proto.StatusPSA.fromObject(object.statusPsa); } if (object.pollUpdates) { if (!Array.isArray(object.pollUpdates)) throw TypeError(".proto.WebMessageInfo.pollUpdates: array expected"); message.pollUpdates = []; for (var i = 0; i < object.pollUpdates.length; ++i) { if (typeof object.pollUpdates[i] !== "object") throw TypeError(".proto.WebMessageInfo.pollUpdates: object expected"); message.pollUpdates[i] = $root.proto.PollUpdate.fromObject(object.pollUpdates[i]); } } if (object.pollAdditionalMetadata != null) { if (typeof object.pollAdditionalMetadata !== "object") throw TypeError(".proto.WebMessageInfo.pollAdditionalMetadata: object expected"); message.pollAdditionalMetadata = $root.proto.PollAdditionalMetadata.fromObject(object.pollAdditionalMetadata); } if (object.agentId != null) message.agentId = String(object.agentId); if (object.statusAlreadyViewed != null) message.statusAlreadyViewed = Boolean(object.statusAlreadyViewed); if (object.messageSecret != null) if (typeof object.messageSecret === "string") $util.base64.decode(object.messageSecret, message.messageSecret = $util.newBuffer($util.base64.length(object.messageSecret)), 0); else if (object.messageSecret.length) message.messageSecret = object.messageSecret; if (object.keepInChat != null) { if (typeof object.keepInChat !== "object") throw TypeError(".proto.WebMessageInfo.keepInChat: object expected"); message.keepInChat = $root.proto.KeepInChat.fromObject(object.keepInChat); } if (object.originalSelfAuthorUserJidString != null) message.originalSelfAuthorUserJidString = String(object.originalSelfAuthorUserJidString); if (object.revokeMessageTimestamp != null) if ($util.Long) (message.revokeMessageTimestamp = $util.Long.fromValue(object.revokeMessageTimestamp)).unsigned = true; else if (typeof object.revokeMessageTimestamp === "string") message.revokeMessageTimestamp = parseInt(object.revokeMessageTimestamp, 10); else if (typeof object.revokeMessageTimestamp === "number") message.revokeMessageTimestamp = object.revokeMessageTimestamp; else if (typeof object.revokeMessageTimestamp === "object") message.revokeMessageTimestamp = new $util.LongBits(object.revokeMessageTimestamp.low >>> 0, object.revokeMessageTimestamp.high >>> 0).toNumber(true); if (object.pinInChat != null) { if (typeof object.pinInChat !== "object") throw TypeError(".proto.WebMessageInfo.pinInChat: object expected"); message.pinInChat = $root.proto.PinInChat.fromObject(object.pinInChat); } 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.<string,*>} Plain object */ WebMessageInfo.toObject = function toObject(message, options) { if (!options) options = {}; var object = {}; if (options.arrays || options.defaults) { object.messageStubParameters = []; object.labels = []; object.userReceipt = []; object.reactions = []; object.pollUpdates = []; } 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 = ""; if ($util.Long) { var long = new $util.Long(0, 0, true); object.messageC2STimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.messageC2STimestamp = options.longs === String ? "0" : 0; 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 = ""; object.mediaData = null; object.photoChange = null; object.quotedStickerData = null; if (options.bytes === String) object.futureproofData = ""; else { object.futureproofData = []; if (options.bytes !== Array) object.futureproofData = $util.newBuffer(object.futureproofData); } object.statusPsa = null; object.pollAdditionalMetadata = null; object.agentId = ""; object.statusAlreadyViewed = false; if (options.bytes === String) object.messageSecret = ""; else { object.messageSecret = []; if (options.bytes !== Array) object.messageSecret = $util.newBuffer(object.messageSecret); } object.keepInChat = null; object.originalSelfAuthorUserJidString = ""; if ($util.Long) { var long = new $util.Long(0, 0, true); object.revokeMessageTimestamp = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; } else object.revokeMessageTimestamp = options.longs === String ? "0" : 0; object.pinInChat = null; } 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.Status[message.status] : message.status; if (message.participant != null && message.hasOwnProperty("participant")) object.participant = message.participant; if (message.messageC2STimestamp != null && message.hasOwnProperty("messageC2STimestamp")) if (typeof message.messageC2STimestamp === "number") object.messageC2STimestamp = options.longs === String ? String(message.messageC2STimestamp) : message.messageC2STimestamp; else object.messageC2STimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.messageC2STimestamp) : options.longs === Number ? new $util.LongBits(message.messageC2STimestamp.low >>> 0, message.messageC2STimestamp.high >>> 0).toNumber(true) : message.messageC2STimestamp; 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.StubType[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.Message.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.BizPrivacyStatus[message.bizPrivacyStatus] : message.bizPrivacyStatus; if (message.verifiedBizName != null && message.hasOwnProperty("verifiedBizName")) object.verifiedBizName = message.verifiedBizName; if (message.mediaData != null && message.hasOwnProperty("mediaData")) object.mediaData = $root.proto.MediaData.toObject(message.mediaData, options); if (message.photoChange != null && message.hasOwnProperty("photoChange")) object.photoChange = $root.proto.PhotoChange.toObject(message.photoChange, options); if (message.userReceipt && message.userReceipt.length) { object.userReceipt = []; for (var j = 0; j < message.userReceipt.length; ++j) object.userReceipt[j] = $root.proto.UserReceipt.toObject(message.userReceipt[j], options); } if (message.reactions && message.reactions.length) { object.reactions = []; for (var j = 0; j < message.reactions.length; ++j) object.reactions[j] = $root.proto.Reaction.toObject(message.reactions[j], options); } if (message.quotedStickerData != null && message.hasOwnProperty("quotedStickerData")) object.quotedStickerData = $root.proto.MediaData.toObject(message.quotedStickerData, options); if (message.futureproofData != null && message.hasOwnProperty("futureproofData")) object.futureproofData = options.bytes === String ? $util.base64.encode(message.futureproofData, 0, message.futureproofData.length) : options.bytes === Array ? Array.prototype.slice.call(message.futureproofData) : message.futureproofData; if (message.statusPsa != null && message.hasOwnProperty("statusPsa")) object.statusPsa = $root.proto.StatusPSA.toObject(message.statusPsa, options); if (message.pollUpdates && message.pollUpdates.length) { object.pollUpdates = []; for (var j = 0; j < message.pollUpdates.length; ++j) object.pollUpdates[j] = $root.proto.PollUpdate.toObject(message.pollUpdates[j], options); } if (message.pollAdditionalMetadata != null && message.hasOwnProperty("pollAdditionalMetadata")) object.pollAdditionalMetadata = $root.proto.PollAdditionalMetadata.toObject(message.pollAdditionalMetadata, options); if (message.agentId != null && message.hasOwnProperty("agentId")) object.agentId = message.agentId; if (message.statusAlreadyViewed != null && message.hasOwnProperty("statusAlreadyViewed")) object.statusAlreadyViewed = message.statusAlreadyViewed; if (message.messageSecret != null && message.hasOwnProperty("messageSecret")) object.messageSecret = options.bytes === String ? $util.base64.encode(message.messageSecret, 0, message.messageSecret.length) : options.bytes === Array ? Array.prototype.slice.call(message.messageSecret) : message.messageSecret; if (message.keepInChat != null && message.hasOwnProperty("keepInChat")) object.keepInChat = $root.proto.KeepInChat.toObject(message.keepInChat, options); if (message.originalSelfAuthorUserJidString != null && message.hasOwnProperty("originalSelfAuthorUserJidString")) object.originalSelfAuthorUserJidString = message.originalSelfAuthorUserJidString; if (message.revokeMessageTimestamp != null && message.hasOwnProperty("revokeMessageTimestamp")) if (typeof message.revokeMessageTimestamp === "number") object.revokeMessageTimestamp = options.longs === String ? String(message.revokeMessageTimestamp) : message.revokeMessageTimestamp; else object.revokeMessageTimestamp = options.longs === String ? $util.Long.prototype.toString.call(message.revokeMessageTimestamp) : options.longs === Number ? new $util.LongBits(message.revokeMessageTimestamp.low >>> 0, message.revokeMessageTimestamp.high >>> 0).toNumber(true) : message.revokeMessageTimestamp; if (message.pinInChat != null && message.hasOwnProperty("pinInChat")) object.pinInChat = $root.proto.PinInChat.toObject(message.pinInChat, options); return object; }; /** * Converts this WebMessageInfo to JSON. * @function toJSON * @memberof proto.WebMessageInfo * @instance * @returns {Object.<string,*>} JSON object */ WebMessageInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; /** * BizPrivacyStatus enum. * @name proto.WebMessageInfo.BizPrivacyStatus * @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.BizPrivacyStatus = (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; })(); /** * Status enum. * @name proto.WebMessageInfo.Status * @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.Status = (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; })(); /** * StubType enum. * @name proto.WebMessageInfo.StubType * @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 * @property {number} GROUP_CREATING=119 GROUP_CREATING value * @property {number} GROUP_CREATE_FAILED=120 GROUP_CREATE_FAILED value * @property {number} GROUP_BOUNCED=121 GROUP_BOUNCED value * @property {number} BLOCK_CONTACT=122 BLOCK_CONTACT value * @property {number} EPHEMERAL_SETTING_NOT_APPLIED=123 EPHEMERAL_SETTING_NOT_APPLIED value * @property {number} SYNC_FAILED=124 SYNC_FAILED value * @property {number} SYNCING=125 SYNCING value * @property {number} BIZ_PRIVACY_MODE_INIT_FB=126 BIZ_PRIVACY_MODE_INIT_FB value * @property {number} BIZ_PRIVACY_MODE_INIT_BSP=127 BIZ_PRIVACY_MODE_INIT_BSP value * @property {number} BIZ_PRIVACY_MODE_TO_FB=128 BIZ_PRIVACY_MODE_TO_FB value * @property {number} BIZ_PRIVACY_MODE_TO_BSP=129 BIZ_PRIVACY_MODE_TO_BSP value * @property {number} DISAPPEARING_MODE=130 DISAPPEARING_MODE value * @property {number} E2E_DEVICE_FETCH_FAILED=131 E2E_DEVICE_FETCH_FAILED value * @property {number} ADMIN_REVOKE=132 ADMIN_REVOKE value * @property {number} GROUP_INVITE_LINK_GROWTH_LOCKED=133 GROUP_INVITE_LINK_GROWTH_LOCKED value * @property {number} COMMUNITY_LINK_PARENT_GROUP=134 COMMUNITY_LINK_PARENT_GROUP value * @property {number} COMMUNITY_LINK_SIBLING_GROUP=135 COMMUNITY_LINK_SIBLING_GROUP value * @property {number} COMMUNITY_LINK_SUB_GROUP=136 COMMUNITY_LINK_SUB_GROUP value * @property {number} COMMUNITY_UNLINK_PARENT_GROUP=137 COMMUNITY_UNLINK_PARENT_GROUP value * @property {number} COMMUNITY_UNLINK_SIBLING_GROUP=138 COMMUNITY_UNLINK_SIBLING_GROUP value * @property {number} COMMUNITY_UNLINK_SUB_GROUP=139 COMMUNITY_UNLINK_SUB_GROUP value * @property {number} GROUP_PARTICIPANT_ACCEPT=140 GROUP_PARTICIPANT_ACCEPT value * @property {number} GROUP_PARTICIPANT_LINKED_GROUP_JOIN=141 GROUP_PARTICIPANT_LINKED_GROUP_JOIN value * @property {number} COMMUNITY_CREATE=142 COMMUNITY_CREATE value * @property {number} EPHEMERAL_KEEP_IN_CHAT=143 EPHEMERAL_KEEP_IN_CHAT value * @property {number} GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST=144 GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST value * @property {number} GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE=145 GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE value * @property {number} INTEGRITY_UNLINK_PARENT_GROUP=146 INTEGRITY_UNLINK_PARENT_GROUP value * @property {number} COMMUNITY_PARTICIPANT_PROMOTE=147 COMMUNITY_PARTICIPANT_PROMOTE value * @property {number} COMMUNITY_PARTICIPANT_DEMOTE=148 COMMUNITY_PARTICIPANT_DEMOTE value * @property {number} COMMUNITY_PARENT_GROUP_DELETED=149 COMMUNITY_PARENT_GROUP_DELETED value * @property {number} COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL=150 COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL value * @property {number} GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP=151 GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP value * @property {number} MASKED_THREAD_CREATED=152 MASKED_THREAD_CREATED value * @property {number} MASKED_THREAD_UNMASKED=153 MASKED_THREAD_UNMASKED value * @property {number} BIZ_CHAT_ASSIGNMENT=154 BIZ_CHAT_ASSIGNMENT value * @property {number} CHAT_PSA=155 CHAT_PSA value * @property {number} CHAT_POLL_CREATION_MESSAGE=156 CHAT_POLL_CREATION_MESSAGE value * @property {number} CAG_MASKED_THREAD_CREATED=157 CAG_MASKED_THREAD_CREATED value * @property {number} COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED=158 COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED value * @property {number} CAG_INVITE_AUTO_ADD=159 CAG_INVITE_AUTO_ADD value * @property {number} BIZ_CHAT_ASSIGNMENT_UNASSIGN=160 BIZ_CHAT_ASSIGNMENT_UNASSIGN value * @property {number} CAG_INVITE_AUTO_JOINED=161 CAG_INVITE_AUTO_JOINED value * @property {number} SCHEDULED_CALL_START_MESSAGE=162 SCHEDULED_CALL_START_MESSAGE value * @property {number} COMMUNITY_INVITE_RICH=163 COMMUNITY_INVITE_RICH value * @property {number} COMMUNITY_INVITE_AUTO_ADD_RICH=164 COMMUNITY_INVITE_AUTO_ADD_RICH value * @property {number} SUB_GROUP_INVITE_RICH=165 SUB_GROUP_INVITE_RICH value * @property {number} SUB_GROUP_PARTICIPANT_ADD_RICH=166 SUB_GROUP_PARTICIPANT_ADD_RICH value * @property {number} COMMUNITY_LINK_PARENT_GROUP_RICH=167 COMMUNITY_LINK_PARENT_GROUP_RICH value * @property {number} COMMUNITY_PARTICIPANT_ADD_RICH=168 COMMUNITY_PARTICIPANT_ADD_RICH value * @property {number} SILENCED_UNKNOWN_CALLER_AUDIO=169 SILENCED_UNKNOWN_CALLER_AUDIO value * @property {number} SILENCED_UNKNOWN_CALLER_VIDEO=170 SILENCED_UNKNOWN_CALLER_VIDEO value * @property {number} GROUP_MEMBER_ADD_MODE=171 GROUP_MEMBER_ADD_MODE value * @property {number} GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD=172 GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD value * @property {number} COMMUNITY_CHANGE_DESCRIPTION=173 COMMUNITY_CHANGE_DESCRIPTION value * @property {number} SENDER_INVITE=174 SENDER_INVITE value * @property {number} RECEIVER_INVITE=175 RECEIVER_INVITE value * @property {number} COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS=176 COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS value * @property {number} PINNED_MESSAGE_IN_CHAT=177 PINNED_MESSAGE_IN_CHAT value * @property {number} PAYMENT_INVITE_SETUP_INVITER=178 PAYMENT_INVITE_SETUP_INVITER value * @property {number} PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY=179 PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY value * @property {number} PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE=180 PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE value * @property {number} LINKED_GROUP_CALL_START=181 LINKED_GROUP_CALL_START value * @property {number} REPORT_TO_ADMIN_ENABLED_STATUS=182 REPORT_TO_ADMIN_ENABLED_STATUS value * @property {number} EMPTY_SUBGROUP_CREATE=183 EMPTY_SUBGROUP_CREATE value */ WebMessageInfo.StubType = (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; values[valuesById[119] = "GROUP_CREATING"] = 119; values[valuesById[120] = "GROUP_CREATE_FAILED"] = 120; values[valuesById[121] = "GROUP_BOUNCED"] = 121; values[valuesById[122] = "BLOCK_CONTACT"] = 122; values[valuesById[123] = "EPHEMERAL_SETTING_NOT_APPLIED"] = 123; values[valuesById[124] = "SYNC_FAILED"] = 124; values[valuesById[125] = "SYNCING"] = 125; values[valuesById[126] = "BIZ_PRIVACY_MODE_INIT_FB"] = 126; values[valuesById[127] = "BIZ_PRIVACY_MODE_INIT_BSP"] = 127; values[valuesById[128] = "BIZ_PRIVACY_MODE_TO_FB"] = 128; values[valuesById[129] = "BIZ_PRIVACY_MODE_TO_BSP"] = 129; values[valuesById[130] = "DISAPPEARING_MODE"] = 130; values[valuesById[131] = "E2E_DEVICE_FETCH_FAILED"] = 131; values[valuesById[132] = "ADMIN_REVOKE"] = 132; values[valuesById[133] = "GROUP_INVITE_LINK_GROWTH_LOCKED"] = 133; values[valuesById[134] = "COMMUNITY_LINK_PARENT_GROUP"] = 134; values[valuesById[135] = "COMMUNITY_LINK_SIBLING_GROUP"] = 135; values[valuesById[136] = "COMMUNITY_LINK_SUB_GROUP"] = 136; values[valuesById[137] = "COMMUNITY_UNLINK_PARENT_GROUP"] = 137; values[valuesById[138] = "COMMUNITY_UNLINK_SIBLING_GROUP"] = 138; values[valuesById[139] = "COMMUNITY_UNLINK_SUB_GROUP"] = 139; values[valuesById[140] = "GROUP_PARTICIPANT_ACCEPT"] = 140; values[valuesById[141] = "GROUP_PARTICIPANT_LINKED_GROUP_JOIN"] = 141; values[valuesById[142] = "COMMUNITY_CREATE"] = 142; values[valuesById[143] = "EPHEMERAL_KEEP_IN_CHAT"] = 143; values[valuesById[144] = "GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST"] = 144; values[valuesById[145] = "GROUP_MEMBERSHIP_JOIN_APPROVAL_MODE"] = 145; values[valuesById[146] = "INTEGRITY_UNLINK_PARENT_GROUP"] = 146; values[valuesById[147] = "COMMUNITY_PARTICIPANT_PROMOTE"] = 147; values[valuesById[148] = "COMMUNITY_PARTICIPANT_DEMOTE"] = 148; values[valuesById[149] = "COMMUNITY_PARENT_GROUP_DELETED"] = 149; values[valuesById[150] = "COMMUNITY_LINK_PARENT_GROUP_MEMBERSHIP_APPROVAL"] = 150; values[valuesById[151] = "GROUP_PARTICIPANT_JOINED_GROUP_AND_PARENT_GROUP"] = 151; values[valuesById[152] = "MASKED_THREAD_CREATED"] = 152; values[valuesById[153] = "MASKED_THREAD_UNMASKED"] = 153; values[valuesById[154] = "BIZ_CHAT_ASSIGNMENT"] = 154; values[valuesById[155] = "CHAT_PSA"] = 155; values[valuesById[156] = "CHAT_POLL_CREATION_MESSAGE"] = 156; values[valuesById[157] = "CAG_MASKED_THREAD_CREATED"] = 157; values[valuesById[158] = "COMMUNITY_PARENT_GROUP_SUBJECT_CHANGED"] = 158; values[valuesById[159] = "CAG_INVITE_AUTO_ADD"] = 159; values[valuesById[160] = "BIZ_CHAT_ASSIGNMENT_UNASSIGN"] = 160; values[valuesById[161] = "CAG_INVITE_AUTO_JOINED"] = 161; values[valuesById[162] = "SCHEDULED_CALL_START_MESSAGE"] = 162; values[valuesById[163] = "COMMUNITY_INVITE_RICH"] = 163; values[valuesById[164] = "COMMUNITY_INVITE_AUTO_ADD_RICH"] = 164; values[valuesById[165] = "SUB_GROUP_INVITE_RICH"] = 165; values[valuesById[166] = "SUB_GROUP_PARTICIPANT_ADD_RICH"] = 166; values[valuesById[167] = "COMMUNITY_LINK_PARENT_GROUP_RICH"] = 167; values[valuesById[168] = "COMMUNITY_PARTICIPANT_ADD_RICH"] = 168; values[valuesById[169] = "SILENCED_UNKNOWN_CALLER_AUDIO"] = 169; values[valuesById[170] = "SILENCED_UNKNOWN_CALLER_VIDEO"] = 170; values[valuesById[171] = "GROUP_MEMBER_ADD_MODE"] = 171; values[valuesById[172] = "GROUP_MEMBERSHIP_JOIN_APPROVAL_REQUEST_NON_ADMIN_ADD"] = 172; values[valuesById[173] = "COMMUNITY_CHANGE_DESCRIPTION"] = 173; values[valuesById[174] = "SENDER_INVITE"] = 174; values[valuesById[175] = "RECEIVER_INVITE"] = 175; values[valuesById[176] = "COMMUNITY_ALLOW_MEMBER_ADDED_GROUPS"] = 176; values[valuesById[177] = "PINNED_MESSAGE_IN_CHAT"] = 177; values[valuesById[178] = "PAYMENT_INVITE_SETUP_INVITER"] = 178; values[valuesById[179] = "PAYMENT_INVITE_SETUP_INVITEE_RECEIVE_ONLY"] = 179; values[valuesById[180] = "PAYMENT_INVITE_SETUP_INVITEE_SEND_AND_RECEIVE"] = 180; values[valuesById[181] = "LINKED_GROUP_CALL_START"] = 181; values[valuesById[182] = "REPORT_TO_ADMIN_ENABLED_STATUS"] = 182; values[valuesById[183] = "EMPTY_SUBGROUP_CREATE"] = 183; return values; })(); return WebMessageInfo; })(); 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.<proto.IWebMessageInfo>|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.<proto.IWebMessageInfo>} 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.<string,*>} 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.<string,*>} 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.<string,*>} 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.<string,*>} JSON object */ WebNotificationsInfo.prototype.toJSON = function toJSON() { return this.constructor.toObject(this, $protobuf.util.toJSONOptions); }; return WebNotificationsInfo; })(); return proto; })(); module.exports = $root; |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0584 ]-- |