UNPKG

jarviscrawlercore

Version:
1,700 lines (1,485 loc) 98.7 kB
// source: tmall.proto /** * @fileoverview * @enhanceable * @suppress {messageConventions} JS Compiler reports an error if a variable or * field starts with 'MSG_' and isn't a translatable message. * @public */ // GENERATED CODE -- DO NOT EDIT! /* eslint-disable */ // @ts-nocheck var jspb = require('google-protobuf'); var goog = jspb; var global = Function('return this')(); goog.exportSymbol('proto.jarviscrawlercore.ReplyTmall', null, global); goog.exportSymbol('proto.jarviscrawlercore.ReplyTmall.ReplyCase', null, global); goog.exportSymbol('proto.jarviscrawlercore.RequestTmall', null, global); goog.exportSymbol('proto.jarviscrawlercore.TmallMode', null, global); goog.exportSymbol('proto.jarviscrawlercore.TmallProduct', null, global); goog.exportSymbol('proto.jarviscrawlercore.TmallProductHistory', null, global); goog.exportSymbol('proto.jarviscrawlercore.TmallProperty', null, global); goog.exportSymbol('proto.jarviscrawlercore.TmallRelatedItem', null, global); goog.exportSymbol('proto.jarviscrawlercore.TmallReviewTag', null, global); goog.exportSymbol('proto.jarviscrawlercore.TmallSKUInfo', null, global); goog.exportSymbol('proto.jarviscrawlercore.TmallShopInfo', null, global); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a * server response, or constructed directly in Javascript. The array is used * in place and becomes part of the constructed object. It is not cloned. * If no data is provided, the constructed object will be empty, but still * valid. * @extends {jspb.Message} * @constructor */ proto.jarviscrawlercore.TmallSKUInfo = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; goog.inherits(proto.jarviscrawlercore.TmallSKUInfo, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ proto.jarviscrawlercore.TmallSKUInfo.displayName = 'proto.jarviscrawlercore.TmallSKUInfo'; } /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a * server response, or constructed directly in Javascript. The array is used * in place and becomes part of the constructed object. It is not cloned. * If no data is provided, the constructed object will be empty, but still * valid. * @extends {jspb.Message} * @constructor */ proto.jarviscrawlercore.TmallProductHistory = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, proto.jarviscrawlercore.TmallProductHistory.repeatedFields_, null); }; goog.inherits(proto.jarviscrawlercore.TmallProductHistory, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ proto.jarviscrawlercore.TmallProductHistory.displayName = 'proto.jarviscrawlercore.TmallProductHistory'; } /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a * server response, or constructed directly in Javascript. The array is used * in place and becomes part of the constructed object. It is not cloned. * If no data is provided, the constructed object will be empty, but still * valid. * @extends {jspb.Message} * @constructor */ proto.jarviscrawlercore.TmallReviewTag = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; goog.inherits(proto.jarviscrawlercore.TmallReviewTag, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ proto.jarviscrawlercore.TmallReviewTag.displayName = 'proto.jarviscrawlercore.TmallReviewTag'; } /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a * server response, or constructed directly in Javascript. The array is used * in place and becomes part of the constructed object. It is not cloned. * If no data is provided, the constructed object will be empty, but still * valid. * @extends {jspb.Message} * @constructor */ proto.jarviscrawlercore.TmallShopInfo = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, proto.jarviscrawlercore.TmallShopInfo.repeatedFields_, null); }; goog.inherits(proto.jarviscrawlercore.TmallShopInfo, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ proto.jarviscrawlercore.TmallShopInfo.displayName = 'proto.jarviscrawlercore.TmallShopInfo'; } /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a * server response, or constructed directly in Javascript. The array is used * in place and becomes part of the constructed object. It is not cloned. * If no data is provided, the constructed object will be empty, but still * valid. * @extends {jspb.Message} * @constructor */ proto.jarviscrawlercore.TmallProperty = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; goog.inherits(proto.jarviscrawlercore.TmallProperty, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ proto.jarviscrawlercore.TmallProperty.displayName = 'proto.jarviscrawlercore.TmallProperty'; } /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a * server response, or constructed directly in Javascript. The array is used * in place and becomes part of the constructed object. It is not cloned. * If no data is provided, the constructed object will be empty, but still * valid. * @extends {jspb.Message} * @constructor */ proto.jarviscrawlercore.TmallRelatedItem = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; goog.inherits(proto.jarviscrawlercore.TmallRelatedItem, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ proto.jarviscrawlercore.TmallRelatedItem.displayName = 'proto.jarviscrawlercore.TmallRelatedItem'; } /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a * server response, or constructed directly in Javascript. The array is used * in place and becomes part of the constructed object. It is not cloned. * If no data is provided, the constructed object will be empty, but still * valid. * @extends {jspb.Message} * @constructor */ proto.jarviscrawlercore.TmallProduct = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, proto.jarviscrawlercore.TmallProduct.repeatedFields_, null); }; goog.inherits(proto.jarviscrawlercore.TmallProduct, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ proto.jarviscrawlercore.TmallProduct.displayName = 'proto.jarviscrawlercore.TmallProduct'; } /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a * server response, or constructed directly in Javascript. The array is used * in place and becomes part of the constructed object. It is not cloned. * If no data is provided, the constructed object will be empty, but still * valid. * @extends {jspb.Message} * @constructor */ proto.jarviscrawlercore.RequestTmall = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; goog.inherits(proto.jarviscrawlercore.RequestTmall, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ proto.jarviscrawlercore.RequestTmall.displayName = 'proto.jarviscrawlercore.RequestTmall'; } /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a * server response, or constructed directly in Javascript. The array is used * in place and becomes part of the constructed object. It is not cloned. * If no data is provided, the constructed object will be empty, but still * valid. * @extends {jspb.Message} * @constructor */ proto.jarviscrawlercore.ReplyTmall = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, proto.jarviscrawlercore.ReplyTmall.oneofGroups_); }; goog.inherits(proto.jarviscrawlercore.ReplyTmall, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ proto.jarviscrawlercore.ReplyTmall.displayName = 'proto.jarviscrawlercore.ReplyTmall'; } if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default. * For the list of reserved names please see: * net/proto2/compiler/js/internal/generator.cc#kKeyword. * @param {boolean=} opt_includeInstance Deprecated. whether to include the * JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @return {!Object} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.toObject = function(opt_includeInstance) { return proto.jarviscrawlercore.TmallSKUInfo.toObject(opt_includeInstance, this); }; /** * Static version of the {@see toObject} method. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.jarviscrawlercore.TmallSKUInfo} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ proto.jarviscrawlercore.TmallSKUInfo.toObject = function(includeInstance, msg) { var f, obj = { skuid: jspb.Message.getFieldWithDefault(msg, 1, ""), price: jspb.Message.getFloatingPointFieldWithDefault(msg, 2, 0.0), title: jspb.Message.getFieldWithDefault(msg, 3, ""), img: jspb.Message.getFieldWithDefault(msg, 4, ""), stock: jspb.Message.getFieldWithDefault(msg, 5, 0), originalprice: jspb.Message.getFloatingPointFieldWithDefault(msg, 6, 0.0), wl: jspb.Message.getFieldWithDefault(msg, 7, ""), wlprice: jspb.Message.getFloatingPointFieldWithDefault(msg, 8, 0.0), wlstr: jspb.Message.getFieldWithDefault(msg, 9, ""), itemid: jspb.Message.getFieldWithDefault(msg, 10, "") }; if (includeInstance) { obj.$jspbMessageInstance = msg; } return obj; }; } /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. * @return {!proto.jarviscrawlercore.TmallSKUInfo} */ proto.jarviscrawlercore.TmallSKUInfo.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); var msg = new proto.jarviscrawlercore.TmallSKUInfo; return proto.jarviscrawlercore.TmallSKUInfo.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. * @param {!proto.jarviscrawlercore.TmallSKUInfo} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. * @return {!proto.jarviscrawlercore.TmallSKUInfo} */ proto.jarviscrawlercore.TmallSKUInfo.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); msg.setSkuid(value); break; case 2: var value = /** @type {number} */ (reader.readFloat()); msg.setPrice(value); break; case 3: var value = /** @type {string} */ (reader.readString()); msg.setTitle(value); break; case 4: var value = /** @type {string} */ (reader.readString()); msg.setImg(value); break; case 5: var value = /** @type {number} */ (reader.readInt32()); msg.setStock(value); break; case 6: var value = /** @type {number} */ (reader.readFloat()); msg.setOriginalprice(value); break; case 7: var value = /** @type {string} */ (reader.readString()); msg.setWl(value); break; case 8: var value = /** @type {number} */ (reader.readFloat()); msg.setWlprice(value); break; case 9: var value = /** @type {string} */ (reader.readString()); msg.setWlstr(value); break; case 10: var value = /** @type {string} */ (reader.readString()); msg.setItemid(value); break; default: reader.skipField(); break; } } return msg; }; /** * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); proto.jarviscrawlercore.TmallSKUInfo.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. * @param {!proto.jarviscrawlercore.TmallSKUInfo} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ proto.jarviscrawlercore.TmallSKUInfo.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getSkuid(); if (f.length > 0) { writer.writeString( 1, f ); } f = message.getPrice(); if (f !== 0.0) { writer.writeFloat( 2, f ); } f = message.getTitle(); if (f.length > 0) { writer.writeString( 3, f ); } f = message.getImg(); if (f.length > 0) { writer.writeString( 4, f ); } f = message.getStock(); if (f !== 0) { writer.writeInt32( 5, f ); } f = message.getOriginalprice(); if (f !== 0.0) { writer.writeFloat( 6, f ); } f = message.getWl(); if (f.length > 0) { writer.writeString( 7, f ); } f = message.getWlprice(); if (f !== 0.0) { writer.writeFloat( 8, f ); } f = message.getWlstr(); if (f.length > 0) { writer.writeString( 9, f ); } f = message.getItemid(); if (f.length > 0) { writer.writeString( 10, f ); } }; /** * optional string skuid = 1; * @return {string} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.getSkuid = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallSKUInfo} returns this */ proto.jarviscrawlercore.TmallSKUInfo.prototype.setSkuid = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** * optional float price = 2; * @return {number} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.getPrice = function() { return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 2, 0.0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallSKUInfo} returns this */ proto.jarviscrawlercore.TmallSKUInfo.prototype.setPrice = function(value) { return jspb.Message.setProto3FloatField(this, 2, value); }; /** * optional string title = 3; * @return {string} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.getTitle = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallSKUInfo} returns this */ proto.jarviscrawlercore.TmallSKUInfo.prototype.setTitle = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; /** * optional string img = 4; * @return {string} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.getImg = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallSKUInfo} returns this */ proto.jarviscrawlercore.TmallSKUInfo.prototype.setImg = function(value) { return jspb.Message.setProto3StringField(this, 4, value); }; /** * optional int32 stock = 5; * @return {number} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.getStock = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallSKUInfo} returns this */ proto.jarviscrawlercore.TmallSKUInfo.prototype.setStock = function(value) { return jspb.Message.setProto3IntField(this, 5, value); }; /** * optional float originalPrice = 6; * @return {number} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.getOriginalprice = function() { return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0.0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallSKUInfo} returns this */ proto.jarviscrawlercore.TmallSKUInfo.prototype.setOriginalprice = function(value) { return jspb.Message.setProto3FloatField(this, 6, value); }; /** * optional string wl = 7; * @return {string} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.getWl = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallSKUInfo} returns this */ proto.jarviscrawlercore.TmallSKUInfo.prototype.setWl = function(value) { return jspb.Message.setProto3StringField(this, 7, value); }; /** * optional float wlPrice = 8; * @return {number} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.getWlprice = function() { return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 8, 0.0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallSKUInfo} returns this */ proto.jarviscrawlercore.TmallSKUInfo.prototype.setWlprice = function(value) { return jspb.Message.setProto3FloatField(this, 8, value); }; /** * optional string wlStr = 9; * @return {string} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.getWlstr = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallSKUInfo} returns this */ proto.jarviscrawlercore.TmallSKUInfo.prototype.setWlstr = function(value) { return jspb.Message.setProto3StringField(this, 9, value); }; /** * optional string itemid = 10; * @return {string} */ proto.jarviscrawlercore.TmallSKUInfo.prototype.getItemid = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallSKUInfo} returns this */ proto.jarviscrawlercore.TmallSKUInfo.prototype.setItemid = function(value) { return jspb.Message.setProto3StringField(this, 10, value); }; /** * List of repeated fields within this message type. * @private {!Array<number>} * @const */ proto.jarviscrawlercore.TmallProductHistory.repeatedFields_ = [1]; if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default. * For the list of reserved names please see: * net/proto2/compiler/js/internal/generator.cc#kKeyword. * @param {boolean=} opt_includeInstance Deprecated. whether to include the * JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @return {!Object} */ proto.jarviscrawlercore.TmallProductHistory.prototype.toObject = function(opt_includeInstance) { return proto.jarviscrawlercore.TmallProductHistory.toObject(opt_includeInstance, this); }; /** * Static version of the {@see toObject} method. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.jarviscrawlercore.TmallProductHistory} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ proto.jarviscrawlercore.TmallProductHistory.toObject = function(includeInstance, msg) { var f, obj = { skusList: jspb.Message.toObjectList(msg.getSkusList(), proto.jarviscrawlercore.TmallSKUInfo.toObject, includeInstance), lastupdatedtime: jspb.Message.getFieldWithDefault(msg, 2, 0) }; if (includeInstance) { obj.$jspbMessageInstance = msg; } return obj; }; } /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. * @return {!proto.jarviscrawlercore.TmallProductHistory} */ proto.jarviscrawlercore.TmallProductHistory.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); var msg = new proto.jarviscrawlercore.TmallProductHistory; return proto.jarviscrawlercore.TmallProductHistory.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. * @param {!proto.jarviscrawlercore.TmallProductHistory} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. * @return {!proto.jarviscrawlercore.TmallProductHistory} */ proto.jarviscrawlercore.TmallProductHistory.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { case 1: var value = new proto.jarviscrawlercore.TmallSKUInfo; reader.readMessage(value,proto.jarviscrawlercore.TmallSKUInfo.deserializeBinaryFromReader); msg.addSkus(value); break; case 2: var value = /** @type {number} */ (reader.readInt64()); msg.setLastupdatedtime(value); break; default: reader.skipField(); break; } } return msg; }; /** * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ proto.jarviscrawlercore.TmallProductHistory.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); proto.jarviscrawlercore.TmallProductHistory.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. * @param {!proto.jarviscrawlercore.TmallProductHistory} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ proto.jarviscrawlercore.TmallProductHistory.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getSkusList(); if (f.length > 0) { writer.writeRepeatedMessage( 1, f, proto.jarviscrawlercore.TmallSKUInfo.serializeBinaryToWriter ); } f = message.getLastupdatedtime(); if (f !== 0) { writer.writeInt64( 2, f ); } }; /** * repeated TmallSKUInfo skus = 1; * @return {!Array<!proto.jarviscrawlercore.TmallSKUInfo>} */ proto.jarviscrawlercore.TmallProductHistory.prototype.getSkusList = function() { return /** @type{!Array<!proto.jarviscrawlercore.TmallSKUInfo>} */ ( jspb.Message.getRepeatedWrapperField(this, proto.jarviscrawlercore.TmallSKUInfo, 1)); }; /** * @param {!Array<!proto.jarviscrawlercore.TmallSKUInfo>} value * @return {!proto.jarviscrawlercore.TmallProductHistory} returns this */ proto.jarviscrawlercore.TmallProductHistory.prototype.setSkusList = function(value) { return jspb.Message.setRepeatedWrapperField(this, 1, value); }; /** * @param {!proto.jarviscrawlercore.TmallSKUInfo=} opt_value * @param {number=} opt_index * @return {!proto.jarviscrawlercore.TmallSKUInfo} */ proto.jarviscrawlercore.TmallProductHistory.prototype.addSkus = function(opt_value, opt_index) { return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.jarviscrawlercore.TmallSKUInfo, opt_index); }; /** * Clears the list making it empty but non-null. * @return {!proto.jarviscrawlercore.TmallProductHistory} returns this */ proto.jarviscrawlercore.TmallProductHistory.prototype.clearSkusList = function() { return this.setSkusList([]); }; /** * optional int64 lastUpdatedTime = 2; * @return {number} */ proto.jarviscrawlercore.TmallProductHistory.prototype.getLastupdatedtime = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallProductHistory} returns this */ proto.jarviscrawlercore.TmallProductHistory.prototype.setLastupdatedtime = function(value) { return jspb.Message.setProto3IntField(this, 2, value); }; if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default. * For the list of reserved names please see: * net/proto2/compiler/js/internal/generator.cc#kKeyword. * @param {boolean=} opt_includeInstance Deprecated. whether to include the * JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @return {!Object} */ proto.jarviscrawlercore.TmallReviewTag.prototype.toObject = function(opt_includeInstance) { return proto.jarviscrawlercore.TmallReviewTag.toObject(opt_includeInstance, this); }; /** * Static version of the {@see toObject} method. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.jarviscrawlercore.TmallReviewTag} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ proto.jarviscrawlercore.TmallReviewTag.toObject = function(includeInstance, msg) { var f, obj = { tag: jspb.Message.getFieldWithDefault(msg, 1, ""), times: jspb.Message.getFieldWithDefault(msg, 2, 0), type: jspb.Message.getFieldWithDefault(msg, 3, 0) }; if (includeInstance) { obj.$jspbMessageInstance = msg; } return obj; }; } /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. * @return {!proto.jarviscrawlercore.TmallReviewTag} */ proto.jarviscrawlercore.TmallReviewTag.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); var msg = new proto.jarviscrawlercore.TmallReviewTag; return proto.jarviscrawlercore.TmallReviewTag.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. * @param {!proto.jarviscrawlercore.TmallReviewTag} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. * @return {!proto.jarviscrawlercore.TmallReviewTag} */ proto.jarviscrawlercore.TmallReviewTag.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); msg.setTag(value); break; case 2: var value = /** @type {number} */ (reader.readInt32()); msg.setTimes(value); break; case 3: var value = /** @type {number} */ (reader.readInt32()); msg.setType(value); break; default: reader.skipField(); break; } } return msg; }; /** * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ proto.jarviscrawlercore.TmallReviewTag.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); proto.jarviscrawlercore.TmallReviewTag.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. * @param {!proto.jarviscrawlercore.TmallReviewTag} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ proto.jarviscrawlercore.TmallReviewTag.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getTag(); if (f.length > 0) { writer.writeString( 1, f ); } f = message.getTimes(); if (f !== 0) { writer.writeInt32( 2, f ); } f = message.getType(); if (f !== 0) { writer.writeInt32( 3, f ); } }; /** * optional string tag = 1; * @return {string} */ proto.jarviscrawlercore.TmallReviewTag.prototype.getTag = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallReviewTag} returns this */ proto.jarviscrawlercore.TmallReviewTag.prototype.setTag = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** * optional int32 times = 2; * @return {number} */ proto.jarviscrawlercore.TmallReviewTag.prototype.getTimes = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallReviewTag} returns this */ proto.jarviscrawlercore.TmallReviewTag.prototype.setTimes = function(value) { return jspb.Message.setProto3IntField(this, 2, value); }; /** * optional int32 type = 3; * @return {number} */ proto.jarviscrawlercore.TmallReviewTag.prototype.getType = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallReviewTag} returns this */ proto.jarviscrawlercore.TmallReviewTag.prototype.setType = function(value) { return jspb.Message.setProto3IntField(this, 3, value); }; /** * List of repeated fields within this message type. * @private {!Array<number>} * @const */ proto.jarviscrawlercore.TmallShopInfo.repeatedFields_ = [6,7,15]; if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default. * For the list of reserved names please see: * net/proto2/compiler/js/internal/generator.cc#kKeyword. * @param {boolean=} opt_includeInstance Deprecated. whether to include the * JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @return {!Object} */ proto.jarviscrawlercore.TmallShopInfo.prototype.toObject = function(opt_includeInstance) { return proto.jarviscrawlercore.TmallShopInfo.toObject(opt_includeInstance, this); }; /** * Static version of the {@see toObject} method. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.jarviscrawlercore.TmallShopInfo} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ proto.jarviscrawlercore.TmallShopInfo.toObject = function(includeInstance, msg) { var f, obj = { name: jspb.Message.getFieldWithDefault(msg, 1, ""), gold: jspb.Message.getBooleanFieldWithDefault(msg, 2, false), url: jspb.Message.getFieldWithDefault(msg, 3, ""), rank: jspb.Message.getFieldWithDefault(msg, 4, ""), rating: jspb.Message.getFieldWithDefault(msg, 5, 0), ratelevelList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f, ratescoreList: (f = jspb.Message.getRepeatedFloatingPointField(msg, 7)) == null ? undefined : f, shopid: jspb.Message.getFieldWithDefault(msg, 8, ""), userid: jspb.Message.getFieldWithDefault(msg, 9, ""), creditlevel: jspb.Message.getFieldWithDefault(msg, 10, 0), allitemcount: jspb.Message.getFieldWithDefault(msg, 11, 0), newitemcount: jspb.Message.getFieldWithDefault(msg, 12, 0), strfans: jspb.Message.getFieldWithDefault(msg, 13, ""), goodratepercentage: jspb.Message.getFloatingPointFieldWithDefault(msg, 14, 0.0), rateoffsetList: (f = jspb.Message.getRepeatedFloatingPointField(msg, 15)) == null ? undefined : f }; if (includeInstance) { obj.$jspbMessageInstance = msg; } return obj; }; } /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. * @return {!proto.jarviscrawlercore.TmallShopInfo} */ proto.jarviscrawlercore.TmallShopInfo.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); var msg = new proto.jarviscrawlercore.TmallShopInfo; return proto.jarviscrawlercore.TmallShopInfo.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. * @param {!proto.jarviscrawlercore.TmallShopInfo} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. * @return {!proto.jarviscrawlercore.TmallShopInfo} */ proto.jarviscrawlercore.TmallShopInfo.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { case 1: var value = /** @type {string} */ (reader.readString()); msg.setName(value); break; case 2: var value = /** @type {boolean} */ (reader.readBool()); msg.setGold(value); break; case 3: var value = /** @type {string} */ (reader.readString()); msg.setUrl(value); break; case 4: var value = /** @type {string} */ (reader.readString()); msg.setRank(value); break; case 5: var value = /** @type {number} */ (reader.readInt32()); msg.setRating(value); break; case 6: var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedInt32() : [reader.readInt32()]); for (var i = 0; i < values.length; i++) { msg.addRatelevel(values[i]); } break; case 7: var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedFloat() : [reader.readFloat()]); for (var i = 0; i < values.length; i++) { msg.addRatescore(values[i]); } break; case 8: var value = /** @type {string} */ (reader.readString()); msg.setShopid(value); break; case 9: var value = /** @type {string} */ (reader.readString()); msg.setUserid(value); break; case 10: var value = /** @type {number} */ (reader.readInt32()); msg.setCreditlevel(value); break; case 11: var value = /** @type {number} */ (reader.readInt32()); msg.setAllitemcount(value); break; case 12: var value = /** @type {number} */ (reader.readInt32()); msg.setNewitemcount(value); break; case 13: var value = /** @type {string} */ (reader.readString()); msg.setStrfans(value); break; case 14: var value = /** @type {number} */ (reader.readFloat()); msg.setGoodratepercentage(value); break; case 15: var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedFloat() : [reader.readFloat()]); for (var i = 0; i < values.length; i++) { msg.addRateoffset(values[i]); } break; default: reader.skipField(); break; } } return msg; }; /** * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ proto.jarviscrawlercore.TmallShopInfo.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); proto.jarviscrawlercore.TmallShopInfo.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. * @param {!proto.jarviscrawlercore.TmallShopInfo} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ proto.jarviscrawlercore.TmallShopInfo.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getName(); if (f.length > 0) { writer.writeString( 1, f ); } f = message.getGold(); if (f) { writer.writeBool( 2, f ); } f = message.getUrl(); if (f.length > 0) { writer.writeString( 3, f ); } f = message.getRank(); if (f.length > 0) { writer.writeString( 4, f ); } f = message.getRating(); if (f !== 0) { writer.writeInt32( 5, f ); } f = message.getRatelevelList(); if (f.length > 0) { writer.writePackedInt32( 6, f ); } f = message.getRatescoreList(); if (f.length > 0) { writer.writePackedFloat( 7, f ); } f = message.getShopid(); if (f.length > 0) { writer.writeString( 8, f ); } f = message.getUserid(); if (f.length > 0) { writer.writeString( 9, f ); } f = message.getCreditlevel(); if (f !== 0) { writer.writeInt32( 10, f ); } f = message.getAllitemcount(); if (f !== 0) { writer.writeInt32( 11, f ); } f = message.getNewitemcount(); if (f !== 0) { writer.writeInt32( 12, f ); } f = message.getStrfans(); if (f.length > 0) { writer.writeString( 13, f ); } f = message.getGoodratepercentage(); if (f !== 0.0) { writer.writeFloat( 14, f ); } f = message.getRateoffsetList(); if (f.length > 0) { writer.writePackedFloat( 15, f ); } }; /** * optional string name = 1; * @return {string} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getName = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setName = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; /** * optional bool gold = 2; * @return {boolean} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getGold = function() { return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false)); }; /** * @param {boolean} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setGold = function(value) { return jspb.Message.setProto3BooleanField(this, 2, value); }; /** * optional string url = 3; * @return {string} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getUrl = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setUrl = function(value) { return jspb.Message.setProto3StringField(this, 3, value); }; /** * optional string rank = 4; * @return {string} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getRank = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setRank = function(value) { return jspb.Message.setProto3StringField(this, 4, value); }; /** * optional int32 rating = 5; * @return {number} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getRating = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setRating = function(value) { return jspb.Message.setProto3IntField(this, 5, value); }; /** * repeated int32 rateLevel = 6; * @return {!Array<number>} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getRatelevelList = function() { return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 6)); }; /** * @param {!Array<number>} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setRatelevelList = function(value) { return jspb.Message.setField(this, 6, value || []); }; /** * @param {number} value * @param {number=} opt_index * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.addRatelevel = function(value, opt_index) { return jspb.Message.addToRepeatedField(this, 6, value, opt_index); }; /** * Clears the list making it empty but non-null. * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.clearRatelevelList = function() { return this.setRatelevelList([]); }; /** * repeated float rateScore = 7; * @return {!Array<number>} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getRatescoreList = function() { return /** @type {!Array<number>} */ (jspb.Message.getRepeatedFloatingPointField(this, 7)); }; /** * @param {!Array<number>} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setRatescoreList = function(value) { return jspb.Message.setField(this, 7, value || []); }; /** * @param {number} value * @param {number=} opt_index * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.addRatescore = function(value, opt_index) { return jspb.Message.addToRepeatedField(this, 7, value, opt_index); }; /** * Clears the list making it empty but non-null. * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.clearRatescoreList = function() { return this.setRatescoreList([]); }; /** * optional string shopid = 8; * @return {string} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getShopid = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setShopid = function(value) { return jspb.Message.setProto3StringField(this, 8, value); }; /** * optional string userid = 9; * @return {string} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getUserid = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setUserid = function(value) { return jspb.Message.setProto3StringField(this, 9, value); }; /** * optional int32 creditLevel = 10; * @return {number} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getCreditlevel = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setCreditlevel = function(value) { return jspb.Message.setProto3IntField(this, 10, value); }; /** * optional int32 allItemCount = 11; * @return {number} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getAllitemcount = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setAllitemcount = function(value) { return jspb.Message.setProto3IntField(this, 11, value); }; /** * optional int32 newItemCount = 12; * @return {number} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getNewitemcount = function() { return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setNewitemcount = function(value) { return jspb.Message.setProto3IntField(this, 12, value); }; /** * optional string strFans = 13; * @return {string} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getStrfans = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, "")); }; /** * @param {string} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setStrfans = function(value) { return jspb.Message.setProto3StringField(this, 13, value); }; /** * optional float goodRatePercentage = 14; * @return {number} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getGoodratepercentage = function() { return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 14, 0.0)); }; /** * @param {number} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setGoodratepercentage = function(value) { return jspb.Message.setProto3FloatField(this, 14, value); }; /** * repeated float rateOffset = 15; * @return {!Array<number>} */ proto.jarviscrawlercore.TmallShopInfo.prototype.getRateoffsetList = function() { return /** @type {!Array<number>} */ (jspb.Message.getRepeatedFloatingPointField(this, 15)); }; /** * @param {!Array<number>} value * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.setRateoffsetList = function(value) { return jspb.Message.setField(this, 15, value || []); }; /** * @param {number} value * @param {number=} opt_index * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.addRateoffset = function(value, opt_index) { return jspb.Message.addToRepeatedField(this, 15, value, opt_index); }; /** * Clears the list making it empty but non-null. * @return {!proto.jarviscrawlercore.TmallShopInfo} returns this */ proto.jarviscrawlercore.TmallShopInfo.prototype.clearRateoffsetList = function() { return this.setRateoffsetList([]); }; if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. * Field names that are reserved in JavaScript and will be renamed to pb_name. * Optional fields that are not set will be set to undefined. * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default. * For the list of reserved names please see: * net/proto2/compiler/js/internal/generator.cc#kKeyword. * @param {boolean=} opt_includeInstance Deprecated. whether to include the * JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @return {!Object} */ proto.jarviscrawlercore.TmallProperty.prototype.toObject = function(opt_includeInstance) { return proto.jarviscrawlercore.TmallProperty.toObject(opt_includeInstance, this); }; /** * Static version of the {@see toObject} method. * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration * @param {!proto.jarviscrawlercore.TmallProperty} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ proto.jarviscrawlercore.TmallProperty.toObject = function(includeInstance, msg) { var f, obj = { rootindex: jspb.Message.getFieldWithDefault(msg, 1, 0), rootname: jspb.Message.getFieldWithDefault(msg, 2, ""), key: jspb.Message.getFieldWithDefault(msg, 3, ""), value: jspb.Message.getFieldWithDefault(msg, 4, "") }; if (includeInstance) { obj.$jspbMessageInstance = msg; } return obj; }; } /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. * @return {!proto.jarviscrawlercore.TmallProperty} */ proto.jarviscrawlercore.TmallProperty.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); var msg = new proto.jarviscrawlercore.TmallProperty; return proto.jarviscrawlercore.TmallProperty.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. * @param {!proto.jarviscrawlercore.TmallProperty} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. * @return {!proto.jarviscrawlercore.TmallProperty} */ proto.jarviscrawlercore.TmallProperty.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; } var field = reader.getFieldNumber(); switch (field) { case 1: var value = /** @type {number} */ (reader.readInt32()); msg.setRootindex(value); break; case 2: var value = /** @type {string} */ (reader.readString()); msg.setRootname(value); break; case 3: var value = /** @type {string} */ (reader.readString()); msg.setKey(value);