diff --git a/cli/targets/static.js b/cli/targets/static.js index c1289fde3..8cf2bf742 100644 --- a/cli/targets/static.js +++ b/cli/targets/static.js @@ -284,13 +284,32 @@ function toJsType(field) { function buildType(ref, type) { var fullName = type.fullName.substring(1); + if (config.comments) { + var typeDef = [ + "Properties of " + aOrAn(type.name) + ".", + "@typedef " + fullName + "$Properties", + "@type Object" + ]; + type.fieldsArray.forEach(function(field) { + var jsType = toJsType(field); + if (field.map) + jsType = "Object."; + else if (field.repeated) + jsType = "Array.<" + jsType + ">"; + typeDef.push("@property {" + jsType + "} " + (field.optional ? "[" + field.name + "]" : field.name) + " " + (field.comment || type.name + " " + field.name + ".")); + }); + push(""); + pushComment(typeDef); + } + push(""); pushComment([ "Constructs a new " + type.name + ".", type.comment ? "@classdesc " + type.comment : null, "@exports " + fullName, + "@implements " + fullName + "$Properties", "@constructor", - "@param {Object.=} [" + (config.beautify ? "properties" : "p") + "] Properties to set" + "@param {" + fullName + "$Properties=} [" + (config.beautify ? "properties" : "p") + "] Properties to set" ]); buildFunction(type, type.name, Class.generate(type)); @@ -298,20 +317,8 @@ function buildType(ref, type) { var firstField = true; type.fieldsArray.forEach(function(field) { field.resolve(); - var jsType = toJsType(field); - if (field.map) - jsType = "Object."; // keys are always strings - else if (field.repeated) - jsType = "Array.<" + jsType + ">"; var prop = util.safeProp(field.name); - if (config.comments) { - push(""); - pushComment([ - field.comment || type.name + " " + field.name + ".", - prop.charAt(0) !== "." ? "@name " + fullName + "#" + field.name : null, - "@type {" + jsType + (field.optional ? "|undefined": "") + "}" - ]); - } else if (firstField) { + if (firstField) { push(""); firstField = false; } @@ -360,7 +367,7 @@ function buildType(ref, type) { push(""); pushComment([ "Creates a new " + type.name + " instance using the specified properties.", - "@param {Object.=} [properties] Properties to set", + "@param {" + fullName + "$Properties=} [properties] Properties to set", "@returns {" + fullName + "} " + type.name + " instance" ]); push(name(type.name) + ".create = function create(properties) {"); @@ -374,7 +381,7 @@ function buildType(ref, type) { push(""); pushComment([ "Encodes the specified " + type.name + " message. Does not implicitly {@link " + fullName + ".verify|verify} messages.", - "@param {" + fullName + "|Object.} " + (config.beautify ? "message" : "m") + " " + type.name + " message or plain object to encode", + "@param {" + fullName + "$Properties} " + (config.beautify ? "message" : "m") + " " + type.name + " message or plain object to encode", "@param {$protobuf.Writer} [" + (config.beautify ? "writer" : "w") + "] Writer to encode to", "@returns {$protobuf.Writer} Writer" ]); @@ -436,7 +443,7 @@ function buildType(ref, type) { push(""); pushComment([ "Verifies " + aOrAn(type.name) + " message.", - "@param {Object.} " + (config.beautify ? "message" : "m") + " " + type.name + " object to verify", + "@param {Object.} " + (config.beautify ? "message" : "m") + " Plain object to verify", "@returns {?string} `null` if valid, otherwise the reason why it is not" ]); buildFunction(type, "verify", protobuf.verifier(type)); diff --git a/index.d.ts b/index.d.ts index 4dacf99ac..bfd65140c 100644 --- a/index.d.ts +++ b/index.d.ts @@ -33,7 +33,7 @@ export class Class { * @param {Type} type Reflected message type * @param {*} [ctor] Custom constructor to set up, defaults to create a generic one if omitted * @returns {Message} Message prototype - * @deprecated Assign the constructor to {@link Type#ctor} instead + * @deprecated since 6.7.0 it's possible to just assign a new constructor to {@link Type#ctor} */ public static create(type: Type, ctor?: any): Message; @@ -2332,6 +2332,7 @@ export namespace util { * @param {Root} root Root instanceof * @param {Object.} lazyTypes Type names * @returns {undefined} + * @deprecated since 6.7.0 static code does not emit lazy types anymore */ function lazyResolve(root: Root, lazyTypes: { [k: number]: (string|ReflectionObject) }): void; diff --git a/tests/data/comments.js b/tests/data/comments.js index 66190132a..1f813b187 100644 --- a/tests/data/comments.js +++ b/tests/data/comments.js @@ -11,6 +11,15 @@ var $root = $protobuf.roots.test_comments || ($protobuf.roots.test_comments = {} $root.Test1 = (function() { + /** + * Properties of a Test1. + * @typedef Test1$Properties + * @type Object + * @property {string} [field1] Field with a comment. + * @property {number} [field2] Test1 field2. + * @property {boolean} [field3] Field with a comment and a link + */ + /** * Constructs a new Test1. * @classdesc Message @@ -18,8 +27,9 @@ $root.Test1 = (function() { * a * comment. * @exports Test1 + * @implements Test1$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {Test1$Properties=} [properties] Properties to set */ function Test1(properties) { if (properties) @@ -27,27 +37,13 @@ $root.Test1 = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Field with a comment. - * @type {string|undefined} - */ Test1.prototype.field1 = ""; - - /** - * Test1 field2. - * @type {number|undefined} - */ Test1.prototype.field2 = 0; - - /** - * Field with a comment and a link - * @type {boolean|undefined} - */ Test1.prototype.field3 = false; /** * Creates a new Test1 instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {Test1$Properties=} [properties] Properties to set * @returns {Test1} Test1 instance */ Test1.create = function create(properties) { @@ -56,7 +52,7 @@ $root.Test1 = (function() { /** * Encodes the specified Test1 message. Does not implicitly {@link Test1.verify|verify} messages. - * @param {Test1|Object.} message Test1 message or plain object to encode + * @param {Test1$Properties} message Test1 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -129,7 +125,7 @@ $root.Test1 = (function() { /** * Verifies a Test1 message. - * @param {Object.} message Test1 object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Test1.verify = function verify(message) { @@ -220,11 +216,18 @@ $root.Test1 = (function() { $root.Test2 = (function() { + /** + * Properties of a Test2. + * @typedef Test2$Properties + * @type Object + */ + /** * Constructs a new Test2. * @exports Test2 + * @implements Test2$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {Test2$Properties=} [properties] Properties to set */ function Test2(properties) { if (properties) @@ -234,7 +237,7 @@ $root.Test2 = (function() { /** * Creates a new Test2 instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {Test2$Properties=} [properties] Properties to set * @returns {Test2} Test2 instance */ Test2.create = function create(properties) { @@ -243,7 +246,7 @@ $root.Test2 = (function() { /** * Encodes the specified Test2 message. Does not implicitly {@link Test2.verify|verify} messages. - * @param {Test2|Object.} message Test2 message or plain object to encode + * @param {Test2$Properties} message Test2 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -301,7 +304,7 @@ $root.Test2 = (function() { /** * Verifies a Test2 message. - * @param {Object.} message Test2 object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Test2.verify = function verify(message) { diff --git a/tests/data/convert.js b/tests/data/convert.js index 3fd3f5149..c69a7f7f4 100644 --- a/tests/data/convert.js +++ b/tests/data/convert.js @@ -11,11 +11,27 @@ var $root = $protobuf.roots.test_convert || ($protobuf.roots.test_convert = {}); $root.Message = (function() { + /** + * Properties of a Message. + * @typedef Message$Properties + * @type Object + * @property {string} [stringVal] Message stringVal. + * @property {Array.} [stringRepeated] Message stringRepeated. + * @property {number|$protobuf.Long} [uint64Val] Message uint64Val. + * @property {Array.} [uint64Repeated] Message uint64Repeated. + * @property {Uint8Array} [bytesVal] Message bytesVal. + * @property {Array.} [bytesRepeated] Message bytesRepeated. + * @property {number} [enumVal] Message enumVal. + * @property {Array.} [enumRepeated] Message enumRepeated. + * @property {Object.} [int64Map] Message int64Map. + */ + /** * Constructs a new Message. * @exports Message + * @implements Message$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {Message$Properties=} [properties] Properties to set */ function Message(properties) { this.stringRepeated = []; @@ -28,63 +44,19 @@ $root.Message = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Message stringVal. - * @type {string|undefined} - */ Message.prototype.stringVal = ""; - - /** - * Message stringRepeated. - * @type {Array.|undefined} - */ Message.prototype.stringRepeated = $util.emptyArray; - - /** - * Message uint64Val. - * @type {number|$protobuf.Long|undefined} - */ Message.prototype.uint64Val = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Message uint64Repeated. - * @type {Array.|undefined} - */ Message.prototype.uint64Repeated = $util.emptyArray; - - /** - * Message bytesVal. - * @type {Uint8Array|undefined} - */ Message.prototype.bytesVal = $util.newBuffer([]); - - /** - * Message bytesRepeated. - * @type {Array.|undefined} - */ Message.prototype.bytesRepeated = $util.emptyArray; - - /** - * Message enumVal. - * @type {number|undefined} - */ Message.prototype.enumVal = 1; - - /** - * Message enumRepeated. - * @type {Array.|undefined} - */ Message.prototype.enumRepeated = $util.emptyArray; - - /** - * Message int64Map. - * @type {Object.|undefined} - */ Message.prototype.int64Map = $util.emptyObject; /** * Creates a new Message instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {Message$Properties=} [properties] Properties to set * @returns {Message} Message instance */ Message.create = function create(properties) { @@ -93,7 +65,7 @@ $root.Message = (function() { /** * Encodes the specified Message message. Does not implicitly {@link Message.verify|verify} messages. - * @param {Message|Object.} message Message message or plain object to encode + * @param {Message$Properties} message Message message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -230,7 +202,7 @@ $root.Message = (function() { /** * Verifies a Message message. - * @param {Object.} message Message object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Message.verify = function verify(message) { diff --git a/tests/data/mapbox/vector_tile.js b/tests/data/mapbox/vector_tile.js index f6c2c0f81..07a919bbd 100644 --- a/tests/data/mapbox/vector_tile.js +++ b/tests/data/mapbox/vector_tile.js @@ -20,11 +20,19 @@ $root.vector_tile = (function() { vector_tile.Tile = (function() { + /** + * Properties of a Tile. + * @typedef vector_tile.Tile$Properties + * @type Object + * @property {Array.} [layers] Tile layers. + */ + /** * Constructs a new Tile. * @exports vector_tile.Tile + * @implements vector_tile.Tile$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {vector_tile.Tile$Properties=} [properties] Properties to set */ function Tile(properties) { this.layers = []; @@ -33,15 +41,11 @@ $root.vector_tile = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Tile layers. - * @type {Array.|undefined} - */ Tile.prototype.layers = $util.emptyArray; /** * Creates a new Tile instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {vector_tile.Tile$Properties=} [properties] Properties to set * @returns {vector_tile.Tile} Tile instance */ Tile.create = function create(properties) { @@ -50,7 +54,7 @@ $root.vector_tile = (function() { /** * Encodes the specified Tile message. Does not implicitly {@link vector_tile.Tile.verify|verify} messages. - * @param {vector_tile.Tile|Object.} message Tile message or plain object to encode + * @param {vector_tile.Tile$Properties} message Tile message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -116,7 +120,7 @@ $root.vector_tile = (function() { /** * Verifies a Tile message. - * @param {Object.} message Tile object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Tile.verify = function verify(message) { @@ -223,11 +227,25 @@ $root.vector_tile = (function() { Tile.Value = (function() { + /** + * Properties of a Value. + * @typedef vector_tile.Tile.Value$Properties + * @type Object + * @property {string} [stringValue] Value stringValue. + * @property {number} [floatValue] Value floatValue. + * @property {number} [doubleValue] Value doubleValue. + * @property {number|$protobuf.Long} [intValue] Value intValue. + * @property {number|$protobuf.Long} [uintValue] Value uintValue. + * @property {number|$protobuf.Long} [sintValue] Value sintValue. + * @property {boolean} [boolValue] Value boolValue. + */ + /** * Constructs a new Value. * @exports vector_tile.Tile.Value + * @implements vector_tile.Tile.Value$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {vector_tile.Tile.Value$Properties=} [properties] Properties to set */ function Value(properties) { if (properties) @@ -235,51 +253,17 @@ $root.vector_tile = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Value stringValue. - * @type {string|undefined} - */ Value.prototype.stringValue = ""; - - /** - * Value floatValue. - * @type {number|undefined} - */ Value.prototype.floatValue = 0; - - /** - * Value doubleValue. - * @type {number|undefined} - */ Value.prototype.doubleValue = 0; - - /** - * Value intValue. - * @type {number|$protobuf.Long|undefined} - */ Value.prototype.intValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Value uintValue. - * @type {number|$protobuf.Long|undefined} - */ Value.prototype.uintValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Value sintValue. - * @type {number|$protobuf.Long|undefined} - */ Value.prototype.sintValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * Value boolValue. - * @type {boolean|undefined} - */ Value.prototype.boolValue = false; /** * Creates a new Value instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {vector_tile.Tile.Value$Properties=} [properties] Properties to set * @returns {vector_tile.Tile.Value} Value instance */ Value.create = function create(properties) { @@ -288,7 +272,7 @@ $root.vector_tile = (function() { /** * Encodes the specified Value message. Does not implicitly {@link vector_tile.Tile.Value.verify|verify} messages. - * @param {vector_tile.Tile.Value|Object.} message Value message or plain object to encode + * @param {vector_tile.Tile.Value$Properties} message Value message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -381,7 +365,7 @@ $root.vector_tile = (function() { /** * Verifies a Value message. - * @param {Object.} message Value object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Value.verify = function verify(message) { @@ -546,11 +530,22 @@ $root.vector_tile = (function() { Tile.Feature = (function() { + /** + * Properties of a Feature. + * @typedef vector_tile.Tile.Feature$Properties + * @type Object + * @property {number|$protobuf.Long} [id] Feature id. + * @property {Array.} [tags] Feature tags. + * @property {*} [type] Feature type. + * @property {Array.} [geometry] Feature geometry. + */ + /** * Constructs a new Feature. * @exports vector_tile.Tile.Feature + * @implements vector_tile.Tile.Feature$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {vector_tile.Tile.Feature$Properties=} [properties] Properties to set */ function Feature(properties) { this.tags = []; @@ -560,33 +555,14 @@ $root.vector_tile = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Feature id. - * @type {number|$protobuf.Long|undefined} - */ Feature.prototype.id = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * Feature tags. - * @type {Array.|undefined} - */ Feature.prototype.tags = $util.emptyArray; - - /** - * Feature type. - * @type {number|undefined} - */ Feature.prototype.type = 0; - - /** - * Feature geometry. - * @type {Array.|undefined} - */ Feature.prototype.geometry = $util.emptyArray; /** * Creates a new Feature instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {vector_tile.Tile.Feature$Properties=} [properties] Properties to set * @returns {vector_tile.Tile.Feature} Feature instance */ Feature.create = function create(properties) { @@ -595,7 +571,7 @@ $root.vector_tile = (function() { /** * Encodes the specified Feature message. Does not implicitly {@link vector_tile.Tile.Feature.verify|verify} messages. - * @param {vector_tile.Tile.Feature|Object.} message Feature message or plain object to encode + * @param {vector_tile.Tile.Feature$Properties} message Feature message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -695,7 +671,7 @@ $root.vector_tile = (function() { /** * Verifies a Feature message. - * @param {Object.} message Feature object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Feature.verify = function verify(message) { @@ -857,11 +833,24 @@ $root.vector_tile = (function() { Tile.Layer = (function() { + /** + * Properties of a Layer. + * @typedef vector_tile.Tile.Layer$Properties + * @type Object + * @property {number} version Layer version. + * @property {string} name Layer name. + * @property {Array.<*>} [features] Layer features. + * @property {Array.} [keys] Layer keys. + * @property {Array.<*>} [values] Layer values. + * @property {number} [extent] Layer extent. + */ + /** * Constructs a new Layer. * @exports vector_tile.Tile.Layer + * @implements vector_tile.Tile.Layer$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {vector_tile.Tile.Layer$Properties=} [properties] Properties to set */ function Layer(properties) { this.features = []; @@ -872,45 +861,16 @@ $root.vector_tile = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Layer version. - * @type {number} - */ Layer.prototype.version = 1; - - /** - * Layer name. - * @type {string} - */ Layer.prototype.name = ""; - - /** - * Layer features. - * @type {Array.|undefined} - */ Layer.prototype.features = $util.emptyArray; - - /** - * Layer keys. - * @type {Array.|undefined} - */ Layer.prototype.keys = $util.emptyArray; - - /** - * Layer values. - * @type {Array.|undefined} - */ Layer.prototype.values = $util.emptyArray; - - /** - * Layer extent. - * @type {number|undefined} - */ Layer.prototype.extent = 4096; /** * Creates a new Layer instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {vector_tile.Tile.Layer$Properties=} [properties] Properties to set * @returns {vector_tile.Tile.Layer} Layer instance */ Layer.create = function create(properties) { @@ -919,7 +879,7 @@ $root.vector_tile = (function() { /** * Encodes the specified Layer message. Does not implicitly {@link vector_tile.Tile.Layer.verify|verify} messages. - * @param {vector_tile.Tile.Layer|Object.} message Layer message or plain object to encode + * @param {vector_tile.Tile.Layer$Properties} message Layer message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -1018,7 +978,7 @@ $root.vector_tile = (function() { /** * Verifies a Layer message. - * @param {Object.} message Layer object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Layer.verify = function verify(message) { diff --git a/tests/data/package.js b/tests/data/package.js index bfcbd5ada..1146a87c2 100644 --- a/tests/data/package.js +++ b/tests/data/package.js @@ -11,11 +11,36 @@ var $root = $protobuf.roots.test_package || ($protobuf.roots.test_package = {}); $root.Package = (function() { + /** + * Properties of a Package. + * @typedef Package$Properties + * @type Object + * @property {string} [name] Package name. + * @property {string} [version] Package version. + * @property {string} [versionScheme] Package versionScheme. + * @property {string} [description] Package description. + * @property {string} [author] Package author. + * @property {string} [license] Package license. + * @property {Package.Repository} [repository] Package repository. + * @property {string} [bugs] Package bugs. + * @property {string} [homepage] Package homepage. + * @property {Array.} [keywords] Package keywords. + * @property {string} [main] Package main. + * @property {Object.} [bin] Package bin. + * @property {Object.} [scripts] Package scripts. + * @property {Object.} [dependencies] Package dependencies. + * @property {Object.} [optionalDependencies] Package optionalDependencies. + * @property {Object.} [devDependencies] Package devDependencies. + * @property {string} [types] Package types. + * @property {Array.} [cliDependencies] Package cliDependencies. + */ + /** * Constructs a new Package. * @exports Package + * @implements Package$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {Package$Properties=} [properties] Properties to set */ function Package(properties) { this.keywords = []; @@ -30,117 +55,28 @@ $root.Package = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Package name. - * @type {string|undefined} - */ Package.prototype.name = ""; - - /** - * Package version. - * @type {string|undefined} - */ Package.prototype.version = ""; - - /** - * Package versionScheme. - * @type {string|undefined} - */ Package.prototype.versionScheme = ""; - - /** - * Package description. - * @type {string|undefined} - */ Package.prototype.description = ""; - - /** - * Package author. - * @type {string|undefined} - */ Package.prototype.author = ""; - - /** - * Package license. - * @type {string|undefined} - */ Package.prototype.license = ""; - - /** - * Package repository. - * @type {Package.Repository|undefined} - */ Package.prototype.repository = null; - - /** - * Package bugs. - * @type {string|undefined} - */ Package.prototype.bugs = ""; - - /** - * Package homepage. - * @type {string|undefined} - */ Package.prototype.homepage = ""; - - /** - * Package keywords. - * @type {Array.|undefined} - */ Package.prototype.keywords = $util.emptyArray; - - /** - * Package main. - * @type {string|undefined} - */ Package.prototype.main = ""; - - /** - * Package bin. - * @type {Object.|undefined} - */ Package.prototype.bin = $util.emptyObject; - - /** - * Package scripts. - * @type {Object.|undefined} - */ Package.prototype.scripts = $util.emptyObject; - - /** - * Package dependencies. - * @type {Object.|undefined} - */ Package.prototype.dependencies = $util.emptyObject; - - /** - * Package optionalDependencies. - * @type {Object.|undefined} - */ Package.prototype.optionalDependencies = $util.emptyObject; - - /** - * Package devDependencies. - * @type {Object.|undefined} - */ Package.prototype.devDependencies = $util.emptyObject; - - /** - * Package types. - * @type {string|undefined} - */ Package.prototype.types = ""; - - /** - * Package cliDependencies. - * @type {Array.|undefined} - */ Package.prototype.cliDependencies = $util.emptyArray; /** * Creates a new Package instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {Package$Properties=} [properties] Properties to set * @returns {Package} Package instance */ Package.create = function create(properties) { @@ -149,7 +85,7 @@ $root.Package = (function() { /** * Encodes the specified Package message. Does not implicitly {@link Package.verify|verify} messages. - * @param {Package|Object.} message Package message or plain object to encode + * @param {Package$Properties} message Package message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -333,7 +269,7 @@ $root.Package = (function() { /** * Verifies a Package message. - * @param {Object.} message Package object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Package.verify = function verify(message) { @@ -640,11 +576,20 @@ $root.Package = (function() { Package.Repository = (function() { + /** + * Properties of a Repository. + * @typedef Package.Repository$Properties + * @type Object + * @property {string} [type] Repository type. + * @property {string} [url] Repository url. + */ + /** * Constructs a new Repository. * @exports Package.Repository + * @implements Package.Repository$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {Package.Repository$Properties=} [properties] Properties to set */ function Repository(properties) { if (properties) @@ -652,21 +597,12 @@ $root.Package = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Repository type. - * @type {string|undefined} - */ Repository.prototype.type = ""; - - /** - * Repository url. - * @type {string|undefined} - */ Repository.prototype.url = ""; /** * Creates a new Repository instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {Package.Repository$Properties=} [properties] Properties to set * @returns {Package.Repository} Repository instance */ Repository.create = function create(properties) { @@ -675,7 +611,7 @@ $root.Package = (function() { /** * Encodes the specified Repository message. Does not implicitly {@link Package.Repository.verify|verify} messages. - * @param {Package.Repository|Object.} message Repository message or plain object to encode + * @param {Package.Repository$Properties} message Repository message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -743,7 +679,7 @@ $root.Package = (function() { /** * Verifies a Repository message. - * @param {Object.} message Repository object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Repository.verify = function verify(message) { diff --git a/tests/data/rpc.d.ts b/tests/data/rpc.d.ts index 35d914ea0..4c093454b 100644 --- a/tests/data/rpc.d.ts +++ b/tests/data/rpc.d.ts @@ -9,11 +9,14 @@ export class MyService extends $protobuf.rpc.Service { type MyService_myMethod_Callback = (error: Error, response?: MyResponse) => void; -export class MyRequest { - constructor(properties?: { [k: string]: any }); - public path?: string; - public static create(properties?: { [k: string]: any }): MyRequest; - public static encode(message: (MyRequest|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; +interface MyRequest$Properties { + path?: string; +} + +export class MyRequest implements MyRequest$Properties { + constructor(properties?: MyRequest$Properties); + public static create(properties?: MyRequest$Properties): MyRequest; + public static encode(message: MyRequest$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (MyRequest|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): MyRequest; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): MyRequest; @@ -25,11 +28,14 @@ export class MyRequest { public toJSON(): { [k: string]: any }; } -export class MyResponse { - constructor(properties?: { [k: string]: any }); - public status?: number; - public static create(properties?: { [k: string]: any }): MyResponse; - public static encode(message: (MyResponse|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; +interface MyResponse$Properties { + status?: number; +} + +export class MyResponse implements MyResponse$Properties { + constructor(properties?: MyResponse$Properties); + public static create(properties?: MyResponse$Properties): MyResponse; + public static encode(message: MyResponse$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (MyResponse|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): MyResponse; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): MyResponse; diff --git a/tests/data/rpc.js b/tests/data/rpc.js index 9cb426e17..6f1ede887 100644 --- a/tests/data/rpc.js +++ b/tests/data/rpc.js @@ -69,11 +69,19 @@ $root.MyService = (function() { $root.MyRequest = (function() { + /** + * Properties of a MyRequest. + * @typedef MyRequest$Properties + * @type Object + * @property {string} [path] MyRequest path. + */ + /** * Constructs a new MyRequest. * @exports MyRequest + * @implements MyRequest$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {MyRequest$Properties=} [properties] Properties to set */ function MyRequest(properties) { if (properties) @@ -81,15 +89,11 @@ $root.MyRequest = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * MyRequest path. - * @type {string|undefined} - */ MyRequest.prototype.path = ""; /** * Creates a new MyRequest instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {MyRequest$Properties=} [properties] Properties to set * @returns {MyRequest} MyRequest instance */ MyRequest.create = function create(properties) { @@ -98,7 +102,7 @@ $root.MyRequest = (function() { /** * Encodes the specified MyRequest message. Does not implicitly {@link MyRequest.verify|verify} messages. - * @param {MyRequest|Object.} message MyRequest message or plain object to encode + * @param {MyRequest$Properties} message MyRequest message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -161,7 +165,7 @@ $root.MyRequest = (function() { /** * Verifies a MyRequest message. - * @param {Object.} message MyRequest object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ MyRequest.verify = function verify(message) { @@ -235,11 +239,19 @@ $root.MyRequest = (function() { $root.MyResponse = (function() { + /** + * Properties of a MyResponse. + * @typedef MyResponse$Properties + * @type Object + * @property {number} [status] MyResponse status. + */ + /** * Constructs a new MyResponse. * @exports MyResponse + * @implements MyResponse$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {MyResponse$Properties=} [properties] Properties to set */ function MyResponse(properties) { if (properties) @@ -247,15 +259,11 @@ $root.MyResponse = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * MyResponse status. - * @type {number|undefined} - */ MyResponse.prototype.status = 0; /** * Creates a new MyResponse instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {MyResponse$Properties=} [properties] Properties to set * @returns {MyResponse} MyResponse instance */ MyResponse.create = function create(properties) { @@ -264,7 +272,7 @@ $root.MyResponse = (function() { /** * Encodes the specified MyResponse message. Does not implicitly {@link MyResponse.verify|verify} messages. - * @param {MyResponse|Object.} message MyResponse message or plain object to encode + * @param {MyResponse$Properties} message MyResponse message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -327,7 +335,7 @@ $root.MyResponse = (function() { /** * Verifies a MyResponse message. - * @param {Object.} message MyResponse object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ MyResponse.verify = function verify(message) { diff --git a/tests/data/test.d.ts b/tests/data/test.d.ts index 06ccfb9e3..afbfcd87e 100644 --- a/tests/data/test.d.ts +++ b/tests/data/test.d.ts @@ -4,10 +4,12 @@ export namespace jspb { namespace test { - class Empty { - constructor(properties?: { [k: string]: any }); - public static create(properties?: { [k: string]: any }): jspb.test.Empty; - public static encode(message: (jspb.test.Empty|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + type Empty$Properties = Object; + + class Empty implements jspb.test.Empty$Properties { + constructor(properties?: jspb.test.Empty$Properties); + public static create(properties?: jspb.test.Empty$Properties): jspb.test.Empty; + public static encode(message: jspb.test.Empty$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.Empty|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.Empty; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.Empty; @@ -24,11 +26,14 @@ export namespace jspb { BAR = 2 } - class EnumContainer { - constructor(properties?: { [k: string]: any }); - public outerEnum?: number; - public static create(properties?: { [k: string]: any }): jspb.test.EnumContainer; - public static encode(message: (jspb.test.EnumContainer|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface EnumContainer$Properties { + outerEnum?: number; + } + + class EnumContainer implements jspb.test.EnumContainer$Properties { + constructor(properties?: jspb.test.EnumContainer$Properties); + public static create(properties?: jspb.test.EnumContainer$Properties): jspb.test.EnumContainer; + public static encode(message: jspb.test.EnumContainer$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.EnumContainer|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.EnumContainer; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.EnumContainer; @@ -40,13 +45,16 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class Simple1 { - constructor(properties?: { [k: string]: any }); - public aString: string; - public aRepeatedString?: string[]; - public aBoolean?: boolean; - public static create(properties?: { [k: string]: any }): jspb.test.Simple1; - public static encode(message: (jspb.test.Simple1|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface Simple1$Properties { + aString: string; + aRepeatedString?: string[]; + aBoolean?: boolean; + } + + class Simple1 implements jspb.test.Simple1$Properties { + constructor(properties?: jspb.test.Simple1$Properties); + public static create(properties?: jspb.test.Simple1$Properties): jspb.test.Simple1; + public static encode(message: jspb.test.Simple1$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.Simple1|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.Simple1; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.Simple1; @@ -58,12 +66,15 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class Simple2 { - constructor(properties?: { [k: string]: any }); - public aString: string; - public aRepeatedString?: string[]; - public static create(properties?: { [k: string]: any }): jspb.test.Simple2; - public static encode(message: (jspb.test.Simple2|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface Simple2$Properties { + aString: string; + aRepeatedString?: string[]; + } + + class Simple2 implements jspb.test.Simple2$Properties { + constructor(properties?: jspb.test.Simple2$Properties); + public static create(properties?: jspb.test.Simple2$Properties): jspb.test.Simple2; + public static encode(message: jspb.test.Simple2$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.Simple2|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.Simple2; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.Simple2; @@ -75,14 +86,17 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class SpecialCases { - constructor(properties?: { [k: string]: any }); - public normal: string; - public default: string; - public function: string; - public var: string; - public static create(properties?: { [k: string]: any }): jspb.test.SpecialCases; - public static encode(message: (jspb.test.SpecialCases|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface SpecialCases$Properties { + normal: string; + default: string; + function: string; + var: string; + } + + class SpecialCases implements jspb.test.SpecialCases$Properties { + constructor(properties?: jspb.test.SpecialCases$Properties); + public static create(properties?: jspb.test.SpecialCases$Properties): jspb.test.SpecialCases; + public static encode(message: jspb.test.SpecialCases$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.SpecialCases|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.SpecialCases; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.SpecialCases; @@ -94,15 +108,18 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class OptionalFields { - constructor(properties?: { [k: string]: any }); - public aString?: string; - public aBool: boolean; - public aNestedMessage?: jspb.test.OptionalFields.Nested; - public aRepeatedMessage?: jspb.test.OptionalFields.Nested[]; - public aRepeatedString?: string[]; - public static create(properties?: { [k: string]: any }): jspb.test.OptionalFields; - public static encode(message: (jspb.test.OptionalFields|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface OptionalFields$Properties { + aString?: string; + aBool: boolean; + aNestedMessage?: jspb.test.OptionalFields.Nested; + aRepeatedMessage?: jspb.test.OptionalFields.Nested[]; + aRepeatedString?: string[]; + } + + class OptionalFields implements jspb.test.OptionalFields$Properties { + constructor(properties?: jspb.test.OptionalFields$Properties); + public static create(properties?: jspb.test.OptionalFields$Properties): jspb.test.OptionalFields; + public static encode(message: jspb.test.OptionalFields$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.OptionalFields|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.OptionalFields; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.OptionalFields; @@ -116,11 +133,10 @@ export namespace jspb { namespace OptionalFields { - class Nested { - constructor(properties?: { [k: string]: any }); - public anInt?: number; - public static create(properties?: { [k: string]: any }): jspb.test.OptionalFields.Nested; - public static encode(message: (jspb.test.OptionalFields.Nested|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class Nested implements jspb.test.OptionalFields.Nested$Properties { + constructor(properties?: jspb.test.OptionalFields.Nested$Properties); + public static create(properties?: jspb.test.OptionalFields.Nested$Properties): jspb.test.OptionalFields.Nested; + public static encode(message: jspb.test.OptionalFields.Nested$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.OptionalFields.Nested|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.OptionalFields.Nested; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.OptionalFields.Nested; @@ -133,13 +149,22 @@ export namespace jspb { } } - class HasExtensions { - constructor(properties?: { [k: string]: any }); - public str1?: string; - public str2?: string; - public str3?: string; - public static create(properties?: { [k: string]: any }): jspb.test.HasExtensions; - public static encode(message: (jspb.test.HasExtensions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface HasExtensions$Properties { + str1?: string; + str2?: string; + str3?: string; + .jspb.test.IsExtension.extField?: jspb.test.IsExtension; + .jspb.test.IndirectExtension.simple?: jspb.test.Simple1; + .jspb.test.IndirectExtension.str?: string; + .jspb.test.IndirectExtension.repeatedStr?: string[]; + .jspb.test.IndirectExtension.repeatedSimple?: jspb.test.Simple1[]; + .jspb.test.simple1?: jspb.test.Simple1; + } + + class HasExtensions implements jspb.test.HasExtensions$Properties { + constructor(properties?: jspb.test.HasExtensions$Properties); + public static create(properties?: jspb.test.HasExtensions$Properties): jspb.test.HasExtensions; + public static encode(message: jspb.test.HasExtensions$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.HasExtensions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.HasExtensions; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.HasExtensions; @@ -151,15 +176,18 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class Complex { - constructor(properties?: { [k: string]: any }); - public aString: string; - public anOutOfOrderBool: boolean; - public aNestedMessage?: jspb.test.Complex.Nested; - public aRepeatedMessage?: jspb.test.Complex.Nested[]; - public aRepeatedString?: string[]; - public static create(properties?: { [k: string]: any }): jspb.test.Complex; - public static encode(message: (jspb.test.Complex|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface Complex$Properties { + aString: string; + anOutOfOrderBool: boolean; + aNestedMessage?: jspb.test.Complex.Nested; + aRepeatedMessage?: jspb.test.Complex.Nested[]; + aRepeatedString?: string[]; + } + + class Complex implements jspb.test.Complex$Properties { + constructor(properties?: jspb.test.Complex$Properties); + public static create(properties?: jspb.test.Complex$Properties): jspb.test.Complex; + public static encode(message: jspb.test.Complex$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.Complex|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.Complex; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.Complex; @@ -173,11 +201,10 @@ export namespace jspb { namespace Complex { - class Nested { - constructor(properties?: { [k: string]: any }); - public anInt: number; - public static create(properties?: { [k: string]: any }): jspb.test.Complex.Nested; - public static encode(message: (jspb.test.Complex.Nested|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class Nested implements jspb.test.Complex.Nested$Properties { + constructor(properties?: jspb.test.Complex.Nested$Properties); + public static create(properties?: jspb.test.Complex.Nested$Properties): jspb.test.Complex.Nested; + public static encode(message: jspb.test.Complex.Nested$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.Complex.Nested|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.Complex.Nested; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.Complex.Nested; @@ -190,10 +217,12 @@ export namespace jspb { } } - class OuterMessage { - constructor(properties?: { [k: string]: any }); - public static create(properties?: { [k: string]: any }): jspb.test.OuterMessage; - public static encode(message: (jspb.test.OuterMessage|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + type OuterMessage$Properties = Object; + + class OuterMessage implements jspb.test.OuterMessage$Properties { + constructor(properties?: jspb.test.OuterMessage$Properties); + public static create(properties?: jspb.test.OuterMessage$Properties): jspb.test.OuterMessage; + public static encode(message: jspb.test.OuterMessage$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.OuterMessage|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.OuterMessage; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.OuterMessage; @@ -207,11 +236,10 @@ export namespace jspb { namespace OuterMessage { - class Complex { - constructor(properties?: { [k: string]: any }); - public innerComplexField?: number; - public static create(properties?: { [k: string]: any }): jspb.test.OuterMessage.Complex; - public static encode(message: (jspb.test.OuterMessage.Complex|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class Complex implements jspb.test.OuterMessage.Complex$Properties { + constructor(properties?: jspb.test.OuterMessage.Complex$Properties); + public static create(properties?: jspb.test.OuterMessage.Complex$Properties): jspb.test.OuterMessage.Complex; + public static encode(message: jspb.test.OuterMessage.Complex$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.OuterMessage.Complex|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.OuterMessage.Complex; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.OuterMessage.Complex; @@ -224,11 +252,14 @@ export namespace jspb { } } - class IsExtension { - constructor(properties?: { [k: string]: any }); - public ext1?: string; - public static create(properties?: { [k: string]: any }): jspb.test.IsExtension; - public static encode(message: (jspb.test.IsExtension|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface IsExtension$Properties { + ext1?: string; + } + + class IsExtension implements jspb.test.IsExtension$Properties { + constructor(properties?: jspb.test.IsExtension$Properties); + public static create(properties?: jspb.test.IsExtension$Properties): jspb.test.IsExtension; + public static encode(message: jspb.test.IsExtension$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.IsExtension|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.IsExtension; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.IsExtension; @@ -240,10 +271,12 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class IndirectExtension { - constructor(properties?: { [k: string]: any }); - public static create(properties?: { [k: string]: any }): jspb.test.IndirectExtension; - public static encode(message: (jspb.test.IndirectExtension|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + type IndirectExtension$Properties = Object; + + class IndirectExtension implements jspb.test.IndirectExtension$Properties { + constructor(properties?: jspb.test.IndirectExtension$Properties); + public static create(properties?: jspb.test.IndirectExtension$Properties): jspb.test.IndirectExtension; + public static encode(message: jspb.test.IndirectExtension$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.IndirectExtension|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.IndirectExtension; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.IndirectExtension; @@ -255,16 +288,19 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class DefaultValues { - constructor(properties?: { [k: string]: any }); - public stringField?: string; - public boolField?: boolean; - public intField?: (number|$protobuf.Long); - public enumField?: number; - public emptyField?: string; - public bytesField?: Uint8Array; - public static create(properties?: { [k: string]: any }): jspb.test.DefaultValues; - public static encode(message: (jspb.test.DefaultValues|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface DefaultValues$Properties { + stringField?: string; + boolField?: boolean; + intField?: (number|$protobuf.Long); + enumField?: number; + emptyField?: string; + bytesField?: Uint8Array; + } + + class DefaultValues implements jspb.test.DefaultValues$Properties { + constructor(properties?: jspb.test.DefaultValues$Properties); + public static create(properties?: jspb.test.DefaultValues$Properties): jspb.test.DefaultValues; + public static encode(message: jspb.test.DefaultValues$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.DefaultValues|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.DefaultValues; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.DefaultValues; @@ -284,18 +320,21 @@ export namespace jspb { } } - class FloatingPointFields { - constructor(properties?: { [k: string]: any }); - public optionalFloatField?: number; - public requiredFloatField: number; - public repeatedFloatField?: number[]; - public defaultFloatField?: number; - public optionalDoubleField?: number; - public requiredDoubleField: number; - public repeatedDoubleField?: number[]; - public defaultDoubleField?: number; - public static create(properties?: { [k: string]: any }): jspb.test.FloatingPointFields; - public static encode(message: (jspb.test.FloatingPointFields|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface FloatingPointFields$Properties { + optionalFloatField?: number; + requiredFloatField: number; + repeatedFloatField?: number[]; + defaultFloatField?: number; + optionalDoubleField?: number; + requiredDoubleField: number; + repeatedDoubleField?: number[]; + defaultDoubleField?: number; + } + + class FloatingPointFields implements jspb.test.FloatingPointFields$Properties { + constructor(properties?: jspb.test.FloatingPointFields$Properties); + public static create(properties?: jspb.test.FloatingPointFields$Properties): jspb.test.FloatingPointFields; + public static encode(message: jspb.test.FloatingPointFields$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.FloatingPointFields|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.FloatingPointFields; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.FloatingPointFields; @@ -307,15 +346,19 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class TestClone { - constructor(properties?: { [k: string]: any }); - public str?: string; - public simple1?: jspb.test.Simple1; - public simple2?: jspb.test.Simple1[]; - public bytesField?: Uint8Array; - public unused?: string; - public static create(properties?: { [k: string]: any }): jspb.test.TestClone; - public static encode(message: (jspb.test.TestClone|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface TestClone$Properties { + str?: string; + simple1?: jspb.test.Simple1; + simple2?: jspb.test.Simple1[]; + bytesField?: Uint8Array; + unused?: string; + .jspb.test.CloneExtension.extField?: jspb.test.CloneExtension; + } + + class TestClone implements jspb.test.TestClone$Properties { + constructor(properties?: jspb.test.TestClone$Properties); + public static create(properties?: jspb.test.TestClone$Properties): jspb.test.TestClone; + public static encode(message: jspb.test.TestClone$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestClone|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestClone; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestClone; @@ -327,11 +370,14 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class CloneExtension { - constructor(properties?: { [k: string]: any }); - public ext?: string; - public static create(properties?: { [k: string]: any }): jspb.test.CloneExtension; - public static encode(message: (jspb.test.CloneExtension|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface CloneExtension$Properties { + ext?: string; + } + + class CloneExtension implements jspb.test.CloneExtension$Properties { + constructor(properties?: jspb.test.CloneExtension$Properties); + public static create(properties?: jspb.test.CloneExtension$Properties): jspb.test.CloneExtension; + public static encode(message: jspb.test.CloneExtension$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.CloneExtension|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.CloneExtension; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.CloneExtension; @@ -343,16 +389,19 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class TestGroup { - constructor(properties?: { [k: string]: any }); - public repeatedGroup?: jspb.test.TestGroup.RepeatedGroup[]; - public requiredGroup: jspb.test.TestGroup.RequiredGroup; - public optionalGroup?: jspb.test.TestGroup.OptionalGroup; - public id?: string; - public requiredSimple: jspb.test.Simple2; - public optionalSimple?: jspb.test.Simple2; - public static create(properties?: { [k: string]: any }): jspb.test.TestGroup; - public static encode(message: (jspb.test.TestGroup|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface TestGroup$Properties { + repeatedGroup?: jspb.test.TestGroup.RepeatedGroup[]; + requiredGroup: jspb.test.TestGroup.RequiredGroup; + optionalGroup?: jspb.test.TestGroup.OptionalGroup; + id?: string; + requiredSimple: jspb.test.Simple2; + optionalSimple?: jspb.test.Simple2; + } + + class TestGroup implements jspb.test.TestGroup$Properties { + constructor(properties?: jspb.test.TestGroup$Properties); + public static create(properties?: jspb.test.TestGroup$Properties): jspb.test.TestGroup; + public static encode(message: jspb.test.TestGroup$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestGroup|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestGroup; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestGroup; @@ -366,12 +415,10 @@ export namespace jspb { namespace TestGroup { - class RepeatedGroup { - constructor(properties?: { [k: string]: any }); - public id: string; - public someBool?: boolean[]; - public static create(properties?: { [k: string]: any }): jspb.test.TestGroup.RepeatedGroup; - public static encode(message: (jspb.test.TestGroup.RepeatedGroup|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class RepeatedGroup implements jspb.test.TestGroup.RepeatedGroup$Properties { + constructor(properties?: jspb.test.TestGroup.RepeatedGroup$Properties); + public static create(properties?: jspb.test.TestGroup.RepeatedGroup$Properties): jspb.test.TestGroup.RepeatedGroup; + public static encode(message: jspb.test.TestGroup.RepeatedGroup$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestGroup.RepeatedGroup|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestGroup.RepeatedGroup; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestGroup.RepeatedGroup; @@ -383,11 +430,10 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class RequiredGroup { - constructor(properties?: { [k: string]: any }); - public id: string; - public static create(properties?: { [k: string]: any }): jspb.test.TestGroup.RequiredGroup; - public static encode(message: (jspb.test.TestGroup.RequiredGroup|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class RequiredGroup implements jspb.test.TestGroup.RequiredGroup$Properties { + constructor(properties?: jspb.test.TestGroup.RequiredGroup$Properties); + public static create(properties?: jspb.test.TestGroup.RequiredGroup$Properties): jspb.test.TestGroup.RequiredGroup; + public static encode(message: jspb.test.TestGroup.RequiredGroup$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestGroup.RequiredGroup|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestGroup.RequiredGroup; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestGroup.RequiredGroup; @@ -399,11 +445,10 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class OptionalGroup { - constructor(properties?: { [k: string]: any }); - public id: string; - public static create(properties?: { [k: string]: any }): jspb.test.TestGroup.OptionalGroup; - public static encode(message: (jspb.test.TestGroup.OptionalGroup|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class OptionalGroup implements jspb.test.TestGroup.OptionalGroup$Properties { + constructor(properties?: jspb.test.TestGroup.OptionalGroup$Properties); + public static create(properties?: jspb.test.TestGroup.OptionalGroup$Properties): jspb.test.TestGroup.OptionalGroup; + public static encode(message: jspb.test.TestGroup.OptionalGroup$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestGroup.OptionalGroup|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestGroup.OptionalGroup; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestGroup.OptionalGroup; @@ -416,11 +461,14 @@ export namespace jspb { } } - class TestGroup1 { - constructor(properties?: { [k: string]: any }); - public group?: jspb.test.TestGroup.RepeatedGroup; - public static create(properties?: { [k: string]: any }): jspb.test.TestGroup1; - public static encode(message: (jspb.test.TestGroup1|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface TestGroup1$Properties { + group?: jspb.test.TestGroup.RepeatedGroup; + } + + class TestGroup1 implements jspb.test.TestGroup1$Properties { + constructor(properties?: jspb.test.TestGroup1$Properties); + public static create(properties?: jspb.test.TestGroup1$Properties): jspb.test.TestGroup1; + public static encode(message: jspb.test.TestGroup1$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestGroup1|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestGroup1; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestGroup1; @@ -432,11 +480,15 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class TestReservedNames { - constructor(properties?: { [k: string]: any }); - public extension?: number; - public static create(properties?: { [k: string]: any }): jspb.test.TestReservedNames; - public static encode(message: (jspb.test.TestReservedNames|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface TestReservedNames$Properties { + extension?: number; + .jspb.test.TestReservedNamesExtension.foo?: number; + } + + class TestReservedNames implements jspb.test.TestReservedNames$Properties { + constructor(properties?: jspb.test.TestReservedNames$Properties); + public static create(properties?: jspb.test.TestReservedNames$Properties): jspb.test.TestReservedNames; + public static encode(message: jspb.test.TestReservedNames$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestReservedNames|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestReservedNames; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestReservedNames; @@ -448,10 +500,12 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class TestReservedNamesExtension { - constructor(properties?: { [k: string]: any }); - public static create(properties?: { [k: string]: any }): jspb.test.TestReservedNamesExtension; - public static encode(message: (jspb.test.TestReservedNamesExtension|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + type TestReservedNamesExtension$Properties = Object; + + class TestReservedNamesExtension implements jspb.test.TestReservedNamesExtension$Properties { + constructor(properties?: jspb.test.TestReservedNamesExtension$Properties); + public static create(properties?: jspb.test.TestReservedNamesExtension$Properties): jspb.test.TestReservedNamesExtension; + public static encode(message: jspb.test.TestReservedNamesExtension$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestReservedNamesExtension|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestReservedNamesExtension; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestReservedNamesExtension; @@ -463,24 +517,27 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class TestMessageWithOneof { - constructor(properties?: { [k: string]: any }); - public pone?: string; - public pthree?: string; - public rone?: jspb.test.TestMessageWithOneof; - public rtwo?: string; - public normalField?: boolean; - public repeatedField?: string[]; - public aone?: number; - public atwo?: number; - public bone?: number; - public btwo?: number; + interface TestMessageWithOneof$Properties { + pone?: string; + pthree?: string; + rone?: jspb.test.TestMessageWithOneof; + rtwo?: string; + normalField?: boolean; + repeatedField?: string[]; + aone?: number; + atwo?: number; + bone?: number; + btwo?: number; + } + + class TestMessageWithOneof implements jspb.test.TestMessageWithOneof$Properties { + constructor(properties?: jspb.test.TestMessageWithOneof$Properties); public partialOneof?: string; public recursiveOneof?: string; public defaultOneofA?: string; public defaultOneofB?: string; - public static create(properties?: { [k: string]: any }): jspb.test.TestMessageWithOneof; - public static encode(message: (jspb.test.TestMessageWithOneof|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + public static create(properties?: jspb.test.TestMessageWithOneof$Properties): jspb.test.TestMessageWithOneof; + public static encode(message: jspb.test.TestMessageWithOneof$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestMessageWithOneof|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestMessageWithOneof; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestMessageWithOneof; @@ -492,12 +549,15 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class TestEndsWithBytes { - constructor(properties?: { [k: string]: any }); - public value?: number; - public data?: Uint8Array; - public static create(properties?: { [k: string]: any }): jspb.test.TestEndsWithBytes; - public static encode(message: (jspb.test.TestEndsWithBytes|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface TestEndsWithBytes$Properties { + value?: number; + data?: Uint8Array; + } + + class TestEndsWithBytes implements jspb.test.TestEndsWithBytes$Properties { + constructor(properties?: jspb.test.TestEndsWithBytes$Properties); + public static create(properties?: jspb.test.TestEndsWithBytes$Properties): jspb.test.TestEndsWithBytes; + public static encode(message: jspb.test.TestEndsWithBytes$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestEndsWithBytes|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestEndsWithBytes; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestEndsWithBytes; @@ -509,22 +569,25 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class TestMapFieldsNoBinary { - constructor(properties?: { [k: string]: any }); - public mapStringString?: { [k: string]: string }; - public mapStringInt32?: { [k: string]: number }; - public mapStringInt64?: { [k: string]: (number|$protobuf.Long) }; - public mapStringBool?: { [k: string]: boolean }; - public mapStringDouble?: { [k: string]: number }; - public mapStringEnum?: { [k: string]: number }; - public mapStringMsg?: { [k: string]: jspb.test.MapValueMessageNoBinary }; - public mapInt32String?: { [k: string]: string }; - public mapInt64String?: { [k: string]: string }; - public mapBoolString?: { [k: string]: string }; - public testMapFields?: jspb.test.TestMapFieldsNoBinary; - public mapStringTestmapfields?: { [k: string]: jspb.test.TestMapFieldsNoBinary }; - public static create(properties?: { [k: string]: any }): jspb.test.TestMapFieldsNoBinary; - public static encode(message: (jspb.test.TestMapFieldsNoBinary|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface TestMapFieldsNoBinary$Properties { + mapStringString?: { [k: string]: string }; + mapStringInt32?: { [k: string]: number }; + mapStringInt64?: { [k: string]: (number|$protobuf.Long) }; + mapStringBool?: { [k: string]: boolean }; + mapStringDouble?: { [k: string]: number }; + mapStringEnum?: { [k: string]: number }; + mapStringMsg?: { [k: string]: jspb.test.MapValueMessageNoBinary }; + mapInt32String?: { [k: string]: string }; + mapInt64String?: { [k: string]: string }; + mapBoolString?: { [k: string]: string }; + testMapFields?: jspb.test.TestMapFieldsNoBinary; + mapStringTestmapfields?: { [k: string]: jspb.test.TestMapFieldsNoBinary }; + } + + class TestMapFieldsNoBinary implements jspb.test.TestMapFieldsNoBinary$Properties { + constructor(properties?: jspb.test.TestMapFieldsNoBinary$Properties); + public static create(properties?: jspb.test.TestMapFieldsNoBinary$Properties): jspb.test.TestMapFieldsNoBinary; + public static encode(message: jspb.test.TestMapFieldsNoBinary$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.TestMapFieldsNoBinary|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.TestMapFieldsNoBinary; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.TestMapFieldsNoBinary; @@ -542,11 +605,14 @@ export namespace jspb { MAP_VALUE_BAZ_NOBINARY = 2 } - class MapValueMessageNoBinary { - constructor(properties?: { [k: string]: any }); - public foo?: number; - public static create(properties?: { [k: string]: any }): jspb.test.MapValueMessageNoBinary; - public static encode(message: (jspb.test.MapValueMessageNoBinary|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface MapValueMessageNoBinary$Properties { + foo?: number; + } + + class MapValueMessageNoBinary implements jspb.test.MapValueMessageNoBinary$Properties { + constructor(properties?: jspb.test.MapValueMessageNoBinary$Properties); + public static create(properties?: jspb.test.MapValueMessageNoBinary$Properties): jspb.test.MapValueMessageNoBinary; + public static encode(message: jspb.test.MapValueMessageNoBinary$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.MapValueMessageNoBinary|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.MapValueMessageNoBinary; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.MapValueMessageNoBinary; @@ -558,10 +624,12 @@ export namespace jspb { public toJSON(): { [k: string]: any }; } - class Deeply { - constructor(properties?: { [k: string]: any }); - public static create(properties?: { [k: string]: any }): jspb.test.Deeply; - public static encode(message: (jspb.test.Deeply|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + type Deeply$Properties = Object; + + class Deeply implements jspb.test.Deeply$Properties { + constructor(properties?: jspb.test.Deeply$Properties); + public static create(properties?: jspb.test.Deeply$Properties): jspb.test.Deeply; + public static encode(message: jspb.test.Deeply$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.Deeply|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.Deeply; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.Deeply; @@ -575,10 +643,12 @@ export namespace jspb { namespace Deeply { - class Nested { - constructor(properties?: { [k: string]: any }); - public static create(properties?: { [k: string]: any }): jspb.test.Deeply.Nested; - public static encode(message: (jspb.test.Deeply.Nested|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + type Nested$Properties = Object; + + class Nested implements jspb.test.Deeply.Nested$Properties { + constructor(properties?: jspb.test.Deeply.Nested$Properties); + public static create(properties?: jspb.test.Deeply.Nested$Properties): jspb.test.Deeply.Nested; + public static encode(message: jspb.test.Deeply.Nested$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.Deeply.Nested|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.Deeply.Nested; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.Deeply.Nested; @@ -592,11 +662,10 @@ export namespace jspb { namespace Nested { - class Message { - constructor(properties?: { [k: string]: any }); - public count?: number; - public static create(properties?: { [k: string]: any }): jspb.test.Deeply.Nested.Message; - public static encode(message: (jspb.test.Deeply.Nested.Message|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class Message implements jspb.test.Deeply.Nested.Message$Properties { + constructor(properties?: jspb.test.Deeply.Nested.Message$Properties); + public static create(properties?: jspb.test.Deeply.Nested.Message$Properties): jspb.test.Deeply.Nested.Message; + public static encode(message: jspb.test.Deeply.Nested.Message$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (jspb.test.Deeply.Nested.Message|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): jspb.test.Deeply.Nested.Message; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): jspb.test.Deeply.Nested.Message; @@ -616,11 +685,14 @@ export namespace google { namespace protobuf { - class FileDescriptorSet { - constructor(properties?: { [k: string]: any }); - public file?: google.protobuf.FileDescriptorProto[]; - public static create(properties?: { [k: string]: any }): google.protobuf.FileDescriptorSet; - public static encode(message: (google.protobuf.FileDescriptorSet|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface FileDescriptorSet$Properties { + file?: google.protobuf.FileDescriptorProto[]; + } + + class FileDescriptorSet implements google.protobuf.FileDescriptorSet$Properties { + constructor(properties?: google.protobuf.FileDescriptorSet$Properties); + public static create(properties?: google.protobuf.FileDescriptorSet$Properties): google.protobuf.FileDescriptorSet; + public static encode(message: google.protobuf.FileDescriptorSet$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.FileDescriptorSet|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet; @@ -632,22 +704,25 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class FileDescriptorProto { - constructor(properties?: { [k: string]: any }); - public name?: string; - public package?: string; - public dependency?: string[]; - public publicDependency?: number[]; - public weakDependency?: number[]; - public messageType?: google.protobuf.DescriptorProto[]; - public enumType?: google.protobuf.EnumDescriptorProto[]; - public service?: google.protobuf.ServiceDescriptorProto[]; - public extension?: google.protobuf.FieldDescriptorProto[]; - public options?: google.protobuf.FileOptions; - public sourceCodeInfo?: google.protobuf.SourceCodeInfo; - public syntax?: string; - public static create(properties?: { [k: string]: any }): google.protobuf.FileDescriptorProto; - public static encode(message: (google.protobuf.FileDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface FileDescriptorProto$Properties { + name?: string; + package?: string; + dependency?: string[]; + publicDependency?: number[]; + weakDependency?: number[]; + messageType?: google.protobuf.DescriptorProto[]; + enumType?: google.protobuf.EnumDescriptorProto[]; + service?: google.protobuf.ServiceDescriptorProto[]; + extension?: google.protobuf.FieldDescriptorProto[]; + options?: google.protobuf.FileOptions; + sourceCodeInfo?: google.protobuf.SourceCodeInfo; + syntax?: string; + } + + class FileDescriptorProto implements google.protobuf.FileDescriptorProto$Properties { + constructor(properties?: google.protobuf.FileDescriptorProto$Properties); + public static create(properties?: google.protobuf.FileDescriptorProto$Properties): google.protobuf.FileDescriptorProto; + public static encode(message: google.protobuf.FileDescriptorProto$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.FileDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto; @@ -659,20 +734,23 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class DescriptorProto { - constructor(properties?: { [k: string]: any }); - public name?: string; - public field?: google.protobuf.FieldDescriptorProto[]; - public extension?: google.protobuf.FieldDescriptorProto[]; - public nestedType?: google.protobuf.DescriptorProto[]; - public enumType?: google.protobuf.EnumDescriptorProto[]; - public extensionRange?: google.protobuf.DescriptorProto.ExtensionRange[]; - public oneofDecl?: google.protobuf.OneofDescriptorProto[]; - public options?: google.protobuf.MessageOptions; - public reservedRange?: google.protobuf.DescriptorProto.ReservedRange[]; - public reservedName?: string[]; - public static create(properties?: { [k: string]: any }): google.protobuf.DescriptorProto; - public static encode(message: (google.protobuf.DescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface DescriptorProto$Properties { + name?: string; + field?: google.protobuf.FieldDescriptorProto[]; + extension?: google.protobuf.FieldDescriptorProto[]; + nestedType?: google.protobuf.DescriptorProto[]; + enumType?: google.protobuf.EnumDescriptorProto[]; + extensionRange?: google.protobuf.DescriptorProto.ExtensionRange[]; + oneofDecl?: google.protobuf.OneofDescriptorProto[]; + options?: google.protobuf.MessageOptions; + reservedRange?: google.protobuf.DescriptorProto.ReservedRange[]; + reservedName?: string[]; + } + + class DescriptorProto implements google.protobuf.DescriptorProto$Properties { + constructor(properties?: google.protobuf.DescriptorProto$Properties); + public static create(properties?: google.protobuf.DescriptorProto$Properties): google.protobuf.DescriptorProto; + public static encode(message: google.protobuf.DescriptorProto$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.DescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto; @@ -686,12 +764,10 @@ export namespace google { namespace DescriptorProto { - class ExtensionRange { - constructor(properties?: { [k: string]: any }); - public start?: number; - public end?: number; - public static create(properties?: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange; - public static encode(message: (google.protobuf.DescriptorProto.ExtensionRange|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class ExtensionRange implements google.protobuf.DescriptorProto.ExtensionRange$Properties { + constructor(properties?: google.protobuf.DescriptorProto.ExtensionRange$Properties); + public static create(properties?: google.protobuf.DescriptorProto.ExtensionRange$Properties): google.protobuf.DescriptorProto.ExtensionRange; + public static encode(message: google.protobuf.DescriptorProto.ExtensionRange$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.DescriptorProto.ExtensionRange|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange; @@ -703,12 +779,10 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class ReservedRange { - constructor(properties?: { [k: string]: any }); - public start?: number; - public end?: number; - public static create(properties?: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange; - public static encode(message: (google.protobuf.DescriptorProto.ReservedRange|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class ReservedRange implements google.protobuf.DescriptorProto.ReservedRange$Properties { + constructor(properties?: google.protobuf.DescriptorProto.ReservedRange$Properties); + public static create(properties?: google.protobuf.DescriptorProto.ReservedRange$Properties): google.protobuf.DescriptorProto.ReservedRange; + public static encode(message: google.protobuf.DescriptorProto.ReservedRange$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.DescriptorProto.ReservedRange|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange; @@ -721,20 +795,23 @@ export namespace google { } } - class FieldDescriptorProto { - constructor(properties?: { [k: string]: any }); - public name?: string; - public number?: number; - public label?: number; - public type?: number; - public typeName?: string; - public extendee?: string; - public defaultValue?: string; - public oneofIndex?: number; - public jsonName?: string; - public options?: google.protobuf.FieldOptions; - public static create(properties?: { [k: string]: any }): google.protobuf.FieldDescriptorProto; - public static encode(message: (google.protobuf.FieldDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface FieldDescriptorProto$Properties { + name?: string; + number?: number; + label?: number; + type?: number; + typeName?: string; + extendee?: string; + defaultValue?: string; + oneofIndex?: number; + jsonName?: string; + options?: google.protobuf.FieldOptions; + } + + class FieldDescriptorProto implements google.protobuf.FieldDescriptorProto$Properties { + constructor(properties?: google.protobuf.FieldDescriptorProto$Properties); + public static create(properties?: google.protobuf.FieldDescriptorProto$Properties): google.protobuf.FieldDescriptorProto; + public static encode(message: google.protobuf.FieldDescriptorProto$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.FieldDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto; @@ -776,12 +853,15 @@ export namespace google { } } - class OneofDescriptorProto { - constructor(properties?: { [k: string]: any }); - public name?: string; - public options?: google.protobuf.OneofOptions; - public static create(properties?: { [k: string]: any }): google.protobuf.OneofDescriptorProto; - public static encode(message: (google.protobuf.OneofDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface OneofDescriptorProto$Properties { + name?: string; + options?: google.protobuf.OneofOptions; + } + + class OneofDescriptorProto implements google.protobuf.OneofDescriptorProto$Properties { + constructor(properties?: google.protobuf.OneofDescriptorProto$Properties); + public static create(properties?: google.protobuf.OneofDescriptorProto$Properties): google.protobuf.OneofDescriptorProto; + public static encode(message: google.protobuf.OneofDescriptorProto$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.OneofDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto; @@ -793,13 +873,16 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class EnumDescriptorProto { - constructor(properties?: { [k: string]: any }); - public name?: string; - public value?: google.protobuf.EnumValueDescriptorProto[]; - public options?: google.protobuf.EnumOptions; - public static create(properties?: { [k: string]: any }): google.protobuf.EnumDescriptorProto; - public static encode(message: (google.protobuf.EnumDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface EnumDescriptorProto$Properties { + name?: string; + value?: google.protobuf.EnumValueDescriptorProto[]; + options?: google.protobuf.EnumOptions; + } + + class EnumDescriptorProto implements google.protobuf.EnumDescriptorProto$Properties { + constructor(properties?: google.protobuf.EnumDescriptorProto$Properties); + public static create(properties?: google.protobuf.EnumDescriptorProto$Properties): google.protobuf.EnumDescriptorProto; + public static encode(message: google.protobuf.EnumDescriptorProto$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.EnumDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto; @@ -811,13 +894,16 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class EnumValueDescriptorProto { - constructor(properties?: { [k: string]: any }); - public name?: string; - public number?: number; - public options?: google.protobuf.EnumValueOptions; - public static create(properties?: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto; - public static encode(message: (google.protobuf.EnumValueDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface EnumValueDescriptorProto$Properties { + name?: string; + number?: number; + options?: google.protobuf.EnumValueOptions; + } + + class EnumValueDescriptorProto implements google.protobuf.EnumValueDescriptorProto$Properties { + constructor(properties?: google.protobuf.EnumValueDescriptorProto$Properties); + public static create(properties?: google.protobuf.EnumValueDescriptorProto$Properties): google.protobuf.EnumValueDescriptorProto; + public static encode(message: google.protobuf.EnumValueDescriptorProto$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.EnumValueDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto; @@ -829,13 +915,16 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class ServiceDescriptorProto { - constructor(properties?: { [k: string]: any }); - public name?: string; - public method?: google.protobuf.MethodDescriptorProto[]; - public options?: google.protobuf.ServiceOptions; - public static create(properties?: { [k: string]: any }): google.protobuf.ServiceDescriptorProto; - public static encode(message: (google.protobuf.ServiceDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface ServiceDescriptorProto$Properties { + name?: string; + method?: google.protobuf.MethodDescriptorProto[]; + options?: google.protobuf.ServiceOptions; + } + + class ServiceDescriptorProto implements google.protobuf.ServiceDescriptorProto$Properties { + constructor(properties?: google.protobuf.ServiceDescriptorProto$Properties); + public static create(properties?: google.protobuf.ServiceDescriptorProto$Properties): google.protobuf.ServiceDescriptorProto; + public static encode(message: google.protobuf.ServiceDescriptorProto$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.ServiceDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto; @@ -847,16 +936,19 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class MethodDescriptorProto { - constructor(properties?: { [k: string]: any }); - public name?: string; - public inputType?: string; - public outputType?: string; - public options?: google.protobuf.MethodOptions; - public clientStreaming?: boolean; - public serverStreaming?: boolean; - public static create(properties?: { [k: string]: any }): google.protobuf.MethodDescriptorProto; - public static encode(message: (google.protobuf.MethodDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface MethodDescriptorProto$Properties { + name?: string; + inputType?: string; + outputType?: string; + options?: google.protobuf.MethodOptions; + clientStreaming?: boolean; + serverStreaming?: boolean; + } + + class MethodDescriptorProto implements google.protobuf.MethodDescriptorProto$Properties { + constructor(properties?: google.protobuf.MethodDescriptorProto$Properties); + public static create(properties?: google.protobuf.MethodDescriptorProto$Properties): google.protobuf.MethodDescriptorProto; + public static encode(message: google.protobuf.MethodDescriptorProto$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.MethodDescriptorProto|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto; @@ -868,25 +960,28 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class FileOptions { - constructor(properties?: { [k: string]: any }); - public javaPackage?: string; - public javaOuterClassname?: string; - public javaMultipleFiles?: boolean; - public javaGenerateEqualsAndHash?: boolean; - public javaStringCheckUtf8?: boolean; - public optimizeFor?: number; - public goPackage?: string; - public ccGenericServices?: boolean; - public javaGenericServices?: boolean; - public pyGenericServices?: boolean; - public deprecated?: boolean; - public ccEnableArenas?: boolean; - public objcClassPrefix?: string; - public csharpNamespace?: string; - public uninterpretedOption?: google.protobuf.UninterpretedOption[]; - public static create(properties?: { [k: string]: any }): google.protobuf.FileOptions; - public static encode(message: (google.protobuf.FileOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface FileOptions$Properties { + javaPackage?: string; + javaOuterClassname?: string; + javaMultipleFiles?: boolean; + javaGenerateEqualsAndHash?: boolean; + javaStringCheckUtf8?: boolean; + optimizeFor?: number; + goPackage?: string; + ccGenericServices?: boolean; + javaGenericServices?: boolean; + pyGenericServices?: boolean; + deprecated?: boolean; + ccEnableArenas?: boolean; + objcClassPrefix?: string; + csharpNamespace?: string; + uninterpretedOption?: google.protobuf.UninterpretedOption[]; + } + + class FileOptions implements google.protobuf.FileOptions$Properties { + constructor(properties?: google.protobuf.FileOptions$Properties); + public static create(properties?: google.protobuf.FileOptions$Properties): google.protobuf.FileOptions; + public static encode(message: google.protobuf.FileOptions$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.FileOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions; @@ -907,15 +1002,18 @@ export namespace google { } } - class MessageOptions { - constructor(properties?: { [k: string]: any }); - public messageSetWireFormat?: boolean; - public noStandardDescriptorAccessor?: boolean; - public deprecated?: boolean; - public mapEntry?: boolean; - public uninterpretedOption?: google.protobuf.UninterpretedOption[]; - public static create(properties?: { [k: string]: any }): google.protobuf.MessageOptions; - public static encode(message: (google.protobuf.MessageOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface MessageOptions$Properties { + messageSetWireFormat?: boolean; + noStandardDescriptorAccessor?: boolean; + deprecated?: boolean; + mapEntry?: boolean; + uninterpretedOption?: google.protobuf.UninterpretedOption[]; + } + + class MessageOptions implements google.protobuf.MessageOptions$Properties { + constructor(properties?: google.protobuf.MessageOptions$Properties); + public static create(properties?: google.protobuf.MessageOptions$Properties): google.protobuf.MessageOptions; + public static encode(message: google.protobuf.MessageOptions$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.MessageOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions; @@ -927,17 +1025,20 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class FieldOptions { - constructor(properties?: { [k: string]: any }); - public ctype?: number; - public packed?: boolean; - public jstype?: number; - public lazy?: boolean; - public deprecated?: boolean; - public weak?: boolean; - public uninterpretedOption?: google.protobuf.UninterpretedOption[]; - public static create(properties?: { [k: string]: any }): google.protobuf.FieldOptions; - public static encode(message: (google.protobuf.FieldOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface FieldOptions$Properties { + ctype?: number; + packed?: boolean; + jstype?: number; + lazy?: boolean; + deprecated?: boolean; + weak?: boolean; + uninterpretedOption?: google.protobuf.UninterpretedOption[]; + } + + class FieldOptions implements google.protobuf.FieldOptions$Properties { + constructor(properties?: google.protobuf.FieldOptions$Properties); + public static create(properties?: google.protobuf.FieldOptions$Properties): google.protobuf.FieldOptions; + public static encode(message: google.protobuf.FieldOptions$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.FieldOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions; @@ -964,11 +1065,14 @@ export namespace google { } } - class OneofOptions { - constructor(properties?: { [k: string]: any }); - public uninterpretedOption?: google.protobuf.UninterpretedOption[]; - public static create(properties?: { [k: string]: any }): google.protobuf.OneofOptions; - public static encode(message: (google.protobuf.OneofOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface OneofOptions$Properties { + uninterpretedOption?: google.protobuf.UninterpretedOption[]; + } + + class OneofOptions implements google.protobuf.OneofOptions$Properties { + constructor(properties?: google.protobuf.OneofOptions$Properties); + public static create(properties?: google.protobuf.OneofOptions$Properties): google.protobuf.OneofOptions; + public static encode(message: google.protobuf.OneofOptions$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.OneofOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions; @@ -980,13 +1084,17 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class EnumOptions { - constructor(properties?: { [k: string]: any }); - public allowAlias?: boolean; - public deprecated?: boolean; - public uninterpretedOption?: google.protobuf.UninterpretedOption[]; - public static create(properties?: { [k: string]: any }): google.protobuf.EnumOptions; - public static encode(message: (google.protobuf.EnumOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface EnumOptions$Properties { + allowAlias?: boolean; + deprecated?: boolean; + uninterpretedOption?: google.protobuf.UninterpretedOption[]; + .jspb.test.IsExtension.simpleOption?: string; + } + + class EnumOptions implements google.protobuf.EnumOptions$Properties { + constructor(properties?: google.protobuf.EnumOptions$Properties); + public static create(properties?: google.protobuf.EnumOptions$Properties): google.protobuf.EnumOptions; + public static encode(message: google.protobuf.EnumOptions$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.EnumOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions; @@ -998,12 +1106,15 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class EnumValueOptions { - constructor(properties?: { [k: string]: any }); - public deprecated?: boolean; - public uninterpretedOption?: google.protobuf.UninterpretedOption[]; - public static create(properties?: { [k: string]: any }): google.protobuf.EnumValueOptions; - public static encode(message: (google.protobuf.EnumValueOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface EnumValueOptions$Properties { + deprecated?: boolean; + uninterpretedOption?: google.protobuf.UninterpretedOption[]; + } + + class EnumValueOptions implements google.protobuf.EnumValueOptions$Properties { + constructor(properties?: google.protobuf.EnumValueOptions$Properties); + public static create(properties?: google.protobuf.EnumValueOptions$Properties): google.protobuf.EnumValueOptions; + public static encode(message: google.protobuf.EnumValueOptions$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.EnumValueOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions; @@ -1015,12 +1126,15 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class ServiceOptions { - constructor(properties?: { [k: string]: any }); - public deprecated?: boolean; - public uninterpretedOption?: google.protobuf.UninterpretedOption[]; - public static create(properties?: { [k: string]: any }): google.protobuf.ServiceOptions; - public static encode(message: (google.protobuf.ServiceOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface ServiceOptions$Properties { + deprecated?: boolean; + uninterpretedOption?: google.protobuf.UninterpretedOption[]; + } + + class ServiceOptions implements google.protobuf.ServiceOptions$Properties { + constructor(properties?: google.protobuf.ServiceOptions$Properties); + public static create(properties?: google.protobuf.ServiceOptions$Properties): google.protobuf.ServiceOptions; + public static encode(message: google.protobuf.ServiceOptions$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.ServiceOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions; @@ -1032,13 +1146,16 @@ export namespace google { public toJSON(): { [k: string]: any }; } - class MethodOptions { - constructor(properties?: { [k: string]: any }); - public deprecated?: boolean; - public idempotencyLevel?: number; - public uninterpretedOption?: google.protobuf.UninterpretedOption[]; - public static create(properties?: { [k: string]: any }): google.protobuf.MethodOptions; - public static encode(message: (google.protobuf.MethodOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface MethodOptions$Properties { + deprecated?: boolean; + idempotencyLevel?: number; + uninterpretedOption?: google.protobuf.UninterpretedOption[]; + } + + class MethodOptions implements google.protobuf.MethodOptions$Properties { + constructor(properties?: google.protobuf.MethodOptions$Properties); + public static create(properties?: google.protobuf.MethodOptions$Properties): google.protobuf.MethodOptions; + public static encode(message: google.protobuf.MethodOptions$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.MethodOptions|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions; @@ -1059,17 +1176,20 @@ export namespace google { } } - class UninterpretedOption { - constructor(properties?: { [k: string]: any }); - public name?: google.protobuf.UninterpretedOption.NamePart[]; - public identifierValue?: string; - public positiveIntValue?: (number|$protobuf.Long); - public negativeIntValue?: (number|$protobuf.Long); - public doubleValue?: number; - public stringValue?: Uint8Array; - public aggregateValue?: string; - public static create(properties?: { [k: string]: any }): google.protobuf.UninterpretedOption; - public static encode(message: (google.protobuf.UninterpretedOption|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface UninterpretedOption$Properties { + name?: google.protobuf.UninterpretedOption.NamePart[]; + identifierValue?: string; + positiveIntValue?: (number|$protobuf.Long); + negativeIntValue?: (number|$protobuf.Long); + doubleValue?: number; + stringValue?: Uint8Array; + aggregateValue?: string; + } + + class UninterpretedOption implements google.protobuf.UninterpretedOption$Properties { + constructor(properties?: google.protobuf.UninterpretedOption$Properties); + public static create(properties?: google.protobuf.UninterpretedOption$Properties): google.protobuf.UninterpretedOption; + public static encode(message: google.protobuf.UninterpretedOption$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.UninterpretedOption|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption; @@ -1083,12 +1203,10 @@ export namespace google { namespace UninterpretedOption { - class NamePart { - constructor(properties?: { [k: string]: any }); - public namePart: string; - public isExtension: boolean; - public static create(properties?: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart; - public static encode(message: (google.protobuf.UninterpretedOption.NamePart|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class NamePart implements google.protobuf.UninterpretedOption.NamePart$Properties { + constructor(properties?: google.protobuf.UninterpretedOption.NamePart$Properties); + public static create(properties?: google.protobuf.UninterpretedOption.NamePart$Properties): google.protobuf.UninterpretedOption.NamePart; + public static encode(message: google.protobuf.UninterpretedOption.NamePart$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.UninterpretedOption.NamePart|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart; @@ -1101,11 +1219,14 @@ export namespace google { } } - class SourceCodeInfo { - constructor(properties?: { [k: string]: any }); - public location?: google.protobuf.SourceCodeInfo.Location[]; - public static create(properties?: { [k: string]: any }): google.protobuf.SourceCodeInfo; - public static encode(message: (google.protobuf.SourceCodeInfo|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface SourceCodeInfo$Properties { + location?: google.protobuf.SourceCodeInfo.Location[]; + } + + class SourceCodeInfo implements google.protobuf.SourceCodeInfo$Properties { + constructor(properties?: google.protobuf.SourceCodeInfo$Properties); + public static create(properties?: google.protobuf.SourceCodeInfo$Properties): google.protobuf.SourceCodeInfo; + public static encode(message: google.protobuf.SourceCodeInfo$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.SourceCodeInfo|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo; @@ -1119,15 +1240,10 @@ export namespace google { namespace SourceCodeInfo { - class Location { - constructor(properties?: { [k: string]: any }); - public path?: number[]; - public span?: number[]; - public leadingComments?: string; - public trailingComments?: string; - public leadingDetachedComments?: string[]; - public static create(properties?: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location; - public static encode(message: (google.protobuf.SourceCodeInfo.Location|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class Location implements google.protobuf.SourceCodeInfo.Location$Properties { + constructor(properties?: google.protobuf.SourceCodeInfo.Location$Properties); + public static create(properties?: google.protobuf.SourceCodeInfo.Location$Properties): google.protobuf.SourceCodeInfo.Location; + public static encode(message: google.protobuf.SourceCodeInfo.Location$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.SourceCodeInfo.Location|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location; @@ -1140,11 +1256,14 @@ export namespace google { } } - class GeneratedCodeInfo { - constructor(properties?: { [k: string]: any }); - public annotation?: google.protobuf.GeneratedCodeInfo.Annotation[]; - public static create(properties?: { [k: string]: any }): google.protobuf.GeneratedCodeInfo; - public static encode(message: (google.protobuf.GeneratedCodeInfo|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + interface GeneratedCodeInfo$Properties { + annotation?: google.protobuf.GeneratedCodeInfo.Annotation[]; + } + + class GeneratedCodeInfo implements google.protobuf.GeneratedCodeInfo$Properties { + constructor(properties?: google.protobuf.GeneratedCodeInfo$Properties); + public static create(properties?: google.protobuf.GeneratedCodeInfo$Properties): google.protobuf.GeneratedCodeInfo; + public static encode(message: google.protobuf.GeneratedCodeInfo$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.GeneratedCodeInfo|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo; @@ -1158,14 +1277,10 @@ export namespace google { namespace GeneratedCodeInfo { - class Annotation { - constructor(properties?: { [k: string]: any }); - public path?: number[]; - public sourceFile?: string; - public begin?: number; - public end?: number; - public static create(properties?: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation; - public static encode(message: (google.protobuf.GeneratedCodeInfo.Annotation|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; + class Annotation implements google.protobuf.GeneratedCodeInfo.Annotation$Properties { + constructor(properties?: google.protobuf.GeneratedCodeInfo.Annotation$Properties); + public static create(properties?: google.protobuf.GeneratedCodeInfo.Annotation$Properties): google.protobuf.GeneratedCodeInfo.Annotation; + public static encode(message: google.protobuf.GeneratedCodeInfo.Annotation$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: (google.protobuf.GeneratedCodeInfo.Annotation|{ [k: string]: any }), writer?: $protobuf.Writer): $protobuf.Writer; public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation; public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation; @@ -1179,3 +1294,74 @@ export namespace google { } } } + +interface Nested$Properties { + anInt?: number; +} +; + +interface Nested$Properties { + anInt: number; +} +; + +interface Complex$Properties { + innerComplexField?: number; +} +; + +interface RepeatedGroup$Properties { + id: string; + someBool?: boolean[]; +} +; + +interface RequiredGroup$Properties { + id: string; +} +; + +interface OptionalGroup$Properties { + id: string; +} +; + +interface Message$Properties { + count?: number; +} +; + +interface ExtensionRange$Properties { + start?: number; + end?: number; +} +; + +interface ReservedRange$Properties { + start?: number; + end?: number; +} +; + +interface NamePart$Properties { + namePart: string; + isExtension: boolean; +} +; + +interface Location$Properties { + path?: number[]; + span?: number[]; + leadingComments?: string; + trailingComments?: string; + leadingDetachedComments?: string[]; +} +; + +interface Annotation$Properties { + path?: number[]; + sourceFile?: string; + begin?: number; + end?: number; +} +; diff --git a/tests/data/test.js b/tests/data/test.js index ea1d9183f..d58718736 100644 --- a/tests/data/test.js +++ b/tests/data/test.js @@ -29,11 +29,18 @@ $root.jspb = (function() { test.Empty = (function() { + /** + * Properties of an Empty. + * @typedef jspb.test.Empty$Properties + * @type Object + */ + /** * Constructs a new Empty. * @exports jspb.test.Empty + * @implements jspb.test.Empty$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Empty$Properties=} [properties] Properties to set */ function Empty(properties) { if (properties) @@ -43,7 +50,7 @@ $root.jspb = (function() { /** * Creates a new Empty instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Empty$Properties=} [properties] Properties to set * @returns {jspb.test.Empty} Empty instance */ Empty.create = function create(properties) { @@ -52,7 +59,7 @@ $root.jspb = (function() { /** * Encodes the specified Empty message. Does not implicitly {@link jspb.test.Empty.verify|verify} messages. - * @param {jspb.test.Empty|Object.} message Empty message or plain object to encode + * @param {jspb.test.Empty$Properties} message Empty message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -110,7 +117,7 @@ $root.jspb = (function() { /** * Verifies an Empty message. - * @param {Object.} message Empty object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Empty.verify = function verify(message) { @@ -186,11 +193,19 @@ $root.jspb = (function() { test.EnumContainer = (function() { + /** + * Properties of an EnumContainer. + * @typedef jspb.test.EnumContainer$Properties + * @type Object + * @property {number} [outerEnum] EnumContainer outerEnum. + */ + /** * Constructs a new EnumContainer. * @exports jspb.test.EnumContainer + * @implements jspb.test.EnumContainer$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.EnumContainer$Properties=} [properties] Properties to set */ function EnumContainer(properties) { if (properties) @@ -198,15 +213,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * EnumContainer outerEnum. - * @type {number|undefined} - */ EnumContainer.prototype.outerEnum = 1; /** * Creates a new EnumContainer instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.EnumContainer$Properties=} [properties] Properties to set * @returns {jspb.test.EnumContainer} EnumContainer instance */ EnumContainer.create = function create(properties) { @@ -215,7 +226,7 @@ $root.jspb = (function() { /** * Encodes the specified EnumContainer message. Does not implicitly {@link jspb.test.EnumContainer.verify|verify} messages. - * @param {jspb.test.EnumContainer|Object.} message EnumContainer message or plain object to encode + * @param {jspb.test.EnumContainer$Properties} message EnumContainer message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -278,7 +289,7 @@ $root.jspb = (function() { /** * Verifies an EnumContainer message. - * @param {Object.} message EnumContainer object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ EnumContainer.verify = function verify(message) { @@ -365,11 +376,21 @@ $root.jspb = (function() { test.Simple1 = (function() { + /** + * Properties of a Simple1. + * @typedef jspb.test.Simple1$Properties + * @type Object + * @property {string} aString Simple1 aString. + * @property {Array.} [aRepeatedString] Simple1 aRepeatedString. + * @property {boolean} [aBoolean] Simple1 aBoolean. + */ + /** * Constructs a new Simple1. * @exports jspb.test.Simple1 + * @implements jspb.test.Simple1$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Simple1$Properties=} [properties] Properties to set */ function Simple1(properties) { this.aRepeatedString = []; @@ -378,27 +399,13 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Simple1 aString. - * @type {string} - */ Simple1.prototype.aString = ""; - - /** - * Simple1 aRepeatedString. - * @type {Array.|undefined} - */ Simple1.prototype.aRepeatedString = $util.emptyArray; - - /** - * Simple1 aBoolean. - * @type {boolean|undefined} - */ Simple1.prototype.aBoolean = false; /** * Creates a new Simple1 instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Simple1$Properties=} [properties] Properties to set * @returns {jspb.test.Simple1} Simple1 instance */ Simple1.create = function create(properties) { @@ -407,7 +414,7 @@ $root.jspb = (function() { /** * Encodes the specified Simple1 message. Does not implicitly {@link jspb.test.Simple1.verify|verify} messages. - * @param {jspb.test.Simple1|Object.} message Simple1 message or plain object to encode + * @param {jspb.test.Simple1$Properties} message Simple1 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -484,7 +491,7 @@ $root.jspb = (function() { /** * Verifies a Simple1 message. - * @param {Object.} message Simple1 object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Simple1.verify = function verify(message) { @@ -587,11 +594,20 @@ $root.jspb = (function() { test.Simple2 = (function() { + /** + * Properties of a Simple2. + * @typedef jspb.test.Simple2$Properties + * @type Object + * @property {string} aString Simple2 aString. + * @property {Array.} [aRepeatedString] Simple2 aRepeatedString. + */ + /** * Constructs a new Simple2. * @exports jspb.test.Simple2 + * @implements jspb.test.Simple2$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Simple2$Properties=} [properties] Properties to set */ function Simple2(properties) { this.aRepeatedString = []; @@ -600,21 +616,12 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Simple2 aString. - * @type {string} - */ Simple2.prototype.aString = ""; - - /** - * Simple2 aRepeatedString. - * @type {Array.|undefined} - */ Simple2.prototype.aRepeatedString = $util.emptyArray; /** * Creates a new Simple2 instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Simple2$Properties=} [properties] Properties to set * @returns {jspb.test.Simple2} Simple2 instance */ Simple2.create = function create(properties) { @@ -623,7 +630,7 @@ $root.jspb = (function() { /** * Encodes the specified Simple2 message. Does not implicitly {@link jspb.test.Simple2.verify|verify} messages. - * @param {jspb.test.Simple2|Object.} message Simple2 message or plain object to encode + * @param {jspb.test.Simple2$Properties} message Simple2 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -695,7 +702,7 @@ $root.jspb = (function() { /** * Verifies a Simple2 message. - * @param {Object.} message Simple2 object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Simple2.verify = function verify(message) { @@ -789,11 +796,22 @@ $root.jspb = (function() { test.SpecialCases = (function() { + /** + * Properties of a SpecialCases. + * @typedef jspb.test.SpecialCases$Properties + * @type Object + * @property {string} normal SpecialCases normal. + * @property {string} default SpecialCases default. + * @property {string} function SpecialCases function. + * @property {string} var SpecialCases var. + */ + /** * Constructs a new SpecialCases. * @exports jspb.test.SpecialCases + * @implements jspb.test.SpecialCases$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.SpecialCases$Properties=} [properties] Properties to set */ function SpecialCases(properties) { if (properties) @@ -801,36 +819,14 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * SpecialCases normal. - * @type {string} - */ SpecialCases.prototype.normal = ""; - - /** - * SpecialCases default. - * @name jspb.test.SpecialCases#default - * @type {string} - */ SpecialCases.prototype["default"] = ""; - - /** - * SpecialCases function. - * @name jspb.test.SpecialCases#function - * @type {string} - */ SpecialCases.prototype["function"] = ""; - - /** - * SpecialCases var. - * @name jspb.test.SpecialCases#var - * @type {string} - */ SpecialCases.prototype["var"] = ""; /** * Creates a new SpecialCases instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.SpecialCases$Properties=} [properties] Properties to set * @returns {jspb.test.SpecialCases} SpecialCases instance */ SpecialCases.create = function create(properties) { @@ -839,7 +835,7 @@ $root.jspb = (function() { /** * Encodes the specified SpecialCases message. Does not implicitly {@link jspb.test.SpecialCases.verify|verify} messages. - * @param {jspb.test.SpecialCases|Object.} message SpecialCases message or plain object to encode + * @param {jspb.test.SpecialCases$Properties} message SpecialCases message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -921,7 +917,7 @@ $root.jspb = (function() { /** * Verifies a SpecialCases message. - * @param {Object.} message SpecialCases object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ SpecialCases.verify = function verify(message) { @@ -1016,11 +1012,23 @@ $root.jspb = (function() { test.OptionalFields = (function() { + /** + * Properties of an OptionalFields. + * @typedef jspb.test.OptionalFields$Properties + * @type Object + * @property {string} [aString] OptionalFields aString. + * @property {boolean} aBool OptionalFields aBool. + * @property {jspb.test.OptionalFields.Nested} [aNestedMessage] OptionalFields aNestedMessage. + * @property {Array.} [aRepeatedMessage] OptionalFields aRepeatedMessage. + * @property {Array.} [aRepeatedString] OptionalFields aRepeatedString. + */ + /** * Constructs a new OptionalFields. * @exports jspb.test.OptionalFields + * @implements jspb.test.OptionalFields$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.OptionalFields$Properties=} [properties] Properties to set */ function OptionalFields(properties) { this.aRepeatedMessage = []; @@ -1030,39 +1038,15 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * OptionalFields aString. - * @type {string|undefined} - */ OptionalFields.prototype.aString = ""; - - /** - * OptionalFields aBool. - * @type {boolean} - */ OptionalFields.prototype.aBool = false; - - /** - * OptionalFields aNestedMessage. - * @type {jspb.test.OptionalFields.Nested|undefined} - */ OptionalFields.prototype.aNestedMessage = null; - - /** - * OptionalFields aRepeatedMessage. - * @type {Array.|undefined} - */ OptionalFields.prototype.aRepeatedMessage = $util.emptyArray; - - /** - * OptionalFields aRepeatedString. - * @type {Array.|undefined} - */ OptionalFields.prototype.aRepeatedString = $util.emptyArray; /** * Creates a new OptionalFields instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.OptionalFields$Properties=} [properties] Properties to set * @returns {jspb.test.OptionalFields} OptionalFields instance */ OptionalFields.create = function create(properties) { @@ -1071,7 +1055,7 @@ $root.jspb = (function() { /** * Encodes the specified OptionalFields message. Does not implicitly {@link jspb.test.OptionalFields.verify|verify} messages. - * @param {jspb.test.OptionalFields|Object.} message OptionalFields message or plain object to encode + * @param {jspb.test.OptionalFields$Properties} message OptionalFields message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -1161,7 +1145,7 @@ $root.jspb = (function() { /** * Verifies an OptionalFields message. - * @param {Object.} message OptionalFields object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ OptionalFields.verify = function verify(message) { @@ -1300,11 +1284,19 @@ $root.jspb = (function() { OptionalFields.Nested = (function() { + /** + * Properties of a Nested. + * @typedef jspb.test.OptionalFields.Nested$Properties + * @type Object + * @property {number} [anInt] Nested anInt. + */ + /** * Constructs a new Nested. * @exports jspb.test.OptionalFields.Nested + * @implements jspb.test.OptionalFields.Nested$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.OptionalFields.Nested$Properties=} [properties] Properties to set */ function Nested(properties) { if (properties) @@ -1312,15 +1304,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Nested anInt. - * @type {number|undefined} - */ Nested.prototype.anInt = 0; /** * Creates a new Nested instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.OptionalFields.Nested$Properties=} [properties] Properties to set * @returns {jspb.test.OptionalFields.Nested} Nested instance */ Nested.create = function create(properties) { @@ -1329,7 +1317,7 @@ $root.jspb = (function() { /** * Encodes the specified Nested message. Does not implicitly {@link jspb.test.OptionalFields.Nested.verify|verify} messages. - * @param {jspb.test.OptionalFields.Nested|Object.} message Nested message or plain object to encode + * @param {jspb.test.OptionalFields.Nested$Properties} message Nested message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -1392,7 +1380,7 @@ $root.jspb = (function() { /** * Verifies a Nested message. - * @param {Object.} message Nested object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Nested.verify = function verify(message) { @@ -1469,11 +1457,27 @@ $root.jspb = (function() { test.HasExtensions = (function() { + /** + * Properties of a HasExtensions. + * @typedef jspb.test.HasExtensions$Properties + * @type Object + * @property {string} [str1] HasExtensions str1. + * @property {string} [str2] HasExtensions str2. + * @property {string} [str3] HasExtensions str3. + * @property {jspb.test.IsExtension} [.jspb.test.IsExtension.extField] HasExtensions .jspb.test.IsExtension.extField. + * @property {jspb.test.Simple1} [.jspb.test.IndirectExtension.simple] HasExtensions .jspb.test.IndirectExtension.simple. + * @property {string} [.jspb.test.IndirectExtension.str] HasExtensions .jspb.test.IndirectExtension.str. + * @property {Array.} [.jspb.test.IndirectExtension.repeatedStr] HasExtensions .jspb.test.IndirectExtension.repeatedStr. + * @property {Array.} [.jspb.test.IndirectExtension.repeatedSimple] HasExtensions .jspb.test.IndirectExtension.repeatedSimple. + * @property {jspb.test.Simple1} [.jspb.test.simple1] HasExtensions .jspb.test.simple1. + */ + /** * Constructs a new HasExtensions. * @exports jspb.test.HasExtensions + * @implements jspb.test.HasExtensions$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.HasExtensions$Properties=} [properties] Properties to set */ function HasExtensions(properties) { this[".jspb.test.IndirectExtension.repeatedStr"] = []; @@ -1483,69 +1487,19 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * HasExtensions str1. - * @type {string|undefined} - */ HasExtensions.prototype.str1 = ""; - - /** - * HasExtensions str2. - * @type {string|undefined} - */ HasExtensions.prototype.str2 = ""; - - /** - * HasExtensions str3. - * @type {string|undefined} - */ HasExtensions.prototype.str3 = ""; - - /** - * HasExtensions .jspb.test.IsExtension.extField. - * @name jspb.test.HasExtensions#.jspb.test.IsExtension.extField - * @type {jspb.test.IsExtension|undefined} - */ HasExtensions.prototype[".jspb.test.IsExtension.extField"] = null; - - /** - * HasExtensions .jspb.test.IndirectExtension.simple. - * @name jspb.test.HasExtensions#.jspb.test.IndirectExtension.simple - * @type {jspb.test.Simple1|undefined} - */ HasExtensions.prototype[".jspb.test.IndirectExtension.simple"] = null; - - /** - * HasExtensions .jspb.test.IndirectExtension.str. - * @name jspb.test.HasExtensions#.jspb.test.IndirectExtension.str - * @type {string|undefined} - */ HasExtensions.prototype[".jspb.test.IndirectExtension.str"] = ""; - - /** - * HasExtensions .jspb.test.IndirectExtension.repeatedStr. - * @name jspb.test.HasExtensions#.jspb.test.IndirectExtension.repeatedStr - * @type {Array.|undefined} - */ HasExtensions.prototype[".jspb.test.IndirectExtension.repeatedStr"] = $util.emptyArray; - - /** - * HasExtensions .jspb.test.IndirectExtension.repeatedSimple. - * @name jspb.test.HasExtensions#.jspb.test.IndirectExtension.repeatedSimple - * @type {Array.|undefined} - */ HasExtensions.prototype[".jspb.test.IndirectExtension.repeatedSimple"] = $util.emptyArray; - - /** - * HasExtensions .jspb.test.simple1. - * @name jspb.test.HasExtensions#.jspb.test.simple1 - * @type {jspb.test.Simple1|undefined} - */ HasExtensions.prototype[".jspb.test.simple1"] = null; /** * Creates a new HasExtensions instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.HasExtensions$Properties=} [properties] Properties to set * @returns {jspb.test.HasExtensions} HasExtensions instance */ HasExtensions.create = function create(properties) { @@ -1554,7 +1508,7 @@ $root.jspb = (function() { /** * Encodes the specified HasExtensions message. Does not implicitly {@link jspb.test.HasExtensions.verify|verify} messages. - * @param {jspb.test.HasExtensions|Object.} message HasExtensions message or plain object to encode + * @param {jspb.test.HasExtensions$Properties} message HasExtensions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -1663,7 +1617,7 @@ $root.jspb = (function() { /** * Verifies a HasExtensions message. - * @param {Object.} message HasExtensions object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ HasExtensions.verify = function verify(message) { @@ -1848,11 +1802,23 @@ $root.jspb = (function() { test.Complex = (function() { + /** + * Properties of a Complex. + * @typedef jspb.test.Complex$Properties + * @type Object + * @property {string} aString Complex aString. + * @property {boolean} anOutOfOrderBool Complex anOutOfOrderBool. + * @property {jspb.test.Complex.Nested} [aNestedMessage] Complex aNestedMessage. + * @property {Array.} [aRepeatedMessage] Complex aRepeatedMessage. + * @property {Array.} [aRepeatedString] Complex aRepeatedString. + */ + /** * Constructs a new Complex. * @exports jspb.test.Complex + * @implements jspb.test.Complex$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Complex$Properties=} [properties] Properties to set */ function Complex(properties) { this.aRepeatedMessage = []; @@ -1862,39 +1828,15 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Complex aString. - * @type {string} - */ Complex.prototype.aString = ""; - - /** - * Complex anOutOfOrderBool. - * @type {boolean} - */ Complex.prototype.anOutOfOrderBool = false; - - /** - * Complex aNestedMessage. - * @type {jspb.test.Complex.Nested|undefined} - */ Complex.prototype.aNestedMessage = null; - - /** - * Complex aRepeatedMessage. - * @type {Array.|undefined} - */ Complex.prototype.aRepeatedMessage = $util.emptyArray; - - /** - * Complex aRepeatedString. - * @type {Array.|undefined} - */ Complex.prototype.aRepeatedString = $util.emptyArray; /** * Creates a new Complex instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Complex$Properties=} [properties] Properties to set * @returns {jspb.test.Complex} Complex instance */ Complex.create = function create(properties) { @@ -1903,7 +1845,7 @@ $root.jspb = (function() { /** * Encodes the specified Complex message. Does not implicitly {@link jspb.test.Complex.verify|verify} messages. - * @param {jspb.test.Complex|Object.} message Complex message or plain object to encode + * @param {jspb.test.Complex$Properties} message Complex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -1994,7 +1936,7 @@ $root.jspb = (function() { /** * Verifies a Complex message. - * @param {Object.} message Complex object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Complex.verify = function verify(message) { @@ -2132,11 +2074,19 @@ $root.jspb = (function() { Complex.Nested = (function() { + /** + * Properties of a Nested. + * @typedef jspb.test.Complex.Nested$Properties + * @type Object + * @property {number} anInt Nested anInt. + */ + /** * Constructs a new Nested. * @exports jspb.test.Complex.Nested + * @implements jspb.test.Complex.Nested$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Complex.Nested$Properties=} [properties] Properties to set */ function Nested(properties) { if (properties) @@ -2144,15 +2094,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Nested anInt. - * @type {number} - */ Nested.prototype.anInt = 0; /** * Creates a new Nested instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Complex.Nested$Properties=} [properties] Properties to set * @returns {jspb.test.Complex.Nested} Nested instance */ Nested.create = function create(properties) { @@ -2161,7 +2107,7 @@ $root.jspb = (function() { /** * Encodes the specified Nested message. Does not implicitly {@link jspb.test.Complex.Nested.verify|verify} messages. - * @param {jspb.test.Complex.Nested|Object.} message Nested message or plain object to encode + * @param {jspb.test.Complex.Nested$Properties} message Nested message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -2225,7 +2171,7 @@ $root.jspb = (function() { /** * Verifies a Nested message. - * @param {Object.} message Nested object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Nested.verify = function verify(message) { @@ -2301,11 +2247,18 @@ $root.jspb = (function() { test.OuterMessage = (function() { + /** + * Properties of an OuterMessage. + * @typedef jspb.test.OuterMessage$Properties + * @type Object + */ + /** * Constructs a new OuterMessage. * @exports jspb.test.OuterMessage + * @implements jspb.test.OuterMessage$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.OuterMessage$Properties=} [properties] Properties to set */ function OuterMessage(properties) { if (properties) @@ -2315,7 +2268,7 @@ $root.jspb = (function() { /** * Creates a new OuterMessage instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.OuterMessage$Properties=} [properties] Properties to set * @returns {jspb.test.OuterMessage} OuterMessage instance */ OuterMessage.create = function create(properties) { @@ -2324,7 +2277,7 @@ $root.jspb = (function() { /** * Encodes the specified OuterMessage message. Does not implicitly {@link jspb.test.OuterMessage.verify|verify} messages. - * @param {jspb.test.OuterMessage|Object.} message OuterMessage message or plain object to encode + * @param {jspb.test.OuterMessage$Properties} message OuterMessage message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -2382,7 +2335,7 @@ $root.jspb = (function() { /** * Verifies an OuterMessage message. - * @param {Object.} message OuterMessage object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ OuterMessage.verify = function verify(message) { @@ -2440,11 +2393,19 @@ $root.jspb = (function() { OuterMessage.Complex = (function() { + /** + * Properties of a Complex. + * @typedef jspb.test.OuterMessage.Complex$Properties + * @type Object + * @property {number} [innerComplexField] Complex innerComplexField. + */ + /** * Constructs a new Complex. * @exports jspb.test.OuterMessage.Complex + * @implements jspb.test.OuterMessage.Complex$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.OuterMessage.Complex$Properties=} [properties] Properties to set */ function Complex(properties) { if (properties) @@ -2452,15 +2413,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Complex innerComplexField. - * @type {number|undefined} - */ Complex.prototype.innerComplexField = 0; /** * Creates a new Complex instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.OuterMessage.Complex$Properties=} [properties] Properties to set * @returns {jspb.test.OuterMessage.Complex} Complex instance */ Complex.create = function create(properties) { @@ -2469,7 +2426,7 @@ $root.jspb = (function() { /** * Encodes the specified Complex message. Does not implicitly {@link jspb.test.OuterMessage.Complex.verify|verify} messages. - * @param {jspb.test.OuterMessage.Complex|Object.} message Complex message or plain object to encode + * @param {jspb.test.OuterMessage.Complex$Properties} message Complex message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -2532,7 +2489,7 @@ $root.jspb = (function() { /** * Verifies a Complex message. - * @param {Object.} message Complex object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Complex.verify = function verify(message) { @@ -2609,11 +2566,19 @@ $root.jspb = (function() { test.IsExtension = (function() { + /** + * Properties of an IsExtension. + * @typedef jspb.test.IsExtension$Properties + * @type Object + * @property {string} [ext1] IsExtension ext1. + */ + /** * Constructs a new IsExtension. * @exports jspb.test.IsExtension + * @implements jspb.test.IsExtension$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.IsExtension$Properties=} [properties] Properties to set */ function IsExtension(properties) { if (properties) @@ -2621,15 +2586,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * IsExtension ext1. - * @type {string|undefined} - */ IsExtension.prototype.ext1 = ""; /** * Creates a new IsExtension instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.IsExtension$Properties=} [properties] Properties to set * @returns {jspb.test.IsExtension} IsExtension instance */ IsExtension.create = function create(properties) { @@ -2638,7 +2599,7 @@ $root.jspb = (function() { /** * Encodes the specified IsExtension message. Does not implicitly {@link jspb.test.IsExtension.verify|verify} messages. - * @param {jspb.test.IsExtension|Object.} message IsExtension message or plain object to encode + * @param {jspb.test.IsExtension$Properties} message IsExtension message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -2701,7 +2662,7 @@ $root.jspb = (function() { /** * Verifies an IsExtension message. - * @param {Object.} message IsExtension object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ IsExtension.verify = function verify(message) { @@ -2775,11 +2736,18 @@ $root.jspb = (function() { test.IndirectExtension = (function() { + /** + * Properties of an IndirectExtension. + * @typedef jspb.test.IndirectExtension$Properties + * @type Object + */ + /** * Constructs a new IndirectExtension. * @exports jspb.test.IndirectExtension + * @implements jspb.test.IndirectExtension$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.IndirectExtension$Properties=} [properties] Properties to set */ function IndirectExtension(properties) { if (properties) @@ -2789,7 +2757,7 @@ $root.jspb = (function() { /** * Creates a new IndirectExtension instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.IndirectExtension$Properties=} [properties] Properties to set * @returns {jspb.test.IndirectExtension} IndirectExtension instance */ IndirectExtension.create = function create(properties) { @@ -2798,7 +2766,7 @@ $root.jspb = (function() { /** * Encodes the specified IndirectExtension message. Does not implicitly {@link jspb.test.IndirectExtension.verify|verify} messages. - * @param {jspb.test.IndirectExtension|Object.} message IndirectExtension message or plain object to encode + * @param {jspb.test.IndirectExtension$Properties} message IndirectExtension message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -2856,7 +2824,7 @@ $root.jspb = (function() { /** * Verifies an IndirectExtension message. - * @param {Object.} message IndirectExtension object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ IndirectExtension.verify = function verify(message) { @@ -2917,11 +2885,24 @@ $root.jspb = (function() { test.DefaultValues = (function() { + /** + * Properties of a DefaultValues. + * @typedef jspb.test.DefaultValues$Properties + * @type Object + * @property {string} [stringField] DefaultValues stringField. + * @property {boolean} [boolField] DefaultValues boolField. + * @property {number|$protobuf.Long} [intField] DefaultValues intField. + * @property {number} [enumField] DefaultValues enumField. + * @property {string} [emptyField] DefaultValues emptyField. + * @property {Uint8Array} [bytesField] DefaultValues bytesField. + */ + /** * Constructs a new DefaultValues. * @exports jspb.test.DefaultValues + * @implements jspb.test.DefaultValues$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.DefaultValues$Properties=} [properties] Properties to set */ function DefaultValues(properties) { if (properties) @@ -2929,45 +2910,16 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * DefaultValues stringField. - * @type {string|undefined} - */ DefaultValues.prototype.stringField = "default<>abc"; - - /** - * DefaultValues boolField. - * @type {boolean|undefined} - */ DefaultValues.prototype.boolField = true; - - /** - * DefaultValues intField. - * @type {number|$protobuf.Long|undefined} - */ DefaultValues.prototype.intField = $util.Long ? $util.Long.fromBits(11,0,false) : 11; - - /** - * DefaultValues enumField. - * @type {number|undefined} - */ DefaultValues.prototype.enumField = 13; - - /** - * DefaultValues emptyField. - * @type {string|undefined} - */ DefaultValues.prototype.emptyField = ""; - - /** - * DefaultValues bytesField. - * @type {Uint8Array|undefined} - */ DefaultValues.prototype.bytesField = $util.newBuffer([109,111,111]); /** * Creates a new DefaultValues instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.DefaultValues$Properties=} [properties] Properties to set * @returns {jspb.test.DefaultValues} DefaultValues instance */ DefaultValues.create = function create(properties) { @@ -2976,7 +2928,7 @@ $root.jspb = (function() { /** * Encodes the specified DefaultValues message. Does not implicitly {@link jspb.test.DefaultValues.verify|verify} messages. - * @param {jspb.test.DefaultValues|Object.} message DefaultValues message or plain object to encode + * @param {jspb.test.DefaultValues$Properties} message DefaultValues message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -3064,7 +3016,7 @@ $root.jspb = (function() { /** * Verifies a DefaultValues message. - * @param {Object.} message DefaultValues object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ DefaultValues.verify = function verify(message) { @@ -3228,11 +3180,26 @@ $root.jspb = (function() { test.FloatingPointFields = (function() { + /** + * Properties of a FloatingPointFields. + * @typedef jspb.test.FloatingPointFields$Properties + * @type Object + * @property {number} [optionalFloatField] FloatingPointFields optionalFloatField. + * @property {number} requiredFloatField FloatingPointFields requiredFloatField. + * @property {Array.} [repeatedFloatField] FloatingPointFields repeatedFloatField. + * @property {number} [defaultFloatField] FloatingPointFields defaultFloatField. + * @property {number} [optionalDoubleField] FloatingPointFields optionalDoubleField. + * @property {number} requiredDoubleField FloatingPointFields requiredDoubleField. + * @property {Array.} [repeatedDoubleField] FloatingPointFields repeatedDoubleField. + * @property {number} [defaultDoubleField] FloatingPointFields defaultDoubleField. + */ + /** * Constructs a new FloatingPointFields. * @exports jspb.test.FloatingPointFields + * @implements jspb.test.FloatingPointFields$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.FloatingPointFields$Properties=} [properties] Properties to set */ function FloatingPointFields(properties) { this.repeatedFloatField = []; @@ -3242,57 +3209,18 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * FloatingPointFields optionalFloatField. - * @type {number|undefined} - */ FloatingPointFields.prototype.optionalFloatField = 0; - - /** - * FloatingPointFields requiredFloatField. - * @type {number} - */ FloatingPointFields.prototype.requiredFloatField = 0; - - /** - * FloatingPointFields repeatedFloatField. - * @type {Array.|undefined} - */ FloatingPointFields.prototype.repeatedFloatField = $util.emptyArray; - - /** - * FloatingPointFields defaultFloatField. - * @type {number|undefined} - */ FloatingPointFields.prototype.defaultFloatField = 2; - - /** - * FloatingPointFields optionalDoubleField. - * @type {number|undefined} - */ FloatingPointFields.prototype.optionalDoubleField = 0; - - /** - * FloatingPointFields requiredDoubleField. - * @type {number} - */ FloatingPointFields.prototype.requiredDoubleField = 0; - - /** - * FloatingPointFields repeatedDoubleField. - * @type {Array.|undefined} - */ FloatingPointFields.prototype.repeatedDoubleField = $util.emptyArray; - - /** - * FloatingPointFields defaultDoubleField. - * @type {number|undefined} - */ FloatingPointFields.prototype.defaultDoubleField = 2; /** * Creates a new FloatingPointFields instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.FloatingPointFields$Properties=} [properties] Properties to set * @returns {jspb.test.FloatingPointFields} FloatingPointFields instance */ FloatingPointFields.create = function create(properties) { @@ -3301,7 +3229,7 @@ $root.jspb = (function() { /** * Encodes the specified FloatingPointFields message. Does not implicitly {@link jspb.test.FloatingPointFields.verify|verify} messages. - * @param {jspb.test.FloatingPointFields|Object.} message FloatingPointFields message or plain object to encode + * @param {jspb.test.FloatingPointFields$Properties} message FloatingPointFields message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -3417,7 +3345,7 @@ $root.jspb = (function() { /** * Verifies a FloatingPointFields message. - * @param {Object.} message FloatingPointFields object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ FloatingPointFields.verify = function verify(message) { @@ -3572,11 +3500,24 @@ $root.jspb = (function() { test.TestClone = (function() { + /** + * Properties of a TestClone. + * @typedef jspb.test.TestClone$Properties + * @type Object + * @property {string} [str] TestClone str. + * @property {jspb.test.Simple1} [simple1] TestClone simple1. + * @property {Array.} [simple2] TestClone simple2. + * @property {Uint8Array} [bytesField] TestClone bytesField. + * @property {string} [unused] TestClone unused. + * @property {jspb.test.CloneExtension} [.jspb.test.CloneExtension.extField] TestClone .jspb.test.CloneExtension.extField. + */ + /** * Constructs a new TestClone. * @exports jspb.test.TestClone + * @implements jspb.test.TestClone$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestClone$Properties=} [properties] Properties to set */ function TestClone(properties) { this.simple2 = []; @@ -3585,46 +3526,16 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * TestClone str. - * @type {string|undefined} - */ TestClone.prototype.str = ""; - - /** - * TestClone simple1. - * @type {jspb.test.Simple1|undefined} - */ TestClone.prototype.simple1 = null; - - /** - * TestClone simple2. - * @type {Array.|undefined} - */ TestClone.prototype.simple2 = $util.emptyArray; - - /** - * TestClone bytesField. - * @type {Uint8Array|undefined} - */ TestClone.prototype.bytesField = $util.newBuffer([]); - - /** - * TestClone unused. - * @type {string|undefined} - */ TestClone.prototype.unused = ""; - - /** - * TestClone .jspb.test.CloneExtension.extField. - * @name jspb.test.TestClone#.jspb.test.CloneExtension.extField - * @type {jspb.test.CloneExtension|undefined} - */ TestClone.prototype[".jspb.test.CloneExtension.extField"] = null; /** * Creates a new TestClone instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestClone$Properties=} [properties] Properties to set * @returns {jspb.test.TestClone} TestClone instance */ TestClone.create = function create(properties) { @@ -3633,7 +3544,7 @@ $root.jspb = (function() { /** * Encodes the specified TestClone message. Does not implicitly {@link jspb.test.TestClone.verify|verify} messages. - * @param {jspb.test.TestClone|Object.} message TestClone message or plain object to encode + * @param {jspb.test.TestClone$Properties} message TestClone message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -3724,7 +3635,7 @@ $root.jspb = (function() { /** * Verifies a TestClone message. - * @param {Object.} message TestClone object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ TestClone.verify = function verify(message) { @@ -3870,11 +3781,19 @@ $root.jspb = (function() { test.CloneExtension = (function() { + /** + * Properties of a CloneExtension. + * @typedef jspb.test.CloneExtension$Properties + * @type Object + * @property {string} [ext] CloneExtension ext. + */ + /** * Constructs a new CloneExtension. * @exports jspb.test.CloneExtension + * @implements jspb.test.CloneExtension$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.CloneExtension$Properties=} [properties] Properties to set */ function CloneExtension(properties) { if (properties) @@ -3882,15 +3801,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * CloneExtension ext. - * @type {string|undefined} - */ CloneExtension.prototype.ext = ""; /** * Creates a new CloneExtension instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.CloneExtension$Properties=} [properties] Properties to set * @returns {jspb.test.CloneExtension} CloneExtension instance */ CloneExtension.create = function create(properties) { @@ -3899,7 +3814,7 @@ $root.jspb = (function() { /** * Encodes the specified CloneExtension message. Does not implicitly {@link jspb.test.CloneExtension.verify|verify} messages. - * @param {jspb.test.CloneExtension|Object.} message CloneExtension message or plain object to encode + * @param {jspb.test.CloneExtension$Properties} message CloneExtension message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -3962,7 +3877,7 @@ $root.jspb = (function() { /** * Verifies a CloneExtension message. - * @param {Object.} message CloneExtension object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ CloneExtension.verify = function verify(message) { @@ -4036,11 +3951,24 @@ $root.jspb = (function() { test.TestGroup = (function() { + /** + * Properties of a TestGroup. + * @typedef jspb.test.TestGroup$Properties + * @type Object + * @property {Array.} [repeatedGroup] TestGroup repeatedGroup. + * @property {jspb.test.TestGroup.RequiredGroup} requiredGroup TestGroup requiredGroup. + * @property {jspb.test.TestGroup.OptionalGroup} [optionalGroup] TestGroup optionalGroup. + * @property {string} [id] TestGroup id. + * @property {jspb.test.Simple2} requiredSimple TestGroup requiredSimple. + * @property {jspb.test.Simple2} [optionalSimple] TestGroup optionalSimple. + */ + /** * Constructs a new TestGroup. * @exports jspb.test.TestGroup + * @implements jspb.test.TestGroup$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestGroup$Properties=} [properties] Properties to set */ function TestGroup(properties) { this.repeatedGroup = []; @@ -4049,45 +3977,16 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * TestGroup repeatedGroup. - * @type {Array.|undefined} - */ TestGroup.prototype.repeatedGroup = $util.emptyArray; - - /** - * TestGroup requiredGroup. - * @type {jspb.test.TestGroup.RequiredGroup} - */ TestGroup.prototype.requiredGroup = null; - - /** - * TestGroup optionalGroup. - * @type {jspb.test.TestGroup.OptionalGroup|undefined} - */ TestGroup.prototype.optionalGroup = null; - - /** - * TestGroup id. - * @type {string|undefined} - */ TestGroup.prototype.id = ""; - - /** - * TestGroup requiredSimple. - * @type {jspb.test.Simple2} - */ TestGroup.prototype.requiredSimple = null; - - /** - * TestGroup optionalSimple. - * @type {jspb.test.Simple2|undefined} - */ TestGroup.prototype.optionalSimple = null; /** * Creates a new TestGroup instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestGroup$Properties=} [properties] Properties to set * @returns {jspb.test.TestGroup} TestGroup instance */ TestGroup.create = function create(properties) { @@ -4096,7 +3995,7 @@ $root.jspb = (function() { /** * Encodes the specified TestGroup message. Does not implicitly {@link jspb.test.TestGroup.verify|verify} messages. - * @param {jspb.test.TestGroup|Object.} message TestGroup message or plain object to encode + * @param {jspb.test.TestGroup$Properties} message TestGroup message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -4189,7 +4088,7 @@ $root.jspb = (function() { /** * Verifies a TestGroup message. - * @param {Object.} message TestGroup object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ TestGroup.verify = function verify(message) { @@ -4335,11 +4234,20 @@ $root.jspb = (function() { TestGroup.RepeatedGroup = (function() { + /** + * Properties of a RepeatedGroup. + * @typedef jspb.test.TestGroup.RepeatedGroup$Properties + * @type Object + * @property {string} id RepeatedGroup id. + * @property {Array.} [someBool] RepeatedGroup someBool. + */ + /** * Constructs a new RepeatedGroup. * @exports jspb.test.TestGroup.RepeatedGroup + * @implements jspb.test.TestGroup.RepeatedGroup$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestGroup.RepeatedGroup$Properties=} [properties] Properties to set */ function RepeatedGroup(properties) { this.someBool = []; @@ -4348,21 +4256,12 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * RepeatedGroup id. - * @type {string} - */ RepeatedGroup.prototype.id = ""; - - /** - * RepeatedGroup someBool. - * @type {Array.|undefined} - */ RepeatedGroup.prototype.someBool = $util.emptyArray; /** * Creates a new RepeatedGroup instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestGroup.RepeatedGroup$Properties=} [properties] Properties to set * @returns {jspb.test.TestGroup.RepeatedGroup} RepeatedGroup instance */ RepeatedGroup.create = function create(properties) { @@ -4371,7 +4270,7 @@ $root.jspb = (function() { /** * Encodes the specified RepeatedGroup message. Does not implicitly {@link jspb.test.TestGroup.RepeatedGroup.verify|verify} messages. - * @param {jspb.test.TestGroup.RepeatedGroup|Object.} message RepeatedGroup message or plain object to encode + * @param {jspb.test.TestGroup.RepeatedGroup$Properties} message RepeatedGroup message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -4450,7 +4349,7 @@ $root.jspb = (function() { /** * Verifies a RepeatedGroup message. - * @param {Object.} message RepeatedGroup object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ RepeatedGroup.verify = function verify(message) { @@ -4544,11 +4443,19 @@ $root.jspb = (function() { TestGroup.RequiredGroup = (function() { + /** + * Properties of a RequiredGroup. + * @typedef jspb.test.TestGroup.RequiredGroup$Properties + * @type Object + * @property {string} id RequiredGroup id. + */ + /** * Constructs a new RequiredGroup. * @exports jspb.test.TestGroup.RequiredGroup + * @implements jspb.test.TestGroup.RequiredGroup$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestGroup.RequiredGroup$Properties=} [properties] Properties to set */ function RequiredGroup(properties) { if (properties) @@ -4556,15 +4463,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * RequiredGroup id. - * @type {string} - */ RequiredGroup.prototype.id = ""; /** * Creates a new RequiredGroup instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestGroup.RequiredGroup$Properties=} [properties] Properties to set * @returns {jspb.test.TestGroup.RequiredGroup} RequiredGroup instance */ RequiredGroup.create = function create(properties) { @@ -4573,7 +4476,7 @@ $root.jspb = (function() { /** * Encodes the specified RequiredGroup message. Does not implicitly {@link jspb.test.TestGroup.RequiredGroup.verify|verify} messages. - * @param {jspb.test.TestGroup.RequiredGroup|Object.} message RequiredGroup message or plain object to encode + * @param {jspb.test.TestGroup.RequiredGroup$Properties} message RequiredGroup message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -4639,7 +4542,7 @@ $root.jspb = (function() { /** * Verifies a RequiredGroup message. - * @param {Object.} message RequiredGroup object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ RequiredGroup.verify = function verify(message) { @@ -4712,11 +4615,19 @@ $root.jspb = (function() { TestGroup.OptionalGroup = (function() { + /** + * Properties of an OptionalGroup. + * @typedef jspb.test.TestGroup.OptionalGroup$Properties + * @type Object + * @property {string} id OptionalGroup id. + */ + /** * Constructs a new OptionalGroup. * @exports jspb.test.TestGroup.OptionalGroup + * @implements jspb.test.TestGroup.OptionalGroup$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestGroup.OptionalGroup$Properties=} [properties] Properties to set */ function OptionalGroup(properties) { if (properties) @@ -4724,15 +4635,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * OptionalGroup id. - * @type {string} - */ OptionalGroup.prototype.id = ""; /** * Creates a new OptionalGroup instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestGroup.OptionalGroup$Properties=} [properties] Properties to set * @returns {jspb.test.TestGroup.OptionalGroup} OptionalGroup instance */ OptionalGroup.create = function create(properties) { @@ -4741,7 +4648,7 @@ $root.jspb = (function() { /** * Encodes the specified OptionalGroup message. Does not implicitly {@link jspb.test.TestGroup.OptionalGroup.verify|verify} messages. - * @param {jspb.test.TestGroup.OptionalGroup|Object.} message OptionalGroup message or plain object to encode + * @param {jspb.test.TestGroup.OptionalGroup$Properties} message OptionalGroup message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -4807,7 +4714,7 @@ $root.jspb = (function() { /** * Verifies an OptionalGroup message. - * @param {Object.} message OptionalGroup object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ OptionalGroup.verify = function verify(message) { @@ -4883,11 +4790,19 @@ $root.jspb = (function() { test.TestGroup1 = (function() { + /** + * Properties of a TestGroup1. + * @typedef jspb.test.TestGroup1$Properties + * @type Object + * @property {jspb.test.TestGroup.RepeatedGroup} [group] TestGroup1 group. + */ + /** * Constructs a new TestGroup1. * @exports jspb.test.TestGroup1 + * @implements jspb.test.TestGroup1$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestGroup1$Properties=} [properties] Properties to set */ function TestGroup1(properties) { if (properties) @@ -4895,15 +4810,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * TestGroup1 group. - * @type {jspb.test.TestGroup.RepeatedGroup|undefined} - */ TestGroup1.prototype.group = null; /** * Creates a new TestGroup1 instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestGroup1$Properties=} [properties] Properties to set * @returns {jspb.test.TestGroup1} TestGroup1 instance */ TestGroup1.create = function create(properties) { @@ -4912,7 +4823,7 @@ $root.jspb = (function() { /** * Encodes the specified TestGroup1 message. Does not implicitly {@link jspb.test.TestGroup1.verify|verify} messages. - * @param {jspb.test.TestGroup1|Object.} message TestGroup1 message or plain object to encode + * @param {jspb.test.TestGroup1$Properties} message TestGroup1 message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -4975,7 +4886,7 @@ $root.jspb = (function() { /** * Verifies a TestGroup1 message. - * @param {Object.} message TestGroup1 object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ TestGroup1.verify = function verify(message) { @@ -5054,11 +4965,20 @@ $root.jspb = (function() { test.TestReservedNames = (function() { + /** + * Properties of a TestReservedNames. + * @typedef jspb.test.TestReservedNames$Properties + * @type Object + * @property {number} [extension] TestReservedNames extension. + * @property {number} [.jspb.test.TestReservedNamesExtension.foo] TestReservedNames .jspb.test.TestReservedNamesExtension.foo. + */ + /** * Constructs a new TestReservedNames. * @exports jspb.test.TestReservedNames + * @implements jspb.test.TestReservedNames$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestReservedNames$Properties=} [properties] Properties to set */ function TestReservedNames(properties) { if (properties) @@ -5066,22 +4986,12 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * TestReservedNames extension. - * @type {number|undefined} - */ TestReservedNames.prototype.extension = 0; - - /** - * TestReservedNames .jspb.test.TestReservedNamesExtension.foo. - * @name jspb.test.TestReservedNames#.jspb.test.TestReservedNamesExtension.foo - * @type {number|undefined} - */ TestReservedNames.prototype[".jspb.test.TestReservedNamesExtension.foo"] = 0; /** * Creates a new TestReservedNames instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestReservedNames$Properties=} [properties] Properties to set * @returns {jspb.test.TestReservedNames} TestReservedNames instance */ TestReservedNames.create = function create(properties) { @@ -5090,7 +5000,7 @@ $root.jspb = (function() { /** * Encodes the specified TestReservedNames message. Does not implicitly {@link jspb.test.TestReservedNames.verify|verify} messages. - * @param {jspb.test.TestReservedNames|Object.} message TestReservedNames message or plain object to encode + * @param {jspb.test.TestReservedNames$Properties} message TestReservedNames message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -5158,7 +5068,7 @@ $root.jspb = (function() { /** * Verifies a TestReservedNames message. - * @param {Object.} message TestReservedNames object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ TestReservedNames.verify = function verify(message) { @@ -5241,11 +5151,18 @@ $root.jspb = (function() { test.TestReservedNamesExtension = (function() { + /** + * Properties of a TestReservedNamesExtension. + * @typedef jspb.test.TestReservedNamesExtension$Properties + * @type Object + */ + /** * Constructs a new TestReservedNamesExtension. * @exports jspb.test.TestReservedNamesExtension + * @implements jspb.test.TestReservedNamesExtension$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestReservedNamesExtension$Properties=} [properties] Properties to set */ function TestReservedNamesExtension(properties) { if (properties) @@ -5255,7 +5172,7 @@ $root.jspb = (function() { /** * Creates a new TestReservedNamesExtension instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestReservedNamesExtension$Properties=} [properties] Properties to set * @returns {jspb.test.TestReservedNamesExtension} TestReservedNamesExtension instance */ TestReservedNamesExtension.create = function create(properties) { @@ -5264,7 +5181,7 @@ $root.jspb = (function() { /** * Encodes the specified TestReservedNamesExtension message. Does not implicitly {@link jspb.test.TestReservedNamesExtension.verify|verify} messages. - * @param {jspb.test.TestReservedNamesExtension|Object.} message TestReservedNamesExtension message or plain object to encode + * @param {jspb.test.TestReservedNamesExtension$Properties} message TestReservedNamesExtension message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -5322,7 +5239,7 @@ $root.jspb = (function() { /** * Verifies a TestReservedNamesExtension message. - * @param {Object.} message TestReservedNamesExtension object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ TestReservedNamesExtension.verify = function verify(message) { @@ -5383,11 +5300,28 @@ $root.jspb = (function() { test.TestMessageWithOneof = (function() { + /** + * Properties of a TestMessageWithOneof. + * @typedef jspb.test.TestMessageWithOneof$Properties + * @type Object + * @property {string} [pone] TestMessageWithOneof pone. + * @property {string} [pthree] TestMessageWithOneof pthree. + * @property {jspb.test.TestMessageWithOneof} [rone] TestMessageWithOneof rone. + * @property {string} [rtwo] TestMessageWithOneof rtwo. + * @property {boolean} [normalField] TestMessageWithOneof normalField. + * @property {Array.} [repeatedField] TestMessageWithOneof repeatedField. + * @property {number} [aone] TestMessageWithOneof aone. + * @property {number} [atwo] TestMessageWithOneof atwo. + * @property {number} [bone] TestMessageWithOneof bone. + * @property {number} [btwo] TestMessageWithOneof btwo. + */ + /** * Constructs a new TestMessageWithOneof. * @exports jspb.test.TestMessageWithOneof + * @implements jspb.test.TestMessageWithOneof$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestMessageWithOneof$Properties=} [properties] Properties to set */ function TestMessageWithOneof(properties) { this.repeatedField = []; @@ -5396,64 +5330,15 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * TestMessageWithOneof pone. - * @type {string|undefined} - */ TestMessageWithOneof.prototype.pone = ""; - - /** - * TestMessageWithOneof pthree. - * @type {string|undefined} - */ TestMessageWithOneof.prototype.pthree = ""; - - /** - * TestMessageWithOneof rone. - * @type {jspb.test.TestMessageWithOneof|undefined} - */ TestMessageWithOneof.prototype.rone = null; - - /** - * TestMessageWithOneof rtwo. - * @type {string|undefined} - */ TestMessageWithOneof.prototype.rtwo = ""; - - /** - * TestMessageWithOneof normalField. - * @type {boolean|undefined} - */ TestMessageWithOneof.prototype.normalField = false; - - /** - * TestMessageWithOneof repeatedField. - * @type {Array.|undefined} - */ TestMessageWithOneof.prototype.repeatedField = $util.emptyArray; - - /** - * TestMessageWithOneof aone. - * @type {number|undefined} - */ TestMessageWithOneof.prototype.aone = 1234; - - /** - * TestMessageWithOneof atwo. - * @type {number|undefined} - */ TestMessageWithOneof.prototype.atwo = 0; - - /** - * TestMessageWithOneof bone. - * @type {number|undefined} - */ TestMessageWithOneof.prototype.bone = 0; - - /** - * TestMessageWithOneof btwo. - * @type {number|undefined} - */ TestMessageWithOneof.prototype.btwo = 1234; // OneOf field names bound to virtual getters and setters @@ -5501,7 +5386,7 @@ $root.jspb = (function() { /** * Creates a new TestMessageWithOneof instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestMessageWithOneof$Properties=} [properties] Properties to set * @returns {jspb.test.TestMessageWithOneof} TestMessageWithOneof instance */ TestMessageWithOneof.create = function create(properties) { @@ -5510,7 +5395,7 @@ $root.jspb = (function() { /** * Encodes the specified TestMessageWithOneof message. Does not implicitly {@link jspb.test.TestMessageWithOneof.verify|verify} messages. - * @param {jspb.test.TestMessageWithOneof|Object.} message TestMessageWithOneof message or plain object to encode + * @param {jspb.test.TestMessageWithOneof$Properties} message TestMessageWithOneof message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -5621,7 +5506,7 @@ $root.jspb = (function() { /** * Verifies a TestMessageWithOneof message. - * @param {Object.} message TestMessageWithOneof object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ TestMessageWithOneof.verify = function verify(message) { @@ -5825,11 +5710,20 @@ $root.jspb = (function() { test.TestEndsWithBytes = (function() { + /** + * Properties of a TestEndsWithBytes. + * @typedef jspb.test.TestEndsWithBytes$Properties + * @type Object + * @property {number} [value] TestEndsWithBytes value. + * @property {Uint8Array} [data] TestEndsWithBytes data. + */ + /** * Constructs a new TestEndsWithBytes. * @exports jspb.test.TestEndsWithBytes + * @implements jspb.test.TestEndsWithBytes$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestEndsWithBytes$Properties=} [properties] Properties to set */ function TestEndsWithBytes(properties) { if (properties) @@ -5837,21 +5731,12 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * TestEndsWithBytes value. - * @type {number|undefined} - */ TestEndsWithBytes.prototype.value = 0; - - /** - * TestEndsWithBytes data. - * @type {Uint8Array|undefined} - */ TestEndsWithBytes.prototype.data = $util.newBuffer([]); /** * Creates a new TestEndsWithBytes instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestEndsWithBytes$Properties=} [properties] Properties to set * @returns {jspb.test.TestEndsWithBytes} TestEndsWithBytes instance */ TestEndsWithBytes.create = function create(properties) { @@ -5860,7 +5745,7 @@ $root.jspb = (function() { /** * Encodes the specified TestEndsWithBytes message. Does not implicitly {@link jspb.test.TestEndsWithBytes.verify|verify} messages. - * @param {jspb.test.TestEndsWithBytes|Object.} message TestEndsWithBytes message or plain object to encode + * @param {jspb.test.TestEndsWithBytes$Properties} message TestEndsWithBytes message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -5928,7 +5813,7 @@ $root.jspb = (function() { /** * Verifies a TestEndsWithBytes message. - * @param {Object.} message TestEndsWithBytes object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ TestEndsWithBytes.verify = function verify(message) { @@ -6014,11 +5899,30 @@ $root.jspb = (function() { test.TestMapFieldsNoBinary = (function() { + /** + * Properties of a TestMapFieldsNoBinary. + * @typedef jspb.test.TestMapFieldsNoBinary$Properties + * @type Object + * @property {Object.} [mapStringString] TestMapFieldsNoBinary mapStringString. + * @property {Object.} [mapStringInt32] TestMapFieldsNoBinary mapStringInt32. + * @property {Object.} [mapStringInt64] TestMapFieldsNoBinary mapStringInt64. + * @property {Object.} [mapStringBool] TestMapFieldsNoBinary mapStringBool. + * @property {Object.} [mapStringDouble] TestMapFieldsNoBinary mapStringDouble. + * @property {Object.} [mapStringEnum] TestMapFieldsNoBinary mapStringEnum. + * @property {Object.} [mapStringMsg] TestMapFieldsNoBinary mapStringMsg. + * @property {Object.} [mapInt32String] TestMapFieldsNoBinary mapInt32String. + * @property {Object.} [mapInt64String] TestMapFieldsNoBinary mapInt64String. + * @property {Object.} [mapBoolString] TestMapFieldsNoBinary mapBoolString. + * @property {jspb.test.TestMapFieldsNoBinary} [testMapFields] TestMapFieldsNoBinary testMapFields. + * @property {Object.} [mapStringTestmapfields] TestMapFieldsNoBinary mapStringTestmapfields. + */ + /** * Constructs a new TestMapFieldsNoBinary. * @exports jspb.test.TestMapFieldsNoBinary + * @implements jspb.test.TestMapFieldsNoBinary$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestMapFieldsNoBinary$Properties=} [properties] Properties to set */ function TestMapFieldsNoBinary(properties) { this.mapStringString = {}; @@ -6037,81 +5941,22 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * TestMapFieldsNoBinary mapStringString. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapStringString = $util.emptyObject; - - /** - * TestMapFieldsNoBinary mapStringInt32. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapStringInt32 = $util.emptyObject; - - /** - * TestMapFieldsNoBinary mapStringInt64. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapStringInt64 = $util.emptyObject; - - /** - * TestMapFieldsNoBinary mapStringBool. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapStringBool = $util.emptyObject; - - /** - * TestMapFieldsNoBinary mapStringDouble. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapStringDouble = $util.emptyObject; - - /** - * TestMapFieldsNoBinary mapStringEnum. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapStringEnum = $util.emptyObject; - - /** - * TestMapFieldsNoBinary mapStringMsg. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapStringMsg = $util.emptyObject; - - /** - * TestMapFieldsNoBinary mapInt32String. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapInt32String = $util.emptyObject; - - /** - * TestMapFieldsNoBinary mapInt64String. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapInt64String = $util.emptyObject; - - /** - * TestMapFieldsNoBinary mapBoolString. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapBoolString = $util.emptyObject; - - /** - * TestMapFieldsNoBinary testMapFields. - * @type {jspb.test.TestMapFieldsNoBinary|undefined} - */ TestMapFieldsNoBinary.prototype.testMapFields = null; - - /** - * TestMapFieldsNoBinary mapStringTestmapfields. - * @type {Object.|undefined} - */ TestMapFieldsNoBinary.prototype.mapStringTestmapfields = $util.emptyObject; /** * Creates a new TestMapFieldsNoBinary instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.TestMapFieldsNoBinary$Properties=} [properties] Properties to set * @returns {jspb.test.TestMapFieldsNoBinary} TestMapFieldsNoBinary instance */ TestMapFieldsNoBinary.create = function create(properties) { @@ -6120,7 +5965,7 @@ $root.jspb = (function() { /** * Encodes the specified TestMapFieldsNoBinary message. Does not implicitly {@link jspb.test.TestMapFieldsNoBinary.verify|verify} messages. - * @param {jspb.test.TestMapFieldsNoBinary|Object.} message TestMapFieldsNoBinary message or plain object to encode + * @param {jspb.test.TestMapFieldsNoBinary$Properties} message TestMapFieldsNoBinary message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -6308,7 +6153,7 @@ $root.jspb = (function() { /** * Verifies a TestMapFieldsNoBinary message. - * @param {Object.} message TestMapFieldsNoBinary object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ TestMapFieldsNoBinary.verify = function verify(message) { @@ -6686,11 +6531,19 @@ $root.jspb = (function() { test.MapValueMessageNoBinary = (function() { + /** + * Properties of a MapValueMessageNoBinary. + * @typedef jspb.test.MapValueMessageNoBinary$Properties + * @type Object + * @property {number} [foo] MapValueMessageNoBinary foo. + */ + /** * Constructs a new MapValueMessageNoBinary. * @exports jspb.test.MapValueMessageNoBinary + * @implements jspb.test.MapValueMessageNoBinary$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.MapValueMessageNoBinary$Properties=} [properties] Properties to set */ function MapValueMessageNoBinary(properties) { if (properties) @@ -6698,15 +6551,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * MapValueMessageNoBinary foo. - * @type {number|undefined} - */ MapValueMessageNoBinary.prototype.foo = 0; /** * Creates a new MapValueMessageNoBinary instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.MapValueMessageNoBinary$Properties=} [properties] Properties to set * @returns {jspb.test.MapValueMessageNoBinary} MapValueMessageNoBinary instance */ MapValueMessageNoBinary.create = function create(properties) { @@ -6715,7 +6564,7 @@ $root.jspb = (function() { /** * Encodes the specified MapValueMessageNoBinary message. Does not implicitly {@link jspb.test.MapValueMessageNoBinary.verify|verify} messages. - * @param {jspb.test.MapValueMessageNoBinary|Object.} message MapValueMessageNoBinary message or plain object to encode + * @param {jspb.test.MapValueMessageNoBinary$Properties} message MapValueMessageNoBinary message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -6778,7 +6627,7 @@ $root.jspb = (function() { /** * Verifies a MapValueMessageNoBinary message. - * @param {Object.} message MapValueMessageNoBinary object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ MapValueMessageNoBinary.verify = function verify(message) { @@ -6852,11 +6701,18 @@ $root.jspb = (function() { test.Deeply = (function() { + /** + * Properties of a Deeply. + * @typedef jspb.test.Deeply$Properties + * @type Object + */ + /** * Constructs a new Deeply. * @exports jspb.test.Deeply + * @implements jspb.test.Deeply$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Deeply$Properties=} [properties] Properties to set */ function Deeply(properties) { if (properties) @@ -6866,7 +6722,7 @@ $root.jspb = (function() { /** * Creates a new Deeply instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Deeply$Properties=} [properties] Properties to set * @returns {jspb.test.Deeply} Deeply instance */ Deeply.create = function create(properties) { @@ -6875,7 +6731,7 @@ $root.jspb = (function() { /** * Encodes the specified Deeply message. Does not implicitly {@link jspb.test.Deeply.verify|verify} messages. - * @param {jspb.test.Deeply|Object.} message Deeply message or plain object to encode + * @param {jspb.test.Deeply$Properties} message Deeply message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -6933,7 +6789,7 @@ $root.jspb = (function() { /** * Verifies a Deeply message. - * @param {Object.} message Deeply object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Deeply.verify = function verify(message) { @@ -6991,11 +6847,18 @@ $root.jspb = (function() { Deeply.Nested = (function() { + /** + * Properties of a Nested. + * @typedef jspb.test.Deeply.Nested$Properties + * @type Object + */ + /** * Constructs a new Nested. * @exports jspb.test.Deeply.Nested + * @implements jspb.test.Deeply.Nested$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Deeply.Nested$Properties=} [properties] Properties to set */ function Nested(properties) { if (properties) @@ -7005,7 +6868,7 @@ $root.jspb = (function() { /** * Creates a new Nested instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Deeply.Nested$Properties=} [properties] Properties to set * @returns {jspb.test.Deeply.Nested} Nested instance */ Nested.create = function create(properties) { @@ -7014,7 +6877,7 @@ $root.jspb = (function() { /** * Encodes the specified Nested message. Does not implicitly {@link jspb.test.Deeply.Nested.verify|verify} messages. - * @param {jspb.test.Deeply.Nested|Object.} message Nested message or plain object to encode + * @param {jspb.test.Deeply.Nested$Properties} message Nested message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -7072,7 +6935,7 @@ $root.jspb = (function() { /** * Verifies a Nested message. - * @param {Object.} message Nested object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Nested.verify = function verify(message) { @@ -7130,11 +6993,19 @@ $root.jspb = (function() { Nested.Message = (function() { + /** + * Properties of a Message. + * @typedef jspb.test.Deeply.Nested.Message$Properties + * @type Object + * @property {number} [count] Message count. + */ + /** * Constructs a new Message. * @exports jspb.test.Deeply.Nested.Message + * @implements jspb.test.Deeply.Nested.Message$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Deeply.Nested.Message$Properties=} [properties] Properties to set */ function Message(properties) { if (properties) @@ -7142,15 +7013,11 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Message count. - * @type {number|undefined} - */ Message.prototype.count = 0; /** * Creates a new Message instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {jspb.test.Deeply.Nested.Message$Properties=} [properties] Properties to set * @returns {jspb.test.Deeply.Nested.Message} Message instance */ Message.create = function create(properties) { @@ -7159,7 +7026,7 @@ $root.jspb = (function() { /** * Encodes the specified Message message. Does not implicitly {@link jspb.test.Deeply.Nested.Message.verify|verify} messages. - * @param {jspb.test.Deeply.Nested.Message|Object.} message Message message or plain object to encode + * @param {jspb.test.Deeply.Nested.Message$Properties} message Message message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -7222,7 +7089,7 @@ $root.jspb = (function() { /** * Verifies a Message message. - * @param {Object.} message Message object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Message.verify = function verify(message) { @@ -7326,11 +7193,19 @@ $root.google = (function() { protobuf.FileDescriptorSet = (function() { + /** + * Properties of a FileDescriptorSet. + * @typedef google.protobuf.FileDescriptorSet$Properties + * @type Object + * @property {Array.} [file] FileDescriptorSet file. + */ + /** * Constructs a new FileDescriptorSet. * @exports google.protobuf.FileDescriptorSet + * @implements google.protobuf.FileDescriptorSet$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.FileDescriptorSet$Properties=} [properties] Properties to set */ function FileDescriptorSet(properties) { this.file = []; @@ -7339,15 +7214,11 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * FileDescriptorSet file. - * @type {Array.|undefined} - */ FileDescriptorSet.prototype.file = $util.emptyArray; /** * Creates a new FileDescriptorSet instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.FileDescriptorSet$Properties=} [properties] Properties to set * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance */ FileDescriptorSet.create = function create(properties) { @@ -7356,7 +7227,7 @@ $root.google = (function() { /** * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. - * @param {google.protobuf.FileDescriptorSet|Object.} message FileDescriptorSet message or plain object to encode + * @param {google.protobuf.FileDescriptorSet$Properties} message FileDescriptorSet message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -7422,7 +7293,7 @@ $root.google = (function() { /** * Verifies a FileDescriptorSet message. - * @param {Object.} message FileDescriptorSet object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ FileDescriptorSet.verify = function verify(message) { @@ -7513,11 +7384,30 @@ $root.google = (function() { protobuf.FileDescriptorProto = (function() { + /** + * Properties of a FileDescriptorProto. + * @typedef google.protobuf.FileDescriptorProto$Properties + * @type Object + * @property {string} [name] FileDescriptorProto name. + * @property {string} [package] FileDescriptorProto package. + * @property {Array.} [dependency] FileDescriptorProto dependency. + * @property {Array.} [publicDependency] FileDescriptorProto publicDependency. + * @property {Array.} [weakDependency] FileDescriptorProto weakDependency. + * @property {Array.} [messageType] FileDescriptorProto messageType. + * @property {Array.} [enumType] FileDescriptorProto enumType. + * @property {Array.} [service] FileDescriptorProto service. + * @property {Array.} [extension] FileDescriptorProto extension. + * @property {google.protobuf.FileOptions} [options] FileDescriptorProto options. + * @property {google.protobuf.SourceCodeInfo} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo. + * @property {string} [syntax] FileDescriptorProto syntax. + */ + /** * Constructs a new FileDescriptorProto. * @exports google.protobuf.FileDescriptorProto + * @implements google.protobuf.FileDescriptorProto$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.FileDescriptorProto$Properties=} [properties] Properties to set */ function FileDescriptorProto(properties) { this.dependency = []; @@ -7532,82 +7422,22 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * FileDescriptorProto name. - * @type {string|undefined} - */ FileDescriptorProto.prototype.name = ""; - - /** - * FileDescriptorProto package. - * @name google.protobuf.FileDescriptorProto#package - * @type {string|undefined} - */ FileDescriptorProto.prototype["package"] = ""; - - /** - * FileDescriptorProto dependency. - * @type {Array.|undefined} - */ FileDescriptorProto.prototype.dependency = $util.emptyArray; - - /** - * FileDescriptorProto publicDependency. - * @type {Array.|undefined} - */ FileDescriptorProto.prototype.publicDependency = $util.emptyArray; - - /** - * FileDescriptorProto weakDependency. - * @type {Array.|undefined} - */ FileDescriptorProto.prototype.weakDependency = $util.emptyArray; - - /** - * FileDescriptorProto messageType. - * @type {Array.|undefined} - */ FileDescriptorProto.prototype.messageType = $util.emptyArray; - - /** - * FileDescriptorProto enumType. - * @type {Array.|undefined} - */ FileDescriptorProto.prototype.enumType = $util.emptyArray; - - /** - * FileDescriptorProto service. - * @type {Array.|undefined} - */ FileDescriptorProto.prototype.service = $util.emptyArray; - - /** - * FileDescriptorProto extension. - * @type {Array.|undefined} - */ FileDescriptorProto.prototype.extension = $util.emptyArray; - - /** - * FileDescriptorProto options. - * @type {google.protobuf.FileOptions|undefined} - */ FileDescriptorProto.prototype.options = null; - - /** - * FileDescriptorProto sourceCodeInfo. - * @type {google.protobuf.SourceCodeInfo|undefined} - */ FileDescriptorProto.prototype.sourceCodeInfo = null; - - /** - * FileDescriptorProto syntax. - * @type {string|undefined} - */ FileDescriptorProto.prototype.syntax = ""; /** * Creates a new FileDescriptorProto instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.FileDescriptorProto$Properties=} [properties] Properties to set * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance */ FileDescriptorProto.create = function create(properties) { @@ -7616,7 +7446,7 @@ $root.google = (function() { /** * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. - * @param {google.protobuf.FileDescriptorProto|Object.} message FileDescriptorProto message or plain object to encode + * @param {google.protobuf.FileDescriptorProto$Properties} message FileDescriptorProto message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -7765,7 +7595,7 @@ $root.google = (function() { /** * Verifies a FileDescriptorProto message. - * @param {Object.} message FileDescriptorProto object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ FileDescriptorProto.verify = function verify(message) { @@ -8044,11 +7874,28 @@ $root.google = (function() { protobuf.DescriptorProto = (function() { + /** + * Properties of a DescriptorProto. + * @typedef google.protobuf.DescriptorProto$Properties + * @type Object + * @property {string} [name] DescriptorProto name. + * @property {Array.} [field] DescriptorProto field. + * @property {Array.} [extension] DescriptorProto extension. + * @property {Array.} [nestedType] DescriptorProto nestedType. + * @property {Array.} [enumType] DescriptorProto enumType. + * @property {Array.} [extensionRange] DescriptorProto extensionRange. + * @property {Array.} [oneofDecl] DescriptorProto oneofDecl. + * @property {google.protobuf.MessageOptions} [options] DescriptorProto options. + * @property {Array.} [reservedRange] DescriptorProto reservedRange. + * @property {Array.} [reservedName] DescriptorProto reservedName. + */ + /** * Constructs a new DescriptorProto. * @exports google.protobuf.DescriptorProto + * @implements google.protobuf.DescriptorProto$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.DescriptorProto$Properties=} [properties] Properties to set */ function DescriptorProto(properties) { this.field = []; @@ -8064,69 +7911,20 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * DescriptorProto name. - * @type {string|undefined} - */ DescriptorProto.prototype.name = ""; - - /** - * DescriptorProto field. - * @type {Array.|undefined} - */ DescriptorProto.prototype.field = $util.emptyArray; - - /** - * DescriptorProto extension. - * @type {Array.|undefined} - */ DescriptorProto.prototype.extension = $util.emptyArray; - - /** - * DescriptorProto nestedType. - * @type {Array.|undefined} - */ DescriptorProto.prototype.nestedType = $util.emptyArray; - - /** - * DescriptorProto enumType. - * @type {Array.|undefined} - */ DescriptorProto.prototype.enumType = $util.emptyArray; - - /** - * DescriptorProto extensionRange. - * @type {Array.|undefined} - */ DescriptorProto.prototype.extensionRange = $util.emptyArray; - - /** - * DescriptorProto oneofDecl. - * @type {Array.|undefined} - */ DescriptorProto.prototype.oneofDecl = $util.emptyArray; - - /** - * DescriptorProto options. - * @type {google.protobuf.MessageOptions|undefined} - */ DescriptorProto.prototype.options = null; - - /** - * DescriptorProto reservedRange. - * @type {Array.|undefined} - */ DescriptorProto.prototype.reservedRange = $util.emptyArray; - - /** - * DescriptorProto reservedName. - * @type {Array.|undefined} - */ DescriptorProto.prototype.reservedName = $util.emptyArray; /** * Creates a new DescriptorProto instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.DescriptorProto$Properties=} [properties] Properties to set * @returns {google.protobuf.DescriptorProto} DescriptorProto instance */ DescriptorProto.create = function create(properties) { @@ -8135,7 +7933,7 @@ $root.google = (function() { /** * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. - * @param {google.protobuf.DescriptorProto|Object.} message DescriptorProto message or plain object to encode + * @param {google.protobuf.DescriptorProto$Properties} message DescriptorProto message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -8267,7 +8065,7 @@ $root.google = (function() { /** * Verifies a DescriptorProto message. - * @param {Object.} message DescriptorProto object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ DescriptorProto.verify = function verify(message) { @@ -8549,11 +8347,20 @@ $root.google = (function() { DescriptorProto.ExtensionRange = (function() { + /** + * Properties of an ExtensionRange. + * @typedef google.protobuf.DescriptorProto.ExtensionRange$Properties + * @type Object + * @property {number} [start] ExtensionRange start. + * @property {number} [end] ExtensionRange end. + */ + /** * Constructs a new ExtensionRange. * @exports google.protobuf.DescriptorProto.ExtensionRange + * @implements google.protobuf.DescriptorProto.ExtensionRange$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.DescriptorProto.ExtensionRange$Properties=} [properties] Properties to set */ function ExtensionRange(properties) { if (properties) @@ -8561,21 +8368,12 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * ExtensionRange start. - * @type {number|undefined} - */ ExtensionRange.prototype.start = 0; - - /** - * ExtensionRange end. - * @type {number|undefined} - */ ExtensionRange.prototype.end = 0; /** * Creates a new ExtensionRange instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.DescriptorProto.ExtensionRange$Properties=} [properties] Properties to set * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance */ ExtensionRange.create = function create(properties) { @@ -8584,7 +8382,7 @@ $root.google = (function() { /** * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. - * @param {google.protobuf.DescriptorProto.ExtensionRange|Object.} message ExtensionRange message or plain object to encode + * @param {google.protobuf.DescriptorProto.ExtensionRange$Properties} message ExtensionRange message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -8652,7 +8450,7 @@ $root.google = (function() { /** * Verifies an ExtensionRange message. - * @param {Object.} message ExtensionRange object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ ExtensionRange.verify = function verify(message) { @@ -8735,11 +8533,20 @@ $root.google = (function() { DescriptorProto.ReservedRange = (function() { + /** + * Properties of a ReservedRange. + * @typedef google.protobuf.DescriptorProto.ReservedRange$Properties + * @type Object + * @property {number} [start] ReservedRange start. + * @property {number} [end] ReservedRange end. + */ + /** * Constructs a new ReservedRange. * @exports google.protobuf.DescriptorProto.ReservedRange + * @implements google.protobuf.DescriptorProto.ReservedRange$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.DescriptorProto.ReservedRange$Properties=} [properties] Properties to set */ function ReservedRange(properties) { if (properties) @@ -8747,21 +8554,12 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * ReservedRange start. - * @type {number|undefined} - */ ReservedRange.prototype.start = 0; - - /** - * ReservedRange end. - * @type {number|undefined} - */ ReservedRange.prototype.end = 0; /** * Creates a new ReservedRange instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.DescriptorProto.ReservedRange$Properties=} [properties] Properties to set * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance */ ReservedRange.create = function create(properties) { @@ -8770,7 +8568,7 @@ $root.google = (function() { /** * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. - * @param {google.protobuf.DescriptorProto.ReservedRange|Object.} message ReservedRange message or plain object to encode + * @param {google.protobuf.DescriptorProto.ReservedRange$Properties} message ReservedRange message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -8838,7 +8636,7 @@ $root.google = (function() { /** * Verifies a ReservedRange message. - * @param {Object.} message ReservedRange object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ ReservedRange.verify = function verify(message) { @@ -8924,11 +8722,28 @@ $root.google = (function() { protobuf.FieldDescriptorProto = (function() { + /** + * Properties of a FieldDescriptorProto. + * @typedef google.protobuf.FieldDescriptorProto$Properties + * @type Object + * @property {string} [name] FieldDescriptorProto name. + * @property {number} [number] FieldDescriptorProto number. + * @property {number} [label] FieldDescriptorProto label. + * @property {number} [type] FieldDescriptorProto type. + * @property {string} [typeName] FieldDescriptorProto typeName. + * @property {string} [extendee] FieldDescriptorProto extendee. + * @property {string} [defaultValue] FieldDescriptorProto defaultValue. + * @property {number} [oneofIndex] FieldDescriptorProto oneofIndex. + * @property {string} [jsonName] FieldDescriptorProto jsonName. + * @property {google.protobuf.FieldOptions} [options] FieldDescriptorProto options. + */ + /** * Constructs a new FieldDescriptorProto. * @exports google.protobuf.FieldDescriptorProto + * @implements google.protobuf.FieldDescriptorProto$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.FieldDescriptorProto$Properties=} [properties] Properties to set */ function FieldDescriptorProto(properties) { if (properties) @@ -8936,69 +8751,20 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * FieldDescriptorProto name. - * @type {string|undefined} - */ FieldDescriptorProto.prototype.name = ""; - - /** - * FieldDescriptorProto number. - * @type {number|undefined} - */ FieldDescriptorProto.prototype.number = 0; - - /** - * FieldDescriptorProto label. - * @type {number|undefined} - */ FieldDescriptorProto.prototype.label = 1; - - /** - * FieldDescriptorProto type. - * @type {number|undefined} - */ FieldDescriptorProto.prototype.type = 1; - - /** - * FieldDescriptorProto typeName. - * @type {string|undefined} - */ FieldDescriptorProto.prototype.typeName = ""; - - /** - * FieldDescriptorProto extendee. - * @type {string|undefined} - */ FieldDescriptorProto.prototype.extendee = ""; - - /** - * FieldDescriptorProto defaultValue. - * @type {string|undefined} - */ FieldDescriptorProto.prototype.defaultValue = ""; - - /** - * FieldDescriptorProto oneofIndex. - * @type {number|undefined} - */ FieldDescriptorProto.prototype.oneofIndex = 0; - - /** - * FieldDescriptorProto jsonName. - * @type {string|undefined} - */ FieldDescriptorProto.prototype.jsonName = ""; - - /** - * FieldDescriptorProto options. - * @type {google.protobuf.FieldOptions|undefined} - */ FieldDescriptorProto.prototype.options = null; /** * Creates a new FieldDescriptorProto instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.FieldDescriptorProto$Properties=} [properties] Properties to set * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance */ FieldDescriptorProto.create = function create(properties) { @@ -9007,7 +8773,7 @@ $root.google = (function() { /** * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. - * @param {google.protobuf.FieldDescriptorProto|Object.} message FieldDescriptorProto message or plain object to encode + * @param {google.protobuf.FieldDescriptorProto$Properties} message FieldDescriptorProto message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -9115,7 +8881,7 @@ $root.google = (function() { /** * Verifies a FieldDescriptorProto message. - * @param {Object.} message FieldDescriptorProto object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ FieldDescriptorProto.verify = function verify(message) { @@ -9442,11 +9208,20 @@ $root.google = (function() { protobuf.OneofDescriptorProto = (function() { + /** + * Properties of an OneofDescriptorProto. + * @typedef google.protobuf.OneofDescriptorProto$Properties + * @type Object + * @property {string} [name] OneofDescriptorProto name. + * @property {google.protobuf.OneofOptions} [options] OneofDescriptorProto options. + */ + /** * Constructs a new OneofDescriptorProto. * @exports google.protobuf.OneofDescriptorProto + * @implements google.protobuf.OneofDescriptorProto$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.OneofDescriptorProto$Properties=} [properties] Properties to set */ function OneofDescriptorProto(properties) { if (properties) @@ -9454,21 +9229,12 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * OneofDescriptorProto name. - * @type {string|undefined} - */ OneofDescriptorProto.prototype.name = ""; - - /** - * OneofDescriptorProto options. - * @type {google.protobuf.OneofOptions|undefined} - */ OneofDescriptorProto.prototype.options = null; /** * Creates a new OneofDescriptorProto instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.OneofDescriptorProto$Properties=} [properties] Properties to set * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance */ OneofDescriptorProto.create = function create(properties) { @@ -9477,7 +9243,7 @@ $root.google = (function() { /** * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. - * @param {google.protobuf.OneofDescriptorProto|Object.} message OneofDescriptorProto message or plain object to encode + * @param {google.protobuf.OneofDescriptorProto$Properties} message OneofDescriptorProto message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -9545,7 +9311,7 @@ $root.google = (function() { /** * Verifies an OneofDescriptorProto message. - * @param {Object.} message OneofDescriptorProto object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ OneofDescriptorProto.verify = function verify(message) { @@ -9633,11 +9399,21 @@ $root.google = (function() { protobuf.EnumDescriptorProto = (function() { + /** + * Properties of an EnumDescriptorProto. + * @typedef google.protobuf.EnumDescriptorProto$Properties + * @type Object + * @property {string} [name] EnumDescriptorProto name. + * @property {Array.} [value] EnumDescriptorProto value. + * @property {google.protobuf.EnumOptions} [options] EnumDescriptorProto options. + */ + /** * Constructs a new EnumDescriptorProto. * @exports google.protobuf.EnumDescriptorProto + * @implements google.protobuf.EnumDescriptorProto$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.EnumDescriptorProto$Properties=} [properties] Properties to set */ function EnumDescriptorProto(properties) { this.value = []; @@ -9646,27 +9422,13 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * EnumDescriptorProto name. - * @type {string|undefined} - */ EnumDescriptorProto.prototype.name = ""; - - /** - * EnumDescriptorProto value. - * @type {Array.|undefined} - */ EnumDescriptorProto.prototype.value = $util.emptyArray; - - /** - * EnumDescriptorProto options. - * @type {google.protobuf.EnumOptions|undefined} - */ EnumDescriptorProto.prototype.options = null; /** * Creates a new EnumDescriptorProto instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.EnumDescriptorProto$Properties=} [properties] Properties to set * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto instance */ EnumDescriptorProto.create = function create(properties) { @@ -9675,7 +9437,7 @@ $root.google = (function() { /** * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. - * @param {google.protobuf.EnumDescriptorProto|Object.} message EnumDescriptorProto message or plain object to encode + * @param {google.protobuf.EnumDescriptorProto$Properties} message EnumDescriptorProto message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -9751,7 +9513,7 @@ $root.google = (function() { /** * Verifies an EnumDescriptorProto message. - * @param {Object.} message EnumDescriptorProto object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ EnumDescriptorProto.verify = function verify(message) { @@ -9865,11 +9627,21 @@ $root.google = (function() { protobuf.EnumValueDescriptorProto = (function() { + /** + * Properties of an EnumValueDescriptorProto. + * @typedef google.protobuf.EnumValueDescriptorProto$Properties + * @type Object + * @property {string} [name] EnumValueDescriptorProto name. + * @property {number} [number] EnumValueDescriptorProto number. + * @property {google.protobuf.EnumValueOptions} [options] EnumValueDescriptorProto options. + */ + /** * Constructs a new EnumValueDescriptorProto. * @exports google.protobuf.EnumValueDescriptorProto + * @implements google.protobuf.EnumValueDescriptorProto$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.EnumValueDescriptorProto$Properties=} [properties] Properties to set */ function EnumValueDescriptorProto(properties) { if (properties) @@ -9877,27 +9649,13 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * EnumValueDescriptorProto name. - * @type {string|undefined} - */ EnumValueDescriptorProto.prototype.name = ""; - - /** - * EnumValueDescriptorProto number. - * @type {number|undefined} - */ EnumValueDescriptorProto.prototype.number = 0; - - /** - * EnumValueDescriptorProto options. - * @type {google.protobuf.EnumValueOptions|undefined} - */ EnumValueDescriptorProto.prototype.options = null; /** * Creates a new EnumValueDescriptorProto instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.EnumValueDescriptorProto$Properties=} [properties] Properties to set * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto instance */ EnumValueDescriptorProto.create = function create(properties) { @@ -9906,7 +9664,7 @@ $root.google = (function() { /** * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. - * @param {google.protobuf.EnumValueDescriptorProto|Object.} message EnumValueDescriptorProto message or plain object to encode + * @param {google.protobuf.EnumValueDescriptorProto$Properties} message EnumValueDescriptorProto message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -9979,7 +9737,7 @@ $root.google = (function() { /** * Verifies an EnumValueDescriptorProto message. - * @param {Object.} message EnumValueDescriptorProto object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ EnumValueDescriptorProto.verify = function verify(message) { @@ -10075,11 +9833,21 @@ $root.google = (function() { protobuf.ServiceDescriptorProto = (function() { + /** + * Properties of a ServiceDescriptorProto. + * @typedef google.protobuf.ServiceDescriptorProto$Properties + * @type Object + * @property {string} [name] ServiceDescriptorProto name. + * @property {Array.} [method] ServiceDescriptorProto method. + * @property {google.protobuf.ServiceOptions} [options] ServiceDescriptorProto options. + */ + /** * Constructs a new ServiceDescriptorProto. * @exports google.protobuf.ServiceDescriptorProto + * @implements google.protobuf.ServiceDescriptorProto$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.ServiceDescriptorProto$Properties=} [properties] Properties to set */ function ServiceDescriptorProto(properties) { this.method = []; @@ -10088,27 +9856,13 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * ServiceDescriptorProto name. - * @type {string|undefined} - */ ServiceDescriptorProto.prototype.name = ""; - - /** - * ServiceDescriptorProto method. - * @type {Array.|undefined} - */ ServiceDescriptorProto.prototype.method = $util.emptyArray; - - /** - * ServiceDescriptorProto options. - * @type {google.protobuf.ServiceOptions|undefined} - */ ServiceDescriptorProto.prototype.options = null; /** * Creates a new ServiceDescriptorProto instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.ServiceDescriptorProto$Properties=} [properties] Properties to set * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto instance */ ServiceDescriptorProto.create = function create(properties) { @@ -10117,7 +9871,7 @@ $root.google = (function() { /** * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. - * @param {google.protobuf.ServiceDescriptorProto|Object.} message ServiceDescriptorProto message or plain object to encode + * @param {google.protobuf.ServiceDescriptorProto$Properties} message ServiceDescriptorProto message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -10193,7 +9947,7 @@ $root.google = (function() { /** * Verifies a ServiceDescriptorProto message. - * @param {Object.} message ServiceDescriptorProto object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ ServiceDescriptorProto.verify = function verify(message) { @@ -10307,11 +10061,24 @@ $root.google = (function() { protobuf.MethodDescriptorProto = (function() { + /** + * Properties of a MethodDescriptorProto. + * @typedef google.protobuf.MethodDescriptorProto$Properties + * @type Object + * @property {string} [name] MethodDescriptorProto name. + * @property {string} [inputType] MethodDescriptorProto inputType. + * @property {string} [outputType] MethodDescriptorProto outputType. + * @property {google.protobuf.MethodOptions} [options] MethodDescriptorProto options. + * @property {boolean} [clientStreaming] MethodDescriptorProto clientStreaming. + * @property {boolean} [serverStreaming] MethodDescriptorProto serverStreaming. + */ + /** * Constructs a new MethodDescriptorProto. * @exports google.protobuf.MethodDescriptorProto + * @implements google.protobuf.MethodDescriptorProto$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.MethodDescriptorProto$Properties=} [properties] Properties to set */ function MethodDescriptorProto(properties) { if (properties) @@ -10319,45 +10086,16 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * MethodDescriptorProto name. - * @type {string|undefined} - */ MethodDescriptorProto.prototype.name = ""; - - /** - * MethodDescriptorProto inputType. - * @type {string|undefined} - */ MethodDescriptorProto.prototype.inputType = ""; - - /** - * MethodDescriptorProto outputType. - * @type {string|undefined} - */ MethodDescriptorProto.prototype.outputType = ""; - - /** - * MethodDescriptorProto options. - * @type {google.protobuf.MethodOptions|undefined} - */ MethodDescriptorProto.prototype.options = null; - - /** - * MethodDescriptorProto clientStreaming. - * @type {boolean|undefined} - */ MethodDescriptorProto.prototype.clientStreaming = false; - - /** - * MethodDescriptorProto serverStreaming. - * @type {boolean|undefined} - */ MethodDescriptorProto.prototype.serverStreaming = false; /** * Creates a new MethodDescriptorProto instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.MethodDescriptorProto$Properties=} [properties] Properties to set * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto instance */ MethodDescriptorProto.create = function create(properties) { @@ -10366,7 +10104,7 @@ $root.google = (function() { /** * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. - * @param {google.protobuf.MethodDescriptorProto|Object.} message MethodDescriptorProto message or plain object to encode + * @param {google.protobuf.MethodDescriptorProto$Properties} message MethodDescriptorProto message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -10454,7 +10192,7 @@ $root.google = (function() { /** * Verifies a MethodDescriptorProto message. - * @param {Object.} message MethodDescriptorProto object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ MethodDescriptorProto.verify = function verify(message) { @@ -10574,11 +10312,33 @@ $root.google = (function() { protobuf.FileOptions = (function() { + /** + * Properties of a FileOptions. + * @typedef google.protobuf.FileOptions$Properties + * @type Object + * @property {string} [javaPackage] FileOptions javaPackage. + * @property {string} [javaOuterClassname] FileOptions javaOuterClassname. + * @property {boolean} [javaMultipleFiles] FileOptions javaMultipleFiles. + * @property {boolean} [javaGenerateEqualsAndHash] FileOptions javaGenerateEqualsAndHash. + * @property {boolean} [javaStringCheckUtf8] FileOptions javaStringCheckUtf8. + * @property {number} [optimizeFor] FileOptions optimizeFor. + * @property {string} [goPackage] FileOptions goPackage. + * @property {boolean} [ccGenericServices] FileOptions ccGenericServices. + * @property {boolean} [javaGenericServices] FileOptions javaGenericServices. + * @property {boolean} [pyGenericServices] FileOptions pyGenericServices. + * @property {boolean} [deprecated] FileOptions deprecated. + * @property {boolean} [ccEnableArenas] FileOptions ccEnableArenas. + * @property {string} [objcClassPrefix] FileOptions objcClassPrefix. + * @property {string} [csharpNamespace] FileOptions csharpNamespace. + * @property {Array.} [uninterpretedOption] FileOptions uninterpretedOption. + */ + /** * Constructs a new FileOptions. * @exports google.protobuf.FileOptions + * @implements google.protobuf.FileOptions$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.FileOptions$Properties=} [properties] Properties to set */ function FileOptions(properties) { this.uninterpretedOption = []; @@ -10587,99 +10347,25 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * FileOptions javaPackage. - * @type {string|undefined} - */ FileOptions.prototype.javaPackage = ""; - - /** - * FileOptions javaOuterClassname. - * @type {string|undefined} - */ FileOptions.prototype.javaOuterClassname = ""; - - /** - * FileOptions javaMultipleFiles. - * @type {boolean|undefined} - */ FileOptions.prototype.javaMultipleFiles = false; - - /** - * FileOptions javaGenerateEqualsAndHash. - * @type {boolean|undefined} - */ FileOptions.prototype.javaGenerateEqualsAndHash = false; - - /** - * FileOptions javaStringCheckUtf8. - * @type {boolean|undefined} - */ FileOptions.prototype.javaStringCheckUtf8 = false; - - /** - * FileOptions optimizeFor. - * @type {number|undefined} - */ FileOptions.prototype.optimizeFor = 1; - - /** - * FileOptions goPackage. - * @type {string|undefined} - */ FileOptions.prototype.goPackage = ""; - - /** - * FileOptions ccGenericServices. - * @type {boolean|undefined} - */ FileOptions.prototype.ccGenericServices = false; - - /** - * FileOptions javaGenericServices. - * @type {boolean|undefined} - */ FileOptions.prototype.javaGenericServices = false; - - /** - * FileOptions pyGenericServices. - * @type {boolean|undefined} - */ FileOptions.prototype.pyGenericServices = false; - - /** - * FileOptions deprecated. - * @type {boolean|undefined} - */ FileOptions.prototype.deprecated = false; - - /** - * FileOptions ccEnableArenas. - * @type {boolean|undefined} - */ FileOptions.prototype.ccEnableArenas = false; - - /** - * FileOptions objcClassPrefix. - * @type {string|undefined} - */ FileOptions.prototype.objcClassPrefix = ""; - - /** - * FileOptions csharpNamespace. - * @type {string|undefined} - */ FileOptions.prototype.csharpNamespace = ""; - - /** - * FileOptions uninterpretedOption. - * @type {Array.|undefined} - */ FileOptions.prototype.uninterpretedOption = $util.emptyArray; /** * Creates a new FileOptions instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.FileOptions$Properties=} [properties] Properties to set * @returns {google.protobuf.FileOptions} FileOptions instance */ FileOptions.create = function create(properties) { @@ -10688,7 +10374,7 @@ $root.google = (function() { /** * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. - * @param {google.protobuf.FileOptions|Object.} message FileOptions message or plain object to encode + * @param {google.protobuf.FileOptions$Properties} message FileOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -10824,7 +10510,7 @@ $root.google = (function() { /** * Verifies a FileOptions message. - * @param {Object.} message FileOptions object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ FileOptions.verify = function verify(message) { @@ -11064,11 +10750,23 @@ $root.google = (function() { protobuf.MessageOptions = (function() { + /** + * Properties of a MessageOptions. + * @typedef google.protobuf.MessageOptions$Properties + * @type Object + * @property {boolean} [messageSetWireFormat] MessageOptions messageSetWireFormat. + * @property {boolean} [noStandardDescriptorAccessor] MessageOptions noStandardDescriptorAccessor. + * @property {boolean} [deprecated] MessageOptions deprecated. + * @property {boolean} [mapEntry] MessageOptions mapEntry. + * @property {Array.} [uninterpretedOption] MessageOptions uninterpretedOption. + */ + /** * Constructs a new MessageOptions. * @exports google.protobuf.MessageOptions + * @implements google.protobuf.MessageOptions$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.MessageOptions$Properties=} [properties] Properties to set */ function MessageOptions(properties) { this.uninterpretedOption = []; @@ -11077,39 +10775,15 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * MessageOptions messageSetWireFormat. - * @type {boolean|undefined} - */ MessageOptions.prototype.messageSetWireFormat = false; - - /** - * MessageOptions noStandardDescriptorAccessor. - * @type {boolean|undefined} - */ MessageOptions.prototype.noStandardDescriptorAccessor = false; - - /** - * MessageOptions deprecated. - * @type {boolean|undefined} - */ MessageOptions.prototype.deprecated = false; - - /** - * MessageOptions mapEntry. - * @type {boolean|undefined} - */ MessageOptions.prototype.mapEntry = false; - - /** - * MessageOptions uninterpretedOption. - * @type {Array.|undefined} - */ MessageOptions.prototype.uninterpretedOption = $util.emptyArray; /** * Creates a new MessageOptions instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.MessageOptions$Properties=} [properties] Properties to set * @returns {google.protobuf.MessageOptions} MessageOptions instance */ MessageOptions.create = function create(properties) { @@ -11118,7 +10792,7 @@ $root.google = (function() { /** * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. - * @param {google.protobuf.MessageOptions|Object.} message MessageOptions message or plain object to encode + * @param {google.protobuf.MessageOptions$Properties} message MessageOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -11204,7 +10878,7 @@ $root.google = (function() { /** * Verifies a MessageOptions message. - * @param {Object.} message MessageOptions object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ MessageOptions.verify = function verify(message) { @@ -11329,11 +11003,25 @@ $root.google = (function() { protobuf.FieldOptions = (function() { + /** + * Properties of a FieldOptions. + * @typedef google.protobuf.FieldOptions$Properties + * @type Object + * @property {number} [ctype] FieldOptions ctype. + * @property {boolean} [packed] FieldOptions packed. + * @property {number} [jstype] FieldOptions jstype. + * @property {boolean} [lazy] FieldOptions lazy. + * @property {boolean} [deprecated] FieldOptions deprecated. + * @property {boolean} [weak] FieldOptions weak. + * @property {Array.} [uninterpretedOption] FieldOptions uninterpretedOption. + */ + /** * Constructs a new FieldOptions. * @exports google.protobuf.FieldOptions + * @implements google.protobuf.FieldOptions$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.FieldOptions$Properties=} [properties] Properties to set */ function FieldOptions(properties) { this.uninterpretedOption = []; @@ -11342,51 +11030,17 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * FieldOptions ctype. - * @type {number|undefined} - */ FieldOptions.prototype.ctype = 0; - - /** - * FieldOptions packed. - * @type {boolean|undefined} - */ FieldOptions.prototype.packed = false; - - /** - * FieldOptions jstype. - * @type {number|undefined} - */ FieldOptions.prototype.jstype = 0; - - /** - * FieldOptions lazy. - * @type {boolean|undefined} - */ FieldOptions.prototype.lazy = false; - - /** - * FieldOptions deprecated. - * @type {boolean|undefined} - */ FieldOptions.prototype.deprecated = false; - - /** - * FieldOptions weak. - * @type {boolean|undefined} - */ FieldOptions.prototype.weak = false; - - /** - * FieldOptions uninterpretedOption. - * @type {Array.|undefined} - */ FieldOptions.prototype.uninterpretedOption = $util.emptyArray; /** * Creates a new FieldOptions instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.FieldOptions$Properties=} [properties] Properties to set * @returns {google.protobuf.FieldOptions} FieldOptions instance */ FieldOptions.create = function create(properties) { @@ -11395,7 +11049,7 @@ $root.google = (function() { /** * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. - * @param {google.protobuf.FieldOptions|Object.} message FieldOptions message or plain object to encode + * @param {google.protobuf.FieldOptions$Properties} message FieldOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -11491,7 +11145,7 @@ $root.google = (function() { /** * Verifies a FieldOptions message. - * @param {Object.} message FieldOptions object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ FieldOptions.verify = function verify(message) { @@ -11702,11 +11356,19 @@ $root.google = (function() { protobuf.OneofOptions = (function() { + /** + * Properties of an OneofOptions. + * @typedef google.protobuf.OneofOptions$Properties + * @type Object + * @property {Array.} [uninterpretedOption] OneofOptions uninterpretedOption. + */ + /** * Constructs a new OneofOptions. * @exports google.protobuf.OneofOptions + * @implements google.protobuf.OneofOptions$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.OneofOptions$Properties=} [properties] Properties to set */ function OneofOptions(properties) { this.uninterpretedOption = []; @@ -11715,15 +11377,11 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * OneofOptions uninterpretedOption. - * @type {Array.|undefined} - */ OneofOptions.prototype.uninterpretedOption = $util.emptyArray; /** * Creates a new OneofOptions instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.OneofOptions$Properties=} [properties] Properties to set * @returns {google.protobuf.OneofOptions} OneofOptions instance */ OneofOptions.create = function create(properties) { @@ -11732,7 +11390,7 @@ $root.google = (function() { /** * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. - * @param {google.protobuf.OneofOptions|Object.} message OneofOptions message or plain object to encode + * @param {google.protobuf.OneofOptions$Properties} message OneofOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -11798,7 +11456,7 @@ $root.google = (function() { /** * Verifies an OneofOptions message. - * @param {Object.} message OneofOptions object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ OneofOptions.verify = function verify(message) { @@ -11889,11 +11547,22 @@ $root.google = (function() { protobuf.EnumOptions = (function() { + /** + * Properties of an EnumOptions. + * @typedef google.protobuf.EnumOptions$Properties + * @type Object + * @property {boolean} [allowAlias] EnumOptions allowAlias. + * @property {boolean} [deprecated] EnumOptions deprecated. + * @property {Array.} [uninterpretedOption] EnumOptions uninterpretedOption. + * @property {string} [.jspb.test.IsExtension.simpleOption] EnumOptions .jspb.test.IsExtension.simpleOption. + */ + /** * Constructs a new EnumOptions. * @exports google.protobuf.EnumOptions + * @implements google.protobuf.EnumOptions$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.EnumOptions$Properties=} [properties] Properties to set */ function EnumOptions(properties) { this.uninterpretedOption = []; @@ -11902,34 +11571,14 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * EnumOptions allowAlias. - * @type {boolean|undefined} - */ EnumOptions.prototype.allowAlias = false; - - /** - * EnumOptions deprecated. - * @type {boolean|undefined} - */ EnumOptions.prototype.deprecated = false; - - /** - * EnumOptions uninterpretedOption. - * @type {Array.|undefined} - */ EnumOptions.prototype.uninterpretedOption = $util.emptyArray; - - /** - * EnumOptions .jspb.test.IsExtension.simpleOption. - * @name google.protobuf.EnumOptions#.jspb.test.IsExtension.simpleOption - * @type {string|undefined} - */ EnumOptions.prototype[".jspb.test.IsExtension.simpleOption"] = ""; /** * Creates a new EnumOptions instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.EnumOptions$Properties=} [properties] Properties to set * @returns {google.protobuf.EnumOptions} EnumOptions instance */ EnumOptions.create = function create(properties) { @@ -11938,7 +11587,7 @@ $root.google = (function() { /** * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. - * @param {google.protobuf.EnumOptions|Object.} message EnumOptions message or plain object to encode + * @param {google.protobuf.EnumOptions$Properties} message EnumOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -12019,7 +11668,7 @@ $root.google = (function() { /** * Verifies an EnumOptions message. - * @param {Object.} message EnumOptions object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ EnumOptions.verify = function verify(message) { @@ -12136,11 +11785,20 @@ $root.google = (function() { protobuf.EnumValueOptions = (function() { + /** + * Properties of an EnumValueOptions. + * @typedef google.protobuf.EnumValueOptions$Properties + * @type Object + * @property {boolean} [deprecated] EnumValueOptions deprecated. + * @property {Array.} [uninterpretedOption] EnumValueOptions uninterpretedOption. + */ + /** * Constructs a new EnumValueOptions. * @exports google.protobuf.EnumValueOptions + * @implements google.protobuf.EnumValueOptions$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.EnumValueOptions$Properties=} [properties] Properties to set */ function EnumValueOptions(properties) { this.uninterpretedOption = []; @@ -12149,21 +11807,12 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * EnumValueOptions deprecated. - * @type {boolean|undefined} - */ EnumValueOptions.prototype.deprecated = false; - - /** - * EnumValueOptions uninterpretedOption. - * @type {Array.|undefined} - */ EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray; /** * Creates a new EnumValueOptions instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.EnumValueOptions$Properties=} [properties] Properties to set * @returns {google.protobuf.EnumValueOptions} EnumValueOptions instance */ EnumValueOptions.create = function create(properties) { @@ -12172,7 +11821,7 @@ $root.google = (function() { /** * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. - * @param {google.protobuf.EnumValueOptions|Object.} message EnumValueOptions message or plain object to encode + * @param {google.protobuf.EnumValueOptions$Properties} message EnumValueOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -12243,7 +11892,7 @@ $root.google = (function() { /** * Verifies an EnumValueOptions message. - * @param {Object.} message EnumValueOptions object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ EnumValueOptions.verify = function verify(message) { @@ -12343,11 +11992,20 @@ $root.google = (function() { protobuf.ServiceOptions = (function() { + /** + * Properties of a ServiceOptions. + * @typedef google.protobuf.ServiceOptions$Properties + * @type Object + * @property {boolean} [deprecated] ServiceOptions deprecated. + * @property {Array.} [uninterpretedOption] ServiceOptions uninterpretedOption. + */ + /** * Constructs a new ServiceOptions. * @exports google.protobuf.ServiceOptions + * @implements google.protobuf.ServiceOptions$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.ServiceOptions$Properties=} [properties] Properties to set */ function ServiceOptions(properties) { this.uninterpretedOption = []; @@ -12356,21 +12014,12 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * ServiceOptions deprecated. - * @type {boolean|undefined} - */ ServiceOptions.prototype.deprecated = false; - - /** - * ServiceOptions uninterpretedOption. - * @type {Array.|undefined} - */ ServiceOptions.prototype.uninterpretedOption = $util.emptyArray; /** * Creates a new ServiceOptions instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.ServiceOptions$Properties=} [properties] Properties to set * @returns {google.protobuf.ServiceOptions} ServiceOptions instance */ ServiceOptions.create = function create(properties) { @@ -12379,7 +12028,7 @@ $root.google = (function() { /** * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. - * @param {google.protobuf.ServiceOptions|Object.} message ServiceOptions message or plain object to encode + * @param {google.protobuf.ServiceOptions$Properties} message ServiceOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -12450,7 +12099,7 @@ $root.google = (function() { /** * Verifies a ServiceOptions message. - * @param {Object.} message ServiceOptions object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ ServiceOptions.verify = function verify(message) { @@ -12550,11 +12199,21 @@ $root.google = (function() { protobuf.MethodOptions = (function() { + /** + * Properties of a MethodOptions. + * @typedef google.protobuf.MethodOptions$Properties + * @type Object + * @property {boolean} [deprecated] MethodOptions deprecated. + * @property {number} [idempotencyLevel] MethodOptions idempotencyLevel. + * @property {Array.} [uninterpretedOption] MethodOptions uninterpretedOption. + */ + /** * Constructs a new MethodOptions. * @exports google.protobuf.MethodOptions + * @implements google.protobuf.MethodOptions$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.MethodOptions$Properties=} [properties] Properties to set */ function MethodOptions(properties) { this.uninterpretedOption = []; @@ -12563,27 +12222,13 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * MethodOptions deprecated. - * @type {boolean|undefined} - */ MethodOptions.prototype.deprecated = false; - - /** - * MethodOptions idempotencyLevel. - * @type {number|undefined} - */ MethodOptions.prototype.idempotencyLevel = 0; - - /** - * MethodOptions uninterpretedOption. - * @type {Array.|undefined} - */ MethodOptions.prototype.uninterpretedOption = $util.emptyArray; /** * Creates a new MethodOptions instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.MethodOptions$Properties=} [properties] Properties to set * @returns {google.protobuf.MethodOptions} MethodOptions instance */ MethodOptions.create = function create(properties) { @@ -12592,7 +12237,7 @@ $root.google = (function() { /** * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. - * @param {google.protobuf.MethodOptions|Object.} message MethodOptions message or plain object to encode + * @param {google.protobuf.MethodOptions$Properties} message MethodOptions message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -12668,7 +12313,7 @@ $root.google = (function() { /** * Verifies a MethodOptions message. - * @param {Object.} message MethodOptions object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ MethodOptions.verify = function verify(message) { @@ -12812,11 +12457,25 @@ $root.google = (function() { protobuf.UninterpretedOption = (function() { + /** + * Properties of an UninterpretedOption. + * @typedef google.protobuf.UninterpretedOption$Properties + * @type Object + * @property {Array.} [name] UninterpretedOption name. + * @property {string} [identifierValue] UninterpretedOption identifierValue. + * @property {number|$protobuf.Long} [positiveIntValue] UninterpretedOption positiveIntValue. + * @property {number|$protobuf.Long} [negativeIntValue] UninterpretedOption negativeIntValue. + * @property {number} [doubleValue] UninterpretedOption doubleValue. + * @property {Uint8Array} [stringValue] UninterpretedOption stringValue. + * @property {string} [aggregateValue] UninterpretedOption aggregateValue. + */ + /** * Constructs a new UninterpretedOption. * @exports google.protobuf.UninterpretedOption + * @implements google.protobuf.UninterpretedOption$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.UninterpretedOption$Properties=} [properties] Properties to set */ function UninterpretedOption(properties) { this.name = []; @@ -12825,51 +12484,17 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * UninterpretedOption name. - * @type {Array.|undefined} - */ UninterpretedOption.prototype.name = $util.emptyArray; - - /** - * UninterpretedOption identifierValue. - * @type {string|undefined} - */ UninterpretedOption.prototype.identifierValue = ""; - - /** - * UninterpretedOption positiveIntValue. - * @type {number|$protobuf.Long|undefined} - */ UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; - - /** - * UninterpretedOption negativeIntValue. - * @type {number|$protobuf.Long|undefined} - */ UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; - - /** - * UninterpretedOption doubleValue. - * @type {number|undefined} - */ UninterpretedOption.prototype.doubleValue = 0; - - /** - * UninterpretedOption stringValue. - * @type {Uint8Array|undefined} - */ UninterpretedOption.prototype.stringValue = $util.newBuffer([]); - - /** - * UninterpretedOption aggregateValue. - * @type {string|undefined} - */ UninterpretedOption.prototype.aggregateValue = ""; /** * Creates a new UninterpretedOption instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.UninterpretedOption$Properties=} [properties] Properties to set * @returns {google.protobuf.UninterpretedOption} UninterpretedOption instance */ UninterpretedOption.create = function create(properties) { @@ -12878,7 +12503,7 @@ $root.google = (function() { /** * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. - * @param {google.protobuf.UninterpretedOption|Object.} message UninterpretedOption message or plain object to encode + * @param {google.protobuf.UninterpretedOption$Properties} message UninterpretedOption message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -12974,7 +12599,7 @@ $root.google = (function() { /** * Verifies an UninterpretedOption message. - * @param {Object.} message UninterpretedOption object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ UninterpretedOption.verify = function verify(message) { @@ -13143,11 +12768,20 @@ $root.google = (function() { UninterpretedOption.NamePart = (function() { + /** + * Properties of a NamePart. + * @typedef google.protobuf.UninterpretedOption.NamePart$Properties + * @type Object + * @property {string} namePart NamePart namePart. + * @property {boolean} isExtension NamePart isExtension. + */ + /** * Constructs a new NamePart. * @exports google.protobuf.UninterpretedOption.NamePart + * @implements google.protobuf.UninterpretedOption.NamePart$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.UninterpretedOption.NamePart$Properties=} [properties] Properties to set */ function NamePart(properties) { if (properties) @@ -13155,21 +12789,12 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * NamePart namePart. - * @type {string} - */ NamePart.prototype.namePart = ""; - - /** - * NamePart isExtension. - * @type {boolean} - */ NamePart.prototype.isExtension = false; /** * Creates a new NamePart instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.UninterpretedOption.NamePart$Properties=} [properties] Properties to set * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart instance */ NamePart.create = function create(properties) { @@ -13178,7 +12803,7 @@ $root.google = (function() { /** * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. - * @param {google.protobuf.UninterpretedOption.NamePart|Object.} message NamePart message or plain object to encode + * @param {google.protobuf.UninterpretedOption.NamePart$Properties} message NamePart message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -13248,7 +12873,7 @@ $root.google = (function() { /** * Verifies a NamePart message. - * @param {Object.} message NamePart object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ NamePart.verify = function verify(message) { @@ -13332,11 +12957,19 @@ $root.google = (function() { protobuf.SourceCodeInfo = (function() { + /** + * Properties of a SourceCodeInfo. + * @typedef google.protobuf.SourceCodeInfo$Properties + * @type Object + * @property {Array.} [location] SourceCodeInfo location. + */ + /** * Constructs a new SourceCodeInfo. * @exports google.protobuf.SourceCodeInfo + * @implements google.protobuf.SourceCodeInfo$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.SourceCodeInfo$Properties=} [properties] Properties to set */ function SourceCodeInfo(properties) { this.location = []; @@ -13345,15 +12978,11 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * SourceCodeInfo location. - * @type {Array.|undefined} - */ SourceCodeInfo.prototype.location = $util.emptyArray; /** * Creates a new SourceCodeInfo instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.SourceCodeInfo$Properties=} [properties] Properties to set * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo instance */ SourceCodeInfo.create = function create(properties) { @@ -13362,7 +12991,7 @@ $root.google = (function() { /** * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. - * @param {google.protobuf.SourceCodeInfo|Object.} message SourceCodeInfo message or plain object to encode + * @param {google.protobuf.SourceCodeInfo$Properties} message SourceCodeInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -13428,7 +13057,7 @@ $root.google = (function() { /** * Verifies a SourceCodeInfo message. - * @param {Object.} message SourceCodeInfo object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ SourceCodeInfo.verify = function verify(message) { @@ -13516,11 +13145,23 @@ $root.google = (function() { SourceCodeInfo.Location = (function() { + /** + * Properties of a Location. + * @typedef google.protobuf.SourceCodeInfo.Location$Properties + * @type Object + * @property {Array.} [path] Location path. + * @property {Array.} [span] Location span. + * @property {string} [leadingComments] Location leadingComments. + * @property {string} [trailingComments] Location trailingComments. + * @property {Array.} [leadingDetachedComments] Location leadingDetachedComments. + */ + /** * Constructs a new Location. * @exports google.protobuf.SourceCodeInfo.Location + * @implements google.protobuf.SourceCodeInfo.Location$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.SourceCodeInfo.Location$Properties=} [properties] Properties to set */ function Location(properties) { this.path = []; @@ -13531,39 +13172,15 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Location path. - * @type {Array.|undefined} - */ Location.prototype.path = $util.emptyArray; - - /** - * Location span. - * @type {Array.|undefined} - */ Location.prototype.span = $util.emptyArray; - - /** - * Location leadingComments. - * @type {string|undefined} - */ Location.prototype.leadingComments = ""; - - /** - * Location trailingComments. - * @type {string|undefined} - */ Location.prototype.trailingComments = ""; - - /** - * Location leadingDetachedComments. - * @type {Array.|undefined} - */ Location.prototype.leadingDetachedComments = $util.emptyArray; /** * Creates a new Location instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.SourceCodeInfo.Location$Properties=} [properties] Properties to set * @returns {google.protobuf.SourceCodeInfo.Location} Location instance */ Location.create = function create(properties) { @@ -13572,7 +13189,7 @@ $root.google = (function() { /** * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. - * @param {google.protobuf.SourceCodeInfo.Location|Object.} message Location message or plain object to encode + * @param {google.protobuf.SourceCodeInfo.Location$Properties} message Location message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -13680,7 +13297,7 @@ $root.google = (function() { /** * Verifies a Location message. - * @param {Object.} message Location object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Location.verify = function verify(message) { @@ -13828,11 +13445,19 @@ $root.google = (function() { protobuf.GeneratedCodeInfo = (function() { + /** + * Properties of a GeneratedCodeInfo. + * @typedef google.protobuf.GeneratedCodeInfo$Properties + * @type Object + * @property {Array.} [annotation] GeneratedCodeInfo annotation. + */ + /** * Constructs a new GeneratedCodeInfo. * @exports google.protobuf.GeneratedCodeInfo + * @implements google.protobuf.GeneratedCodeInfo$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.GeneratedCodeInfo$Properties=} [properties] Properties to set */ function GeneratedCodeInfo(properties) { this.annotation = []; @@ -13841,15 +13466,11 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * GeneratedCodeInfo annotation. - * @type {Array.|undefined} - */ GeneratedCodeInfo.prototype.annotation = $util.emptyArray; /** * Creates a new GeneratedCodeInfo instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.GeneratedCodeInfo$Properties=} [properties] Properties to set * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo instance */ GeneratedCodeInfo.create = function create(properties) { @@ -13858,7 +13479,7 @@ $root.google = (function() { /** * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. - * @param {google.protobuf.GeneratedCodeInfo|Object.} message GeneratedCodeInfo message or plain object to encode + * @param {google.protobuf.GeneratedCodeInfo$Properties} message GeneratedCodeInfo message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -13924,7 +13545,7 @@ $root.google = (function() { /** * Verifies a GeneratedCodeInfo message. - * @param {Object.} message GeneratedCodeInfo object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ GeneratedCodeInfo.verify = function verify(message) { @@ -14012,11 +13633,22 @@ $root.google = (function() { GeneratedCodeInfo.Annotation = (function() { + /** + * Properties of an Annotation. + * @typedef google.protobuf.GeneratedCodeInfo.Annotation$Properties + * @type Object + * @property {Array.} [path] Annotation path. + * @property {string} [sourceFile] Annotation sourceFile. + * @property {number} [begin] Annotation begin. + * @property {number} [end] Annotation end. + */ + /** * Constructs a new Annotation. * @exports google.protobuf.GeneratedCodeInfo.Annotation + * @implements google.protobuf.GeneratedCodeInfo.Annotation$Properties * @constructor - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.GeneratedCodeInfo.Annotation$Properties=} [properties] Properties to set */ function Annotation(properties) { this.path = []; @@ -14025,33 +13657,14 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } - /** - * Annotation path. - * @type {Array.|undefined} - */ Annotation.prototype.path = $util.emptyArray; - - /** - * Annotation sourceFile. - * @type {string|undefined} - */ Annotation.prototype.sourceFile = ""; - - /** - * Annotation begin. - * @type {number|undefined} - */ Annotation.prototype.begin = 0; - - /** - * Annotation end. - * @type {number|undefined} - */ Annotation.prototype.end = 0; /** * Creates a new Annotation instance using the specified properties. - * @param {Object.=} [properties] Properties to set + * @param {google.protobuf.GeneratedCodeInfo.Annotation$Properties=} [properties] Properties to set * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation instance */ Annotation.create = function create(properties) { @@ -14060,7 +13673,7 @@ $root.google = (function() { /** * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. - * @param {google.protobuf.GeneratedCodeInfo.Annotation|Object.} message Annotation message or plain object to encode + * @param {google.protobuf.GeneratedCodeInfo.Annotation$Properties} message Annotation message or plain object to encode * @param {$protobuf.Writer} [writer] Writer to encode to * @returns {$protobuf.Writer} Writer */ @@ -14149,7 +13762,7 @@ $root.google = (function() { /** * Verifies an Annotation message. - * @param {Object.} message Annotation object to verify + * @param {Object.} message Plain object to verify * @returns {?string} `null` if valid, otherwise the reason why it is not */ Annotation.verify = function verify(message) {