diff --git a/README.md b/README.md index cf760b2f0..caa0ed7c8 100644 --- a/README.md +++ b/README.md @@ -452,11 +452,14 @@ var buffer = AwesomeMessage.encode(message).finish(); ... ``` -If you'd like to completely exclude long.js and/or node (Buffer) typings, there are two stubs available that can be referenced instead of the full type definitions: +**Note:** By default, the npm package ships with long.js including its typings and node typing as optional dependencies. However, where long.js and/or node Buffers are not required, there are two stubs available that can be referenced instead of the full type definitions: ```ts -/// -/// +/// +``` + +```ts +/// ``` Documentation diff --git a/cli/targets/static.js b/cli/targets/static.js index cdd49195b..ef6990574 100644 --- a/cli/targets/static.js +++ b/cli/targets/static.js @@ -251,6 +251,7 @@ function buildFunction(type, functionName, gen, scope) { } function toJsType(field) { + var type; switch (field.type) { case "double": case "float": @@ -259,26 +260,36 @@ function toJsType(field) { case "sint32": case "fixed32": case "sfixed32": - return "number"; + type = "number"; + break; case "int64": case "uint64": case "sint64": case "fixed64": case "sfixed64": - return config["strict-long"] ? "Long" : "number|Long"; + type = config["strict-long"] ? "Long" : "number|Long"; + break; case "bool": - return "boolean"; + type = "boolean"; + break; case "string": - return "string"; + type = "string"; + break; case "bytes": - return "Uint8Array"; + type = "Uint8Array"; + break; default: if (field.resolvedType instanceof Enum) - return "number"; - if (field.resolvedType instanceof Type) - return field.resolvedType.fullName.substring(1) + "$Properties"; - return "*"; // should not happen + type = field.resolvedType.fullName.substring(1); // reference the enum + else if (field.resolvedType instanceof Type) + type = field.resolvedType.fullName.substring(1) + "$Properties"; // reference the interface + else + type = "*"; // should not happen + break; } + return field.repeated ? "Array.<" + type + ">" + : field.map ? "Object." + : type; } function buildType(ref, type) { @@ -291,14 +302,10 @@ function buildType(ref, type) { "@type Object" ]; type.fieldsArray.forEach(function(field) { - var jsType = toJsType(field); - if (field.map) - jsType = "Object."; - else if (field.repeated) - jsType = "Array.<" + jsType + ">"; - var name = util.safeProp(field.name); - name = name.substring(1, name.charAt(0) === "[" ? name.length - 1 : name.length); - typeDef.push("@property {" + jsType + "} " + (field.optional ? "[" + name + "]" : field.name) + " " + (field.comment || type.name + " " + field.name + ".")); + var jsType = toJsType(field), + prop = util.safeProp(field.name); + prop = prop.substring(1, prop.charAt(0) === "[" ? prop.length - 1 : prop.length); + typeDef.push("@property {" + jsType + "} " + (field.optional ? "[" + prop + "]" : field.name) + " " + (field.comment || type.name + " " + field.name + ".")); }); push(""); pushComment(typeDef); @@ -320,14 +327,19 @@ function buildType(ref, type) { type.fieldsArray.forEach(function(field) { field.resolve(); var prop = util.safeProp(field.name); - if (firstField) { + if (config.comments) { + push(""); + pushComment([ + "@type {" + toJsType(field) + (field.optional ? "|undefined" : "") + "}" + ]); + } else if (firstField) { push(""); firstField = false; } if (field.repeated) - push(name(type.name) + ".prototype" + prop + " = $util.emptyArray;"); + push(name(type.name) + ".prototype" + prop + " = $util.emptyArray;"); // overwritten in constructor else if (field.map) - push(name(type.name) + ".prototype" + prop + " = $util.emptyObject;"); + push(name(type.name) + ".prototype" + prop + " = $util.emptyObject;"); // overwritten in constructor else if (field.long) push(name(type.name) + ".prototype" + prop + " = $util.Long ? $util.Long.fromBits(" + JSON.stringify(field.typeDefault.low) + "," diff --git a/tests/data/comments.js b/tests/data/comments.js index 41cb7f942..e9999f097 100644 --- a/tests/data/comments.js +++ b/tests/data/comments.js @@ -37,8 +37,19 @@ $root.Test1 = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ Test1.prototype.field1 = ""; + + /** + * @type {number|undefined} + */ Test1.prototype.field2 = 0; + + /** + * @type {boolean|undefined} + */ Test1.prototype.field3 = false; /** diff --git a/tests/data/convert.js b/tests/data/convert.js index 4c3a44069..a25b01b0e 100644 --- a/tests/data/convert.js +++ b/tests/data/convert.js @@ -21,8 +21,8 @@ $root.Message = (function() { * @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 {Message.SomeEnum} [enumVal] Message enumVal. + * @property {Array.} [enumRepeated] Message enumRepeated. * @property {Object.} [int64Map] Message int64Map. */ @@ -44,14 +44,49 @@ $root.Message = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ Message.prototype.stringVal = ""; + + /** + * @type {Array.|undefined} + */ Message.prototype.stringRepeated = $util.emptyArray; + + /** + * @type {number|Long|undefined} + */ Message.prototype.uint64Val = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * @type {Array.|undefined} + */ Message.prototype.uint64Repeated = $util.emptyArray; + + /** + * @type {Uint8Array|undefined} + */ Message.prototype.bytesVal = $util.newBuffer([]); + + /** + * @type {Array.|undefined} + */ Message.prototype.bytesRepeated = $util.emptyArray; + + /** + * @type {Message.SomeEnum|undefined} + */ Message.prototype.enumVal = 1; + + /** + * @type {Array.|undefined} + */ Message.prototype.enumRepeated = $util.emptyArray; + + /** + * @type {Object.|undefined} + */ Message.prototype.int64Map = $util.emptyObject; /** diff --git a/tests/data/mapbox/vector_tile.js b/tests/data/mapbox/vector_tile.js index d217c3719..a0f66b19d 100644 --- a/tests/data/mapbox/vector_tile.js +++ b/tests/data/mapbox/vector_tile.js @@ -24,7 +24,7 @@ $root.vector_tile = (function() { * Properties of a Tile. * @typedef vector_tile.Tile$Properties * @type Object - * @property {Array.} [layers] Tile layers. + * @property {Array.} [layers] Tile layers. */ /** @@ -41,6 +41,9 @@ $root.vector_tile = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {Array.|undefined} + */ Tile.prototype.layers = $util.emptyArray; /** @@ -253,12 +256,39 @@ $root.vector_tile = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ Value.prototype.stringValue = ""; + + /** + * @type {number|undefined} + */ Value.prototype.floatValue = 0; + + /** + * @type {number|undefined} + */ Value.prototype.doubleValue = 0; + + /** + * @type {number|Long|undefined} + */ Value.prototype.intValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * @type {number|Long|undefined} + */ Value.prototype.uintValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * @type {number|Long|undefined} + */ Value.prototype.sintValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * @type {boolean|undefined} + */ Value.prototype.boolValue = false; /** @@ -555,9 +585,24 @@ $root.vector_tile = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|Long|undefined} + */ Feature.prototype.id = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * @type {Array.|undefined} + */ Feature.prototype.tags = $util.emptyArray; + + /** + * @type {vector_tile.Tile.GeomType|undefined} + */ Feature.prototype.type = 0; + + /** + * @type {Array.|undefined} + */ Feature.prototype.geometry = $util.emptyArray; /** @@ -861,11 +906,34 @@ $root.vector_tile = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number} + */ Layer.prototype.version = 1; + + /** + * @type {string} + */ Layer.prototype.name = ""; + + /** + * @type {Array.|undefined} + */ Layer.prototype.features = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ Layer.prototype.keys = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ Layer.prototype.values = $util.emptyArray; + + /** + * @type {number|undefined} + */ Layer.prototype.extent = 4096; /** diff --git a/tests/data/package.js b/tests/data/package.js index e3eb702b9..cfd1f29ab 100644 --- a/tests/data/package.js +++ b/tests/data/package.js @@ -21,7 +21,7 @@ $root.Package = (function() { * @property {string} [description] Package description. * @property {string} [author] Package author. * @property {string} [license] Package license. - * @property {Package.Repository} [repository] Package repository. + * @property {Package.Repository$Properties} [repository] Package repository. * @property {string} [bugs] Package bugs. * @property {string} [homepage] Package homepage. * @property {Array.} [keywords] Package keywords. @@ -55,23 +55,94 @@ $root.Package = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ Package.prototype.name = ""; + + /** + * @type {string|undefined} + */ Package.prototype.version = ""; + + /** + * @type {string|undefined} + */ Package.prototype.versionScheme = ""; + + /** + * @type {string|undefined} + */ Package.prototype.description = ""; + + /** + * @type {string|undefined} + */ Package.prototype.author = ""; + + /** + * @type {string|undefined} + */ Package.prototype.license = ""; + + /** + * @type {Package.Repository$Properties|undefined} + */ Package.prototype.repository = null; + + /** + * @type {string|undefined} + */ Package.prototype.bugs = ""; + + /** + * @type {string|undefined} + */ Package.prototype.homepage = ""; + + /** + * @type {Array.|undefined} + */ Package.prototype.keywords = $util.emptyArray; + + /** + * @type {string|undefined} + */ Package.prototype.main = ""; + + /** + * @type {Object.|undefined} + */ Package.prototype.bin = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ Package.prototype.scripts = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ Package.prototype.dependencies = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ Package.prototype.optionalDependencies = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ Package.prototype.devDependencies = $util.emptyObject; + + /** + * @type {string|undefined} + */ Package.prototype.types = ""; + + /** + * @type {Array.|undefined} + */ Package.prototype.cliDependencies = $util.emptyArray; /** @@ -597,7 +668,14 @@ $root.Package = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ Repository.prototype.type = ""; + + /** + * @type {string|undefined} + */ Repository.prototype.url = ""; /** diff --git a/tests/data/rpc.d.ts b/tests/data/rpc.d.ts index d19c66a36..b62008b6b 100644 --- a/tests/data/rpc.d.ts +++ b/tests/data/rpc.d.ts @@ -15,6 +15,7 @@ type MyRequest$Properties = { export class MyRequest implements MyRequest$Properties { constructor(properties?: MyRequest$Properties); + public path?: string; public static create(properties?: MyRequest$Properties): MyRequest; public static encode(message: MyRequest$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: MyRequest$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -34,6 +35,7 @@ type MyResponse$Properties = { export class MyResponse implements MyResponse$Properties { constructor(properties?: MyResponse$Properties); + public status?: number; public static create(properties?: MyResponse$Properties): MyResponse; public static encode(message: MyResponse$Properties, writer?: $protobuf.Writer): $protobuf.Writer; public static encodeDelimited(message: MyResponse$Properties, writer?: $protobuf.Writer): $protobuf.Writer; diff --git a/tests/data/rpc.js b/tests/data/rpc.js index 347e4e3c4..ea8110eb3 100644 --- a/tests/data/rpc.js +++ b/tests/data/rpc.js @@ -89,6 +89,9 @@ $root.MyRequest = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ MyRequest.prototype.path = ""; /** @@ -259,6 +262,9 @@ $root.MyResponse = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|undefined} + */ MyResponse.prototype.status = 0; /** diff --git a/tests/data/test.d.ts b/tests/data/test.d.ts index 19f34bc81..3d2042ab8 100644 --- a/tests/data/test.d.ts +++ b/tests/data/test.d.ts @@ -27,11 +27,12 @@ export namespace jspb { } type EnumContainer$Properties = { - outerEnum?: number; + outerEnum?: jspb.test.OuterEnum; }; class EnumContainer implements jspb.test.EnumContainer$Properties { constructor(properties?: jspb.test.EnumContainer$Properties); + public outerEnum?: jspb.test.OuterEnum; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -53,6 +54,9 @@ export namespace jspb { class Simple1 implements jspb.test.Simple1$Properties { constructor(properties?: jspb.test.Simple1$Properties); + public aString: string; + public aRepeatedString?: string[]; + public aBoolean?: boolean; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -73,6 +77,8 @@ export namespace jspb { class Simple2 implements jspb.test.Simple2$Properties { constructor(properties?: jspb.test.Simple2$Properties); + public aString: string; + public aRepeatedString?: string[]; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -95,6 +101,10 @@ export namespace jspb { class SpecialCases implements jspb.test.SpecialCases$Properties { constructor(properties?: jspb.test.SpecialCases$Properties); + public normal: string; + public ["default"]: string; + public ["function"]: string; + public ["var"]: string; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -111,13 +121,18 @@ export namespace jspb { type OptionalFields$Properties = { aString?: string; aBool: boolean; - aNestedMessage?: jspb.test.OptionalFields.Nested; - aRepeatedMessage?: jspb.test.OptionalFields.Nested[]; + aNestedMessage?: jspb.test.OptionalFields.Nested$Properties; + aRepeatedMessage?: jspb.test.OptionalFields.Nested$Properties[]; aRepeatedString?: string[]; }; class OptionalFields implements jspb.test.OptionalFields$Properties { constructor(properties?: jspb.test.OptionalFields$Properties); + public aString?: string; + public aBool: boolean; + public aNestedMessage?: jspb.test.OptionalFields.Nested$Properties; + public aRepeatedMessage?: jspb.test.OptionalFields.Nested$Properties[]; + public aRepeatedString?: string[]; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -139,6 +154,7 @@ export namespace jspb { class Nested implements jspb.test.OptionalFields.Nested$Properties { constructor(properties?: jspb.test.OptionalFields.Nested$Properties); + public anInt?: number; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -157,16 +173,25 @@ export namespace jspb { str1?: string; str2?: string; str3?: string; - ".jspb.test.IsExtension.extField"?: jspb.test.IsExtension; - ".jspb.test.IndirectExtension.simple"?: jspb.test.Simple1; + ".jspb.test.IsExtension.extField"?: jspb.test.IsExtension$Properties; + ".jspb.test.IndirectExtension.simple"?: jspb.test.Simple1$Properties; ".jspb.test.IndirectExtension.str"?: string; ".jspb.test.IndirectExtension.repeatedStr"?: string[]; - ".jspb.test.IndirectExtension.repeatedSimple"?: jspb.test.Simple1[]; - ".jspb.test.simple1"?: jspb.test.Simple1; + ".jspb.test.IndirectExtension.repeatedSimple"?: jspb.test.Simple1$Properties[]; + ".jspb.test.simple1"?: jspb.test.Simple1$Properties; }; class HasExtensions implements jspb.test.HasExtensions$Properties { constructor(properties?: jspb.test.HasExtensions$Properties); + public str1?: string; + public str2?: string; + public str3?: string; + public [".jspb.test.IsExtension.extField"]?: jspb.test.IsExtension$Properties; + public [".jspb.test.IndirectExtension.simple"]?: jspb.test.Simple1$Properties; + public [".jspb.test.IndirectExtension.str"]?: string; + public [".jspb.test.IndirectExtension.repeatedStr"]?: string[]; + public [".jspb.test.IndirectExtension.repeatedSimple"]?: jspb.test.Simple1$Properties[]; + public [".jspb.test.simple1"]?: jspb.test.Simple1$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -183,13 +208,18 @@ export namespace jspb { type Complex$Properties = { aString: string; anOutOfOrderBool: boolean; - aNestedMessage?: jspb.test.Complex.Nested; - aRepeatedMessage?: jspb.test.Complex.Nested[]; + aNestedMessage?: jspb.test.Complex.Nested$Properties; + aRepeatedMessage?: jspb.test.Complex.Nested$Properties[]; aRepeatedString?: string[]; }; class Complex implements jspb.test.Complex$Properties { constructor(properties?: jspb.test.Complex$Properties); + public aString: string; + public anOutOfOrderBool: boolean; + public aNestedMessage?: jspb.test.Complex.Nested$Properties; + public aRepeatedMessage?: jspb.test.Complex.Nested$Properties[]; + public aRepeatedString?: string[]; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -211,6 +241,7 @@ export namespace jspb { class Nested implements jspb.test.Complex.Nested$Properties { constructor(properties?: jspb.test.Complex.Nested$Properties); + public anInt: number; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -250,6 +281,7 @@ export namespace jspb { class Complex implements jspb.test.OuterMessage.Complex$Properties { constructor(properties?: jspb.test.OuterMessage.Complex$Properties); + public innerComplexField?: number; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -270,6 +302,7 @@ export namespace jspb { class IsExtension implements jspb.test.IsExtension$Properties { constructor(properties?: jspb.test.IsExtension$Properties); + public ext1?: string; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -304,13 +337,19 @@ export namespace jspb { stringField?: string; boolField?: boolean; intField?: (number|Long); - enumField?: number; + enumField?: jspb.test.DefaultValues.Enum; emptyField?: string; bytesField?: Uint8Array; }; class DefaultValues implements jspb.test.DefaultValues$Properties { constructor(properties?: jspb.test.DefaultValues$Properties); + public stringField?: string; + public boolField?: boolean; + public intField?: (number|Long); + public enumField?: jspb.test.DefaultValues.Enum; + public emptyField?: string; + public bytesField?: Uint8Array; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -345,6 +384,14 @@ export namespace jspb { class FloatingPointFields implements jspb.test.FloatingPointFields$Properties { constructor(properties?: jspb.test.FloatingPointFields$Properties); + 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?: 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -360,15 +407,21 @@ export namespace jspb { type TestClone$Properties = { str?: string; - simple1?: jspb.test.Simple1; - simple2?: jspb.test.Simple1[]; + simple1?: jspb.test.Simple1$Properties; + simple2?: jspb.test.Simple1$Properties[]; bytesField?: Uint8Array; unused?: string; - ".jspb.test.CloneExtension.extField"?: jspb.test.CloneExtension; + ".jspb.test.CloneExtension.extField"?: jspb.test.CloneExtension$Properties; }; class TestClone implements jspb.test.TestClone$Properties { constructor(properties?: jspb.test.TestClone$Properties); + public str?: string; + public simple1?: jspb.test.Simple1$Properties; + public simple2?: jspb.test.Simple1$Properties[]; + public bytesField?: Uint8Array; + public unused?: string; + public [".jspb.test.CloneExtension.extField"]?: jspb.test.CloneExtension$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -388,6 +441,7 @@ export namespace jspb { class CloneExtension implements jspb.test.CloneExtension$Properties { constructor(properties?: jspb.test.CloneExtension$Properties); + public ext?: string; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -402,16 +456,22 @@ export namespace jspb { } type TestGroup$Properties = { - repeatedGroup?: jspb.test.TestGroup.RepeatedGroup[]; - requiredGroup: jspb.test.TestGroup.RequiredGroup; - optionalGroup?: jspb.test.TestGroup.OptionalGroup; + repeatedGroup?: jspb.test.TestGroup.RepeatedGroup$Properties[]; + requiredGroup: jspb.test.TestGroup.RequiredGroup$Properties; + optionalGroup?: jspb.test.TestGroup.OptionalGroup$Properties; id?: string; - requiredSimple: jspb.test.Simple2; - optionalSimple?: jspb.test.Simple2; + requiredSimple: jspb.test.Simple2$Properties; + optionalSimple?: jspb.test.Simple2$Properties; }; class TestGroup implements jspb.test.TestGroup$Properties { constructor(properties?: jspb.test.TestGroup$Properties); + public repeatedGroup?: jspb.test.TestGroup.RepeatedGroup$Properties[]; + public requiredGroup: jspb.test.TestGroup.RequiredGroup$Properties; + public optionalGroup?: jspb.test.TestGroup.OptionalGroup$Properties; + public id?: string; + public requiredSimple: jspb.test.Simple2$Properties; + public optionalSimple?: jspb.test.Simple2$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -434,6 +494,8 @@ export namespace jspb { class RepeatedGroup implements jspb.test.TestGroup.RepeatedGroup$Properties { constructor(properties?: jspb.test.TestGroup.RepeatedGroup$Properties); + public id: string; + public someBool?: boolean[]; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -453,6 +515,7 @@ export namespace jspb { class RequiredGroup implements jspb.test.TestGroup.RequiredGroup$Properties { constructor(properties?: jspb.test.TestGroup.RequiredGroup$Properties); + public id: string; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -472,6 +535,7 @@ export namespace jspb { class OptionalGroup implements jspb.test.TestGroup.OptionalGroup$Properties { constructor(properties?: jspb.test.TestGroup.OptionalGroup$Properties); + public id: string; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -487,11 +551,12 @@ export namespace jspb { } type TestGroup1$Properties = { - group?: jspb.test.TestGroup.RepeatedGroup; + group?: jspb.test.TestGroup.RepeatedGroup$Properties; }; class TestGroup1 implements jspb.test.TestGroup1$Properties { constructor(properties?: jspb.test.TestGroup1$Properties); + public group?: jspb.test.TestGroup.RepeatedGroup$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -512,6 +577,8 @@ export namespace jspb { class TestReservedNames implements jspb.test.TestReservedNames$Properties { constructor(properties?: jspb.test.TestReservedNames$Properties); + public extension?: number; + public [".jspb.test.TestReservedNamesExtension.foo"]?: number; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -545,7 +612,7 @@ export namespace jspb { type TestMessageWithOneof$Properties = { pone?: string; pthree?: string; - rone?: jspb.test.TestMessageWithOneof; + rone?: jspb.test.TestMessageWithOneof$Properties; rtwo?: string; normalField?: boolean; repeatedField?: string[]; @@ -557,6 +624,16 @@ export namespace jspb { class TestMessageWithOneof implements jspb.test.TestMessageWithOneof$Properties { constructor(properties?: jspb.test.TestMessageWithOneof$Properties); + public pone?: string; + public pthree?: string; + public rone?: jspb.test.TestMessageWithOneof$Properties; + public rtwo?: string; + public normalField?: boolean; + public repeatedField?: string[]; + public aone?: number; + public atwo?: number; + public bone?: number; + public btwo?: number; public partialOneof?: string; public recursiveOneof?: string; public defaultOneofA?: string; @@ -581,6 +658,8 @@ export namespace jspb { class TestEndsWithBytes implements jspb.test.TestEndsWithBytes$Properties { constructor(properties?: jspb.test.TestEndsWithBytes$Properties); + public value?: number; + public data?: Uint8Array; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -600,17 +679,29 @@ export namespace jspb { mapStringInt64?: { [k: string]: (number|Long) }; mapStringBool?: { [k: string]: boolean }; mapStringDouble?: { [k: string]: number }; - mapStringEnum?: { [k: string]: number }; - mapStringMsg?: { [k: string]: jspb.test.MapValueMessageNoBinary }; + mapStringEnum?: { [k: string]: jspb.test.MapValueEnumNoBinary }; + mapStringMsg?: { [k: string]: jspb.test.MapValueMessageNoBinary$Properties }; mapInt32String?: { [k: string]: string }; mapInt64String?: { [k: string]: string }; mapBoolString?: { [k: string]: string }; - testMapFields?: jspb.test.TestMapFieldsNoBinary; - mapStringTestmapfields?: { [k: string]: jspb.test.TestMapFieldsNoBinary }; + testMapFields?: jspb.test.TestMapFieldsNoBinary$Properties; + mapStringTestmapfields?: { [k: string]: jspb.test.TestMapFieldsNoBinary$Properties }; }; class TestMapFieldsNoBinary implements jspb.test.TestMapFieldsNoBinary$Properties { constructor(properties?: jspb.test.TestMapFieldsNoBinary$Properties); + public mapStringString?: { [k: string]: string }; + public mapStringInt32?: { [k: string]: number }; + public mapStringInt64?: { [k: string]: (number|Long) }; + public mapStringBool?: { [k: string]: boolean }; + public mapStringDouble?: { [k: string]: number }; + public mapStringEnum?: { [k: string]: jspb.test.MapValueEnumNoBinary }; + public mapStringMsg?: { [k: string]: jspb.test.MapValueMessageNoBinary$Properties }; + public mapInt32String?: { [k: string]: string }; + public mapInt64String?: { [k: string]: string }; + public mapBoolString?: { [k: string]: string }; + public testMapFields?: jspb.test.TestMapFieldsNoBinary$Properties; + public mapStringTestmapfields?: { [k: string]: 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -636,6 +727,7 @@ export namespace jspb { class MapValueMessageNoBinary implements jspb.test.MapValueMessageNoBinary$Properties { constructor(properties?: jspb.test.MapValueMessageNoBinary$Properties); + public foo?: number; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -693,6 +785,7 @@ export namespace jspb { class Message implements jspb.test.Deeply.Nested.Message$Properties { constructor(properties?: jspb.test.Deeply.Nested.Message$Properties); + public count?: number; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -715,11 +808,12 @@ export namespace google { namespace protobuf { type FileDescriptorSet$Properties = { - file?: google.protobuf.FileDescriptorProto[]; + file?: google.protobuf.FileDescriptorProto$Properties[]; }; class FileDescriptorSet implements google.protobuf.FileDescriptorSet$Properties { constructor(properties?: google.protobuf.FileDescriptorSet$Properties); + public file?: google.protobuf.FileDescriptorProto$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -739,17 +833,29 @@ export namespace google { 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; + messageType?: google.protobuf.DescriptorProto$Properties[]; + enumType?: google.protobuf.EnumDescriptorProto$Properties[]; + service?: google.protobuf.ServiceDescriptorProto$Properties[]; + extension?: google.protobuf.FieldDescriptorProto$Properties[]; + options?: google.protobuf.FileOptions$Properties; + sourceCodeInfo?: google.protobuf.SourceCodeInfo$Properties; syntax?: string; }; class FileDescriptorProto implements google.protobuf.FileDescriptorProto$Properties { constructor(properties?: google.protobuf.FileDescriptorProto$Properties); + public name?: string; + public ["package"]?: string; + public dependency?: string[]; + public publicDependency?: number[]; + public weakDependency?: number[]; + public messageType?: google.protobuf.DescriptorProto$Properties[]; + public enumType?: google.protobuf.EnumDescriptorProto$Properties[]; + public service?: google.protobuf.ServiceDescriptorProto$Properties[]; + public extension?: google.protobuf.FieldDescriptorProto$Properties[]; + public options?: google.protobuf.FileOptions$Properties; + public sourceCodeInfo?: google.protobuf.SourceCodeInfo$Properties; + public syntax?: string; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -765,19 +871,29 @@ export namespace google { type 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[]; + field?: google.protobuf.FieldDescriptorProto$Properties[]; + extension?: google.protobuf.FieldDescriptorProto$Properties[]; + nestedType?: google.protobuf.DescriptorProto$Properties[]; + enumType?: google.protobuf.EnumDescriptorProto$Properties[]; + extensionRange?: google.protobuf.DescriptorProto.ExtensionRange$Properties[]; + oneofDecl?: google.protobuf.OneofDescriptorProto$Properties[]; + options?: google.protobuf.MessageOptions$Properties; + reservedRange?: google.protobuf.DescriptorProto.ReservedRange$Properties[]; reservedName?: string[]; }; class DescriptorProto implements google.protobuf.DescriptorProto$Properties { constructor(properties?: google.protobuf.DescriptorProto$Properties); + public name?: string; + public field?: google.protobuf.FieldDescriptorProto$Properties[]; + public extension?: google.protobuf.FieldDescriptorProto$Properties[]; + public nestedType?: google.protobuf.DescriptorProto$Properties[]; + public enumType?: google.protobuf.EnumDescriptorProto$Properties[]; + public extensionRange?: google.protobuf.DescriptorProto.ExtensionRange$Properties[]; + public oneofDecl?: google.protobuf.OneofDescriptorProto$Properties[]; + public options?: google.protobuf.MessageOptions$Properties; + public reservedRange?: google.protobuf.DescriptorProto.ReservedRange$Properties[]; + public reservedName?: string[]; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -800,6 +916,8 @@ export namespace google { class ExtensionRange implements google.protobuf.DescriptorProto.ExtensionRange$Properties { constructor(properties?: google.protobuf.DescriptorProto.ExtensionRange$Properties); + public start?: number; + public end?: number; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -820,6 +938,8 @@ export namespace google { class ReservedRange implements google.protobuf.DescriptorProto.ReservedRange$Properties { constructor(properties?: google.protobuf.DescriptorProto.ReservedRange$Properties); + public start?: number; + public end?: number; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -837,18 +957,28 @@ export namespace google { type FieldDescriptorProto$Properties = { name?: string; number?: number; - label?: number; - type?: number; + label?: google.protobuf.FieldDescriptorProto.Label; + type?: google.protobuf.FieldDescriptorProto.Type; typeName?: string; extendee?: string; defaultValue?: string; oneofIndex?: number; jsonName?: string; - options?: google.protobuf.FieldOptions; + options?: google.protobuf.FieldOptions$Properties; }; class FieldDescriptorProto implements google.protobuf.FieldDescriptorProto$Properties { constructor(properties?: google.protobuf.FieldDescriptorProto$Properties); + public name?: string; + public number?: number; + public label?: google.protobuf.FieldDescriptorProto.Label; + public type?: google.protobuf.FieldDescriptorProto.Type; + public typeName?: string; + public extendee?: string; + public defaultValue?: string; + public oneofIndex?: number; + public jsonName?: string; + public options?: google.protobuf.FieldOptions$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -894,11 +1024,13 @@ export namespace google { type OneofDescriptorProto$Properties = { name?: string; - options?: google.protobuf.OneofOptions; + options?: google.protobuf.OneofOptions$Properties; }; class OneofDescriptorProto implements google.protobuf.OneofDescriptorProto$Properties { constructor(properties?: google.protobuf.OneofDescriptorProto$Properties); + public name?: string; + public options?: google.protobuf.OneofOptions$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -914,12 +1046,15 @@ export namespace google { type EnumDescriptorProto$Properties = { name?: string; - value?: google.protobuf.EnumValueDescriptorProto[]; - options?: google.protobuf.EnumOptions; + value?: google.protobuf.EnumValueDescriptorProto$Properties[]; + options?: google.protobuf.EnumOptions$Properties; }; class EnumDescriptorProto implements google.protobuf.EnumDescriptorProto$Properties { constructor(properties?: google.protobuf.EnumDescriptorProto$Properties); + public name?: string; + public value?: google.protobuf.EnumValueDescriptorProto$Properties[]; + public options?: google.protobuf.EnumOptions$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -936,11 +1071,14 @@ export namespace google { type EnumValueDescriptorProto$Properties = { name?: string; number?: number; - options?: google.protobuf.EnumValueOptions; + options?: google.protobuf.EnumValueOptions$Properties; }; class EnumValueDescriptorProto implements google.protobuf.EnumValueDescriptorProto$Properties { constructor(properties?: google.protobuf.EnumValueDescriptorProto$Properties); + public name?: string; + public number?: number; + public options?: google.protobuf.EnumValueOptions$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -956,12 +1094,15 @@ export namespace google { type ServiceDescriptorProto$Properties = { name?: string; - method?: google.protobuf.MethodDescriptorProto[]; - options?: google.protobuf.ServiceOptions; + method?: google.protobuf.MethodDescriptorProto$Properties[]; + options?: google.protobuf.ServiceOptions$Properties; }; class ServiceDescriptorProto implements google.protobuf.ServiceDescriptorProto$Properties { constructor(properties?: google.protobuf.ServiceDescriptorProto$Properties); + public name?: string; + public method?: google.protobuf.MethodDescriptorProto$Properties[]; + public options?: google.protobuf.ServiceOptions$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -979,13 +1120,19 @@ export namespace google { name?: string; inputType?: string; outputType?: string; - options?: google.protobuf.MethodOptions; + options?: google.protobuf.MethodOptions$Properties; clientStreaming?: boolean; serverStreaming?: boolean; }; class MethodDescriptorProto implements google.protobuf.MethodDescriptorProto$Properties { constructor(properties?: google.protobuf.MethodDescriptorProto$Properties); + public name?: string; + public inputType?: string; + public outputType?: string; + public options?: google.protobuf.MethodOptions$Properties; + public clientStreaming?: boolean; + public serverStreaming?: boolean; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1005,7 +1152,7 @@ export namespace google { javaMultipleFiles?: boolean; javaGenerateEqualsAndHash?: boolean; javaStringCheckUtf8?: boolean; - optimizeFor?: number; + optimizeFor?: google.protobuf.FileOptions.OptimizeMode; goPackage?: string; ccGenericServices?: boolean; javaGenericServices?: boolean; @@ -1014,11 +1161,26 @@ export namespace google { ccEnableArenas?: boolean; objcClassPrefix?: string; csharpNamespace?: string; - uninterpretedOption?: google.protobuf.UninterpretedOption[]; + uninterpretedOption?: google.protobuf.UninterpretedOption$Properties[]; }; class FileOptions implements google.protobuf.FileOptions$Properties { constructor(properties?: google.protobuf.FileOptions$Properties); + public javaPackage?: string; + public javaOuterClassname?: string; + public javaMultipleFiles?: boolean; + public javaGenerateEqualsAndHash?: boolean; + public javaStringCheckUtf8?: boolean; + public optimizeFor?: google.protobuf.FileOptions.OptimizeMode; + 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$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1046,11 +1208,16 @@ export namespace google { noStandardDescriptorAccessor?: boolean; deprecated?: boolean; mapEntry?: boolean; - uninterpretedOption?: google.protobuf.UninterpretedOption[]; + uninterpretedOption?: google.protobuf.UninterpretedOption$Properties[]; }; class MessageOptions implements google.protobuf.MessageOptions$Properties { constructor(properties?: google.protobuf.MessageOptions$Properties); + public messageSetWireFormat?: boolean; + public noStandardDescriptorAccessor?: boolean; + public deprecated?: boolean; + public mapEntry?: boolean; + public uninterpretedOption?: google.protobuf.UninterpretedOption$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1065,17 +1232,24 @@ export namespace google { } type FieldOptions$Properties = { - ctype?: number; + ctype?: google.protobuf.FieldOptions.CType; packed?: boolean; - jstype?: number; + jstype?: google.protobuf.FieldOptions.JSType; lazy?: boolean; deprecated?: boolean; weak?: boolean; - uninterpretedOption?: google.protobuf.UninterpretedOption[]; + uninterpretedOption?: google.protobuf.UninterpretedOption$Properties[]; }; class FieldOptions implements google.protobuf.FieldOptions$Properties { constructor(properties?: google.protobuf.FieldOptions$Properties); + public ctype?: google.protobuf.FieldOptions.CType; + public packed?: boolean; + public jstype?: google.protobuf.FieldOptions.JSType; + public lazy?: boolean; + public deprecated?: boolean; + public weak?: boolean; + public uninterpretedOption?: google.protobuf.UninterpretedOption$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1105,11 +1279,12 @@ export namespace google { } type OneofOptions$Properties = { - uninterpretedOption?: google.protobuf.UninterpretedOption[]; + uninterpretedOption?: google.protobuf.UninterpretedOption$Properties[]; }; class OneofOptions implements google.protobuf.OneofOptions$Properties { constructor(properties?: google.protobuf.OneofOptions$Properties); + public uninterpretedOption?: google.protobuf.UninterpretedOption$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1126,12 +1301,16 @@ export namespace google { type EnumOptions$Properties = { allowAlias?: boolean; deprecated?: boolean; - uninterpretedOption?: google.protobuf.UninterpretedOption[]; + uninterpretedOption?: google.protobuf.UninterpretedOption$Properties[]; ".jspb.test.IsExtension.simpleOption"?: string; }; class EnumOptions implements google.protobuf.EnumOptions$Properties { constructor(properties?: google.protobuf.EnumOptions$Properties); + public allowAlias?: boolean; + public deprecated?: boolean; + public uninterpretedOption?: google.protobuf.UninterpretedOption$Properties[]; + public [".jspb.test.IsExtension.simpleOption"]?: string; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1147,11 +1326,13 @@ export namespace google { type EnumValueOptions$Properties = { deprecated?: boolean; - uninterpretedOption?: google.protobuf.UninterpretedOption[]; + uninterpretedOption?: google.protobuf.UninterpretedOption$Properties[]; }; class EnumValueOptions implements google.protobuf.EnumValueOptions$Properties { constructor(properties?: google.protobuf.EnumValueOptions$Properties); + public deprecated?: boolean; + public uninterpretedOption?: google.protobuf.UninterpretedOption$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1167,11 +1348,13 @@ export namespace google { type ServiceOptions$Properties = { deprecated?: boolean; - uninterpretedOption?: google.protobuf.UninterpretedOption[]; + uninterpretedOption?: google.protobuf.UninterpretedOption$Properties[]; }; class ServiceOptions implements google.protobuf.ServiceOptions$Properties { constructor(properties?: google.protobuf.ServiceOptions$Properties); + public deprecated?: boolean; + public uninterpretedOption?: google.protobuf.UninterpretedOption$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1187,12 +1370,15 @@ export namespace google { type MethodOptions$Properties = { deprecated?: boolean; - idempotencyLevel?: number; - uninterpretedOption?: google.protobuf.UninterpretedOption[]; + idempotencyLevel?: google.protobuf.MethodOptions.IdempotencyLevel; + uninterpretedOption?: google.protobuf.UninterpretedOption$Properties[]; }; class MethodOptions implements google.protobuf.MethodOptions$Properties { constructor(properties?: google.protobuf.MethodOptions$Properties); + public deprecated?: boolean; + public idempotencyLevel?: google.protobuf.MethodOptions.IdempotencyLevel; + public uninterpretedOption?: google.protobuf.UninterpretedOption$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1216,7 +1402,7 @@ export namespace google { } type UninterpretedOption$Properties = { - name?: google.protobuf.UninterpretedOption.NamePart[]; + name?: google.protobuf.UninterpretedOption.NamePart$Properties[]; identifierValue?: string; positiveIntValue?: (number|Long); negativeIntValue?: (number|Long); @@ -1227,6 +1413,13 @@ export namespace google { class UninterpretedOption implements google.protobuf.UninterpretedOption$Properties { constructor(properties?: google.protobuf.UninterpretedOption$Properties); + public name?: google.protobuf.UninterpretedOption.NamePart$Properties[]; + public identifierValue?: string; + public positiveIntValue?: (number|Long); + public negativeIntValue?: (number|Long); + public doubleValue?: number; + public stringValue?: Uint8Array; + public aggregateValue?: string; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1249,6 +1442,8 @@ export namespace google { class NamePart implements google.protobuf.UninterpretedOption.NamePart$Properties { constructor(properties?: google.protobuf.UninterpretedOption.NamePart$Properties); + public namePart: string; + public isExtension: boolean; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1264,11 +1459,12 @@ export namespace google { } type SourceCodeInfo$Properties = { - location?: google.protobuf.SourceCodeInfo.Location[]; + location?: google.protobuf.SourceCodeInfo.Location$Properties[]; }; class SourceCodeInfo implements google.protobuf.SourceCodeInfo$Properties { constructor(properties?: google.protobuf.SourceCodeInfo$Properties); + public location?: google.protobuf.SourceCodeInfo.Location$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1294,6 +1490,11 @@ export namespace google { class Location implements google.protobuf.SourceCodeInfo.Location$Properties { constructor(properties?: google.protobuf.SourceCodeInfo.Location$Properties); + public path?: number[]; + public span?: number[]; + public leadingComments?: string; + public trailingComments?: string; + public leadingDetachedComments?: string[]; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1309,11 +1510,12 @@ export namespace google { } type GeneratedCodeInfo$Properties = { - annotation?: google.protobuf.GeneratedCodeInfo.Annotation[]; + annotation?: google.protobuf.GeneratedCodeInfo.Annotation$Properties[]; }; class GeneratedCodeInfo implements google.protobuf.GeneratedCodeInfo$Properties { constructor(properties?: google.protobuf.GeneratedCodeInfo$Properties); + public annotation?: google.protobuf.GeneratedCodeInfo.Annotation$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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; @@ -1338,6 +1540,10 @@ export namespace google { class Annotation implements google.protobuf.GeneratedCodeInfo.Annotation$Properties { constructor(properties?: google.protobuf.GeneratedCodeInfo.Annotation$Properties); + public path?: number[]; + public sourceFile?: string; + public begin?: number; + public end?: number; 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$Properties, writer?: $protobuf.Writer): $protobuf.Writer; diff --git a/tests/data/test.js b/tests/data/test.js index 4539253ef..9685e57ed 100644 --- a/tests/data/test.js +++ b/tests/data/test.js @@ -197,7 +197,7 @@ $root.jspb = (function() { * Properties of an EnumContainer. * @typedef jspb.test.EnumContainer$Properties * @type Object - * @property {number} [outerEnum] EnumContainer outerEnum. + * @property {jspb.test.OuterEnum} [outerEnum] EnumContainer outerEnum. */ /** @@ -213,6 +213,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {jspb.test.OuterEnum|undefined} + */ EnumContainer.prototype.outerEnum = 1; /** @@ -399,8 +402,19 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string} + */ Simple1.prototype.aString = ""; + + /** + * @type {Array.|undefined} + */ Simple1.prototype.aRepeatedString = $util.emptyArray; + + /** + * @type {boolean|undefined} + */ Simple1.prototype.aBoolean = false; /** @@ -616,7 +630,14 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string} + */ Simple2.prototype.aString = ""; + + /** + * @type {Array.|undefined} + */ Simple2.prototype.aRepeatedString = $util.emptyArray; /** @@ -819,9 +840,24 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string} + */ SpecialCases.prototype.normal = ""; + + /** + * @type {string} + */ SpecialCases.prototype["default"] = ""; + + /** + * @type {string} + */ SpecialCases.prototype["function"] = ""; + + /** + * @type {string} + */ SpecialCases.prototype["var"] = ""; /** @@ -1018,8 +1054,8 @@ $root.jspb = (function() { * @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 {jspb.test.OptionalFields.Nested$Properties} [aNestedMessage] OptionalFields aNestedMessage. + * @property {Array.} [aRepeatedMessage] OptionalFields aRepeatedMessage. * @property {Array.} [aRepeatedString] OptionalFields aRepeatedString. */ @@ -1038,10 +1074,29 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ OptionalFields.prototype.aString = ""; + + /** + * @type {boolean} + */ OptionalFields.prototype.aBool = false; + + /** + * @type {jspb.test.OptionalFields.Nested$Properties|undefined} + */ OptionalFields.prototype.aNestedMessage = null; + + /** + * @type {Array.|undefined} + */ OptionalFields.prototype.aRepeatedMessage = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ OptionalFields.prototype.aRepeatedString = $util.emptyArray; /** @@ -1304,6 +1359,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|undefined} + */ Nested.prototype.anInt = 0; /** @@ -1464,12 +1522,12 @@ $root.jspb = (function() { * @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 {jspb.test.IsExtension$Properties} [".jspb.test.IsExtension.extField"] HasExtensions .jspb.test.IsExtension.extField. + * @property {jspb.test.Simple1$Properties} [".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. + * @property {Array.} [".jspb.test.IndirectExtension.repeatedSimple"] HasExtensions .jspb.test.IndirectExtension.repeatedSimple. + * @property {jspb.test.Simple1$Properties} [".jspb.test.simple1"] HasExtensions .jspb.test.simple1. */ /** @@ -1487,14 +1545,49 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ HasExtensions.prototype.str1 = ""; + + /** + * @type {string|undefined} + */ HasExtensions.prototype.str2 = ""; + + /** + * @type {string|undefined} + */ HasExtensions.prototype.str3 = ""; + + /** + * @type {jspb.test.IsExtension$Properties|undefined} + */ HasExtensions.prototype[".jspb.test.IsExtension.extField"] = null; + + /** + * @type {jspb.test.Simple1$Properties|undefined} + */ HasExtensions.prototype[".jspb.test.IndirectExtension.simple"] = null; + + /** + * @type {string|undefined} + */ HasExtensions.prototype[".jspb.test.IndirectExtension.str"] = ""; + + /** + * @type {Array.|undefined} + */ HasExtensions.prototype[".jspb.test.IndirectExtension.repeatedStr"] = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ HasExtensions.prototype[".jspb.test.IndirectExtension.repeatedSimple"] = $util.emptyArray; + + /** + * @type {jspb.test.Simple1$Properties|undefined} + */ HasExtensions.prototype[".jspb.test.simple1"] = null; /** @@ -1808,8 +1901,8 @@ $root.jspb = (function() { * @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 {jspb.test.Complex.Nested$Properties} [aNestedMessage] Complex aNestedMessage. + * @property {Array.} [aRepeatedMessage] Complex aRepeatedMessage. * @property {Array.} [aRepeatedString] Complex aRepeatedString. */ @@ -1828,10 +1921,29 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string} + */ Complex.prototype.aString = ""; + + /** + * @type {boolean} + */ Complex.prototype.anOutOfOrderBool = false; + + /** + * @type {jspb.test.Complex.Nested$Properties|undefined} + */ Complex.prototype.aNestedMessage = null; + + /** + * @type {Array.|undefined} + */ Complex.prototype.aRepeatedMessage = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ Complex.prototype.aRepeatedString = $util.emptyArray; /** @@ -2094,6 +2206,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number} + */ Nested.prototype.anInt = 0; /** @@ -2413,6 +2528,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|undefined} + */ Complex.prototype.innerComplexField = 0; /** @@ -2586,6 +2704,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ IsExtension.prototype.ext1 = ""; /** @@ -2892,7 +3013,7 @@ $root.jspb = (function() { * @property {string} [stringField] DefaultValues stringField. * @property {boolean} [boolField] DefaultValues boolField. * @property {number|Long} [intField] DefaultValues intField. - * @property {number} [enumField] DefaultValues enumField. + * @property {jspb.test.DefaultValues.Enum} [enumField] DefaultValues enumField. * @property {string} [emptyField] DefaultValues emptyField. * @property {Uint8Array} [bytesField] DefaultValues bytesField. */ @@ -2910,11 +3031,34 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ DefaultValues.prototype.stringField = "default<>abc"; + + /** + * @type {boolean|undefined} + */ DefaultValues.prototype.boolField = true; + + /** + * @type {number|Long|undefined} + */ DefaultValues.prototype.intField = $util.Long ? $util.Long.fromBits(11,0,false) : 11; + + /** + * @type {jspb.test.DefaultValues.Enum|undefined} + */ DefaultValues.prototype.enumField = 13; + + /** + * @type {string|undefined} + */ DefaultValues.prototype.emptyField = ""; + + /** + * @type {Uint8Array|undefined} + */ DefaultValues.prototype.bytesField = $util.newBuffer([109,111,111]); /** @@ -3209,13 +3353,44 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|undefined} + */ FloatingPointFields.prototype.optionalFloatField = 0; + + /** + * @type {number} + */ FloatingPointFields.prototype.requiredFloatField = 0; + + /** + * @type {Array.|undefined} + */ FloatingPointFields.prototype.repeatedFloatField = $util.emptyArray; + + /** + * @type {number|undefined} + */ FloatingPointFields.prototype.defaultFloatField = 2; + + /** + * @type {number|undefined} + */ FloatingPointFields.prototype.optionalDoubleField = 0; + + /** + * @type {number} + */ FloatingPointFields.prototype.requiredDoubleField = 0; + + /** + * @type {Array.|undefined} + */ FloatingPointFields.prototype.repeatedDoubleField = $util.emptyArray; + + /** + * @type {number|undefined} + */ FloatingPointFields.prototype.defaultDoubleField = 2; /** @@ -3505,11 +3680,11 @@ $root.jspb = (function() { * @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 {jspb.test.Simple1$Properties} [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. + * @property {jspb.test.CloneExtension$Properties} [".jspb.test.CloneExtension.extField"] TestClone .jspb.test.CloneExtension.extField. */ /** @@ -3526,11 +3701,34 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ TestClone.prototype.str = ""; + + /** + * @type {jspb.test.Simple1$Properties|undefined} + */ TestClone.prototype.simple1 = null; + + /** + * @type {Array.|undefined} + */ TestClone.prototype.simple2 = $util.emptyArray; + + /** + * @type {Uint8Array|undefined} + */ TestClone.prototype.bytesField = $util.newBuffer([]); + + /** + * @type {string|undefined} + */ TestClone.prototype.unused = ""; + + /** + * @type {jspb.test.CloneExtension$Properties|undefined} + */ TestClone.prototype[".jspb.test.CloneExtension.extField"] = null; /** @@ -3801,6 +3999,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ CloneExtension.prototype.ext = ""; /** @@ -3955,12 +4156,12 @@ $root.jspb = (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 {Array.} [repeatedGroup] TestGroup repeatedGroup. + * @property {jspb.test.TestGroup.RequiredGroup$Properties} requiredGroup TestGroup requiredGroup. + * @property {jspb.test.TestGroup.OptionalGroup$Properties} [optionalGroup] TestGroup optionalGroup. * @property {string} [id] TestGroup id. - * @property {jspb.test.Simple2} requiredSimple TestGroup requiredSimple. - * @property {jspb.test.Simple2} [optionalSimple] TestGroup optionalSimple. + * @property {jspb.test.Simple2$Properties} requiredSimple TestGroup requiredSimple. + * @property {jspb.test.Simple2$Properties} [optionalSimple] TestGroup optionalSimple. */ /** @@ -3977,11 +4178,34 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {Array.|undefined} + */ TestGroup.prototype.repeatedGroup = $util.emptyArray; + + /** + * @type {jspb.test.TestGroup.RequiredGroup$Properties} + */ TestGroup.prototype.requiredGroup = null; + + /** + * @type {jspb.test.TestGroup.OptionalGroup$Properties|undefined} + */ TestGroup.prototype.optionalGroup = null; + + /** + * @type {string|undefined} + */ TestGroup.prototype.id = ""; + + /** + * @type {jspb.test.Simple2$Properties} + */ TestGroup.prototype.requiredSimple = null; + + /** + * @type {jspb.test.Simple2$Properties|undefined} + */ TestGroup.prototype.optionalSimple = null; /** @@ -4256,7 +4480,14 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string} + */ RepeatedGroup.prototype.id = ""; + + /** + * @type {Array.|undefined} + */ RepeatedGroup.prototype.someBool = $util.emptyArray; /** @@ -4463,6 +4694,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string} + */ RequiredGroup.prototype.id = ""; /** @@ -4635,6 +4869,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string} + */ OptionalGroup.prototype.id = ""; /** @@ -4794,7 +5031,7 @@ $root.jspb = (function() { * Properties of a TestGroup1. * @typedef jspb.test.TestGroup1$Properties * @type Object - * @property {jspb.test.TestGroup.RepeatedGroup} [group] TestGroup1 group. + * @property {jspb.test.TestGroup.RepeatedGroup$Properties} [group] TestGroup1 group. */ /** @@ -4810,6 +5047,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {jspb.test.TestGroup.RepeatedGroup$Properties|undefined} + */ TestGroup1.prototype.group = null; /** @@ -4986,7 +5226,14 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|undefined} + */ TestReservedNames.prototype.extension = 0; + + /** + * @type {number|undefined} + */ TestReservedNames.prototype[".jspb.test.TestReservedNamesExtension.foo"] = 0; /** @@ -5306,7 +5553,7 @@ $root.jspb = (function() { * @type Object * @property {string} [pone] TestMessageWithOneof pone. * @property {string} [pthree] TestMessageWithOneof pthree. - * @property {jspb.test.TestMessageWithOneof} [rone] TestMessageWithOneof rone. + * @property {jspb.test.TestMessageWithOneof$Properties} [rone] TestMessageWithOneof rone. * @property {string} [rtwo] TestMessageWithOneof rtwo. * @property {boolean} [normalField] TestMessageWithOneof normalField. * @property {Array.} [repeatedField] TestMessageWithOneof repeatedField. @@ -5330,15 +5577,54 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ TestMessageWithOneof.prototype.pone = ""; + + /** + * @type {string|undefined} + */ TestMessageWithOneof.prototype.pthree = ""; + + /** + * @type {jspb.test.TestMessageWithOneof$Properties|undefined} + */ TestMessageWithOneof.prototype.rone = null; + + /** + * @type {string|undefined} + */ TestMessageWithOneof.prototype.rtwo = ""; + + /** + * @type {boolean|undefined} + */ TestMessageWithOneof.prototype.normalField = false; + + /** + * @type {Array.|undefined} + */ TestMessageWithOneof.prototype.repeatedField = $util.emptyArray; + + /** + * @type {number|undefined} + */ TestMessageWithOneof.prototype.aone = 1234; + + /** + * @type {number|undefined} + */ TestMessageWithOneof.prototype.atwo = 0; + + /** + * @type {number|undefined} + */ TestMessageWithOneof.prototype.bone = 0; + + /** + * @type {number|undefined} + */ TestMessageWithOneof.prototype.btwo = 1234; // OneOf field names bound to virtual getters and setters @@ -5731,7 +6017,14 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|undefined} + */ TestEndsWithBytes.prototype.value = 0; + + /** + * @type {Uint8Array|undefined} + */ TestEndsWithBytes.prototype.data = $util.newBuffer([]); /** @@ -5908,13 +6201,13 @@ $root.jspb = (function() { * @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.} [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. + * @property {jspb.test.TestMapFieldsNoBinary$Properties} [testMapFields] TestMapFieldsNoBinary testMapFields. + * @property {Object.} [mapStringTestmapfields] TestMapFieldsNoBinary mapStringTestmapfields. */ /** @@ -5941,18 +6234,65 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {Object.|undefined} + */ TestMapFieldsNoBinary.prototype.mapStringString = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ TestMapFieldsNoBinary.prototype.mapStringInt32 = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ TestMapFieldsNoBinary.prototype.mapStringInt64 = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ TestMapFieldsNoBinary.prototype.mapStringBool = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ TestMapFieldsNoBinary.prototype.mapStringDouble = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ TestMapFieldsNoBinary.prototype.mapStringEnum = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ TestMapFieldsNoBinary.prototype.mapStringMsg = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ TestMapFieldsNoBinary.prototype.mapInt32String = $util.emptyObject; - TestMapFieldsNoBinary.prototype.mapInt64String = $util.emptyObject; - TestMapFieldsNoBinary.prototype.mapBoolString = $util.emptyObject; - TestMapFieldsNoBinary.prototype.testMapFields = null; - TestMapFieldsNoBinary.prototype.mapStringTestmapfields = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ + TestMapFieldsNoBinary.prototype.mapInt64String = $util.emptyObject; + + /** + * @type {Object.|undefined} + */ + TestMapFieldsNoBinary.prototype.mapBoolString = $util.emptyObject; + + /** + * @type {jspb.test.TestMapFieldsNoBinary$Properties|undefined} + */ + TestMapFieldsNoBinary.prototype.testMapFields = null; + + /** + * @type {Object.|undefined} + */ + TestMapFieldsNoBinary.prototype.mapStringTestmapfields = $util.emptyObject; /** * Creates a new TestMapFieldsNoBinary instance using the specified properties. @@ -6551,6 +6891,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|undefined} + */ MapValueMessageNoBinary.prototype.foo = 0; /** @@ -7013,6 +7356,9 @@ $root.jspb = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|undefined} + */ Message.prototype.count = 0; /** @@ -7197,7 +7543,7 @@ $root.google = (function() { * Properties of a FileDescriptorSet. * @typedef google.protobuf.FileDescriptorSet$Properties * @type Object - * @property {Array.} [file] FileDescriptorSet file. + * @property {Array.} [file] FileDescriptorSet file. */ /** @@ -7214,6 +7560,9 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {Array.|undefined} + */ FileDescriptorSet.prototype.file = $util.emptyArray; /** @@ -7393,12 +7742,12 @@ $root.google = (function() { * @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 {Array.} [messageType] FileDescriptorProto messageType. + * @property {Array.} [enumType] FileDescriptorProto enumType. + * @property {Array.} [service] FileDescriptorProto service. + * @property {Array.} [extension] FileDescriptorProto extension. + * @property {google.protobuf.FileOptions$Properties} [options] FileDescriptorProto options. + * @property {google.protobuf.SourceCodeInfo$Properties} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo. * @property {string} [syntax] FileDescriptorProto syntax. */ @@ -7422,17 +7771,64 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ FileDescriptorProto.prototype.name = ""; + + /** + * @type {string|undefined} + */ FileDescriptorProto.prototype["package"] = ""; + + /** + * @type {Array.|undefined} + */ FileDescriptorProto.prototype.dependency = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ FileDescriptorProto.prototype.publicDependency = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ FileDescriptorProto.prototype.messageType = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ FileDescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ FileDescriptorProto.prototype.service = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ FileDescriptorProto.prototype.extension = $util.emptyArray; + + /** + * @type {google.protobuf.FileOptions$Properties|undefined} + */ FileDescriptorProto.prototype.options = null; + + /** + * @type {google.protobuf.SourceCodeInfo$Properties|undefined} + */ FileDescriptorProto.prototype.sourceCodeInfo = null; + + /** + * @type {string|undefined} + */ FileDescriptorProto.prototype.syntax = ""; /** @@ -7879,14 +8275,14 @@ $root.google = (function() { * @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.} [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$Properties} [options] DescriptorProto options. + * @property {Array.} [reservedRange] DescriptorProto reservedRange. * @property {Array.} [reservedName] DescriptorProto reservedName. */ @@ -7911,15 +8307,54 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ DescriptorProto.prototype.name = ""; + + /** + * @type {Array.|undefined} + */ DescriptorProto.prototype.field = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ DescriptorProto.prototype.extension = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ DescriptorProto.prototype.nestedType = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ DescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ DescriptorProto.prototype.extensionRange = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ DescriptorProto.prototype.oneofDecl = $util.emptyArray; + + /** + * @type {google.protobuf.MessageOptions$Properties|undefined} + */ DescriptorProto.prototype.options = null; + + /** + * @type {Array.|undefined} + */ DescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ DescriptorProto.prototype.reservedName = $util.emptyArray; /** @@ -8368,7 +8803,14 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|undefined} + */ ExtensionRange.prototype.start = 0; + + /** + * @type {number|undefined} + */ ExtensionRange.prototype.end = 0; /** @@ -8554,7 +8996,14 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {number|undefined} + */ ReservedRange.prototype.start = 0; + + /** + * @type {number|undefined} + */ ReservedRange.prototype.end = 0; /** @@ -8728,14 +9177,14 @@ $root.google = (function() { * @type Object * @property {string} [name] FieldDescriptorProto name. * @property {number} [number] FieldDescriptorProto number. - * @property {number} [label] FieldDescriptorProto label. - * @property {number} [type] FieldDescriptorProto type. + * @property {google.protobuf.FieldDescriptorProto.Label} [label] FieldDescriptorProto label. + * @property {google.protobuf.FieldDescriptorProto.Type} [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. + * @property {google.protobuf.FieldOptions$Properties} [options] FieldDescriptorProto options. */ /** @@ -8751,15 +9200,54 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ FieldDescriptorProto.prototype.name = ""; + + /** + * @type {number|undefined} + */ FieldDescriptorProto.prototype.number = 0; + + /** + * @type {google.protobuf.FieldDescriptorProto.Label|undefined} + */ FieldDescriptorProto.prototype.label = 1; + + /** + * @type {google.protobuf.FieldDescriptorProto.Type|undefined} + */ FieldDescriptorProto.prototype.type = 1; + + /** + * @type {string|undefined} + */ FieldDescriptorProto.prototype.typeName = ""; + + /** + * @type {string|undefined} + */ FieldDescriptorProto.prototype.extendee = ""; + + /** + * @type {string|undefined} + */ FieldDescriptorProto.prototype.defaultValue = ""; + + /** + * @type {number|undefined} + */ FieldDescriptorProto.prototype.oneofIndex = 0; + + /** + * @type {string|undefined} + */ FieldDescriptorProto.prototype.jsonName = ""; + + /** + * @type {google.protobuf.FieldOptions$Properties|undefined} + */ FieldDescriptorProto.prototype.options = null; /** @@ -9213,7 +9701,7 @@ $root.google = (function() { * @typedef google.protobuf.OneofDescriptorProto$Properties * @type Object * @property {string} [name] OneofDescriptorProto name. - * @property {google.protobuf.OneofOptions} [options] OneofDescriptorProto options. + * @property {google.protobuf.OneofOptions$Properties} [options] OneofDescriptorProto options. */ /** @@ -9229,7 +9717,14 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ OneofDescriptorProto.prototype.name = ""; + + /** + * @type {google.protobuf.OneofOptions$Properties|undefined} + */ OneofDescriptorProto.prototype.options = null; /** @@ -9404,8 +9899,8 @@ $root.google = (function() { * @typedef google.protobuf.EnumDescriptorProto$Properties * @type Object * @property {string} [name] EnumDescriptorProto name. - * @property {Array.} [value] EnumDescriptorProto value. - * @property {google.protobuf.EnumOptions} [options] EnumDescriptorProto options. + * @property {Array.} [value] EnumDescriptorProto value. + * @property {google.protobuf.EnumOptions$Properties} [options] EnumDescriptorProto options. */ /** @@ -9422,8 +9917,19 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ EnumDescriptorProto.prototype.name = ""; + + /** + * @type {Array.|undefined} + */ EnumDescriptorProto.prototype.value = $util.emptyArray; + + /** + * @type {google.protobuf.EnumOptions$Properties|undefined} + */ EnumDescriptorProto.prototype.options = null; /** @@ -9633,7 +10139,7 @@ $root.google = (function() { * @type Object * @property {string} [name] EnumValueDescriptorProto name. * @property {number} [number] EnumValueDescriptorProto number. - * @property {google.protobuf.EnumValueOptions} [options] EnumValueDescriptorProto options. + * @property {google.protobuf.EnumValueOptions$Properties} [options] EnumValueDescriptorProto options. */ /** @@ -9649,8 +10155,19 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ EnumValueDescriptorProto.prototype.name = ""; + + /** + * @type {number|undefined} + */ EnumValueDescriptorProto.prototype.number = 0; + + /** + * @type {google.protobuf.EnumValueOptions$Properties|undefined} + */ EnumValueDescriptorProto.prototype.options = null; /** @@ -9838,8 +10355,8 @@ $root.google = (function() { * @typedef google.protobuf.ServiceDescriptorProto$Properties * @type Object * @property {string} [name] ServiceDescriptorProto name. - * @property {Array.} [method] ServiceDescriptorProto method. - * @property {google.protobuf.ServiceOptions} [options] ServiceDescriptorProto options. + * @property {Array.} [method] ServiceDescriptorProto method. + * @property {google.protobuf.ServiceOptions$Properties} [options] ServiceDescriptorProto options. */ /** @@ -9856,8 +10373,19 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ ServiceDescriptorProto.prototype.name = ""; + + /** + * @type {Array.|undefined} + */ ServiceDescriptorProto.prototype.method = $util.emptyArray; + + /** + * @type {google.protobuf.ServiceOptions$Properties|undefined} + */ ServiceDescriptorProto.prototype.options = null; /** @@ -10068,7 +10596,7 @@ $root.google = (function() { * @property {string} [name] MethodDescriptorProto name. * @property {string} [inputType] MethodDescriptorProto inputType. * @property {string} [outputType] MethodDescriptorProto outputType. - * @property {google.protobuf.MethodOptions} [options] MethodDescriptorProto options. + * @property {google.protobuf.MethodOptions$Properties} [options] MethodDescriptorProto options. * @property {boolean} [clientStreaming] MethodDescriptorProto clientStreaming. * @property {boolean} [serverStreaming] MethodDescriptorProto serverStreaming. */ @@ -10086,11 +10614,34 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ MethodDescriptorProto.prototype.name = ""; + + /** + * @type {string|undefined} + */ MethodDescriptorProto.prototype.inputType = ""; + + /** + * @type {string|undefined} + */ MethodDescriptorProto.prototype.outputType = ""; + + /** + * @type {google.protobuf.MethodOptions$Properties|undefined} + */ MethodDescriptorProto.prototype.options = null; + + /** + * @type {boolean|undefined} + */ MethodDescriptorProto.prototype.clientStreaming = false; + + /** + * @type {boolean|undefined} + */ MethodDescriptorProto.prototype.serverStreaming = false; /** @@ -10321,7 +10872,7 @@ $root.google = (function() { * @property {boolean} [javaMultipleFiles] FileOptions javaMultipleFiles. * @property {boolean} [javaGenerateEqualsAndHash] FileOptions javaGenerateEqualsAndHash. * @property {boolean} [javaStringCheckUtf8] FileOptions javaStringCheckUtf8. - * @property {number} [optimizeFor] FileOptions optimizeFor. + * @property {google.protobuf.FileOptions.OptimizeMode} [optimizeFor] FileOptions optimizeFor. * @property {string} [goPackage] FileOptions goPackage. * @property {boolean} [ccGenericServices] FileOptions ccGenericServices. * @property {boolean} [javaGenericServices] FileOptions javaGenericServices. @@ -10330,7 +10881,7 @@ $root.google = (function() { * @property {boolean} [ccEnableArenas] FileOptions ccEnableArenas. * @property {string} [objcClassPrefix] FileOptions objcClassPrefix. * @property {string} [csharpNamespace] FileOptions csharpNamespace. - * @property {Array.} [uninterpretedOption] FileOptions uninterpretedOption. + * @property {Array.} [uninterpretedOption] FileOptions uninterpretedOption. */ /** @@ -10347,20 +10898,79 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string|undefined} + */ FileOptions.prototype.javaPackage = ""; + + /** + * @type {string|undefined} + */ FileOptions.prototype.javaOuterClassname = ""; + + /** + * @type {boolean|undefined} + */ FileOptions.prototype.javaMultipleFiles = false; + + /** + * @type {boolean|undefined} + */ FileOptions.prototype.javaGenerateEqualsAndHash = false; + + /** + * @type {boolean|undefined} + */ FileOptions.prototype.javaStringCheckUtf8 = false; + + /** + * @type {google.protobuf.FileOptions.OptimizeMode|undefined} + */ FileOptions.prototype.optimizeFor = 1; + + /** + * @type {string|undefined} + */ FileOptions.prototype.goPackage = ""; + + /** + * @type {boolean|undefined} + */ FileOptions.prototype.ccGenericServices = false; + + /** + * @type {boolean|undefined} + */ FileOptions.prototype.javaGenericServices = false; + + /** + * @type {boolean|undefined} + */ FileOptions.prototype.pyGenericServices = false; + + /** + * @type {boolean|undefined} + */ FileOptions.prototype.deprecated = false; + + /** + * @type {boolean|undefined} + */ FileOptions.prototype.ccEnableArenas = false; + + /** + * @type {string|undefined} + */ FileOptions.prototype.objcClassPrefix = ""; + + /** + * @type {string|undefined} + */ FileOptions.prototype.csharpNamespace = ""; + + /** + * @type {Array.|undefined} + */ FileOptions.prototype.uninterpretedOption = $util.emptyArray; /** @@ -10758,7 +11368,7 @@ $root.google = (function() { * @property {boolean} [noStandardDescriptorAccessor] MessageOptions noStandardDescriptorAccessor. * @property {boolean} [deprecated] MessageOptions deprecated. * @property {boolean} [mapEntry] MessageOptions mapEntry. - * @property {Array.} [uninterpretedOption] MessageOptions uninterpretedOption. + * @property {Array.} [uninterpretedOption] MessageOptions uninterpretedOption. */ /** @@ -10775,10 +11385,29 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {boolean|undefined} + */ MessageOptions.prototype.messageSetWireFormat = false; + + /** + * @type {boolean|undefined} + */ MessageOptions.prototype.noStandardDescriptorAccessor = false; + + /** + * @type {boolean|undefined} + */ MessageOptions.prototype.deprecated = false; + + /** + * @type {boolean|undefined} + */ MessageOptions.prototype.mapEntry = false; + + /** + * @type {Array.|undefined} + */ MessageOptions.prototype.uninterpretedOption = $util.emptyArray; /** @@ -11007,13 +11636,13 @@ $root.google = (function() { * Properties of a FieldOptions. * @typedef google.protobuf.FieldOptions$Properties * @type Object - * @property {number} [ctype] FieldOptions ctype. + * @property {google.protobuf.FieldOptions.CType} [ctype] FieldOptions ctype. * @property {boolean} [packed] FieldOptions packed. - * @property {number} [jstype] FieldOptions jstype. + * @property {google.protobuf.FieldOptions.JSType} [jstype] FieldOptions jstype. * @property {boolean} [lazy] FieldOptions lazy. * @property {boolean} [deprecated] FieldOptions deprecated. * @property {boolean} [weak] FieldOptions weak. - * @property {Array.} [uninterpretedOption] FieldOptions uninterpretedOption. + * @property {Array.} [uninterpretedOption] FieldOptions uninterpretedOption. */ /** @@ -11030,12 +11659,39 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {google.protobuf.FieldOptions.CType|undefined} + */ FieldOptions.prototype.ctype = 0; + + /** + * @type {boolean|undefined} + */ FieldOptions.prototype.packed = false; + + /** + * @type {google.protobuf.FieldOptions.JSType|undefined} + */ FieldOptions.prototype.jstype = 0; + + /** + * @type {boolean|undefined} + */ FieldOptions.prototype.lazy = false; + + /** + * @type {boolean|undefined} + */ FieldOptions.prototype.deprecated = false; + + /** + * @type {boolean|undefined} + */ FieldOptions.prototype.weak = false; + + /** + * @type {Array.|undefined} + */ FieldOptions.prototype.uninterpretedOption = $util.emptyArray; /** @@ -11360,7 +12016,7 @@ $root.google = (function() { * Properties of an OneofOptions. * @typedef google.protobuf.OneofOptions$Properties * @type Object - * @property {Array.} [uninterpretedOption] OneofOptions uninterpretedOption. + * @property {Array.} [uninterpretedOption] OneofOptions uninterpretedOption. */ /** @@ -11377,6 +12033,9 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {Array.|undefined} + */ OneofOptions.prototype.uninterpretedOption = $util.emptyArray; /** @@ -11553,7 +12212,7 @@ $root.google = (function() { * @type Object * @property {boolean} [allowAlias] EnumOptions allowAlias. * @property {boolean} [deprecated] EnumOptions deprecated. - * @property {Array.} [uninterpretedOption] EnumOptions uninterpretedOption. + * @property {Array.} [uninterpretedOption] EnumOptions uninterpretedOption. * @property {string} [".jspb.test.IsExtension.simpleOption"] EnumOptions .jspb.test.IsExtension.simpleOption. */ @@ -11571,9 +12230,24 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {boolean|undefined} + */ EnumOptions.prototype.allowAlias = false; + + /** + * @type {boolean|undefined} + */ EnumOptions.prototype.deprecated = false; + + /** + * @type {Array.|undefined} + */ EnumOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * @type {string|undefined} + */ EnumOptions.prototype[".jspb.test.IsExtension.simpleOption"] = ""; /** @@ -11790,7 +12464,7 @@ $root.google = (function() { * @typedef google.protobuf.EnumValueOptions$Properties * @type Object * @property {boolean} [deprecated] EnumValueOptions deprecated. - * @property {Array.} [uninterpretedOption] EnumValueOptions uninterpretedOption. + * @property {Array.} [uninterpretedOption] EnumValueOptions uninterpretedOption. */ /** @@ -11807,7 +12481,14 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {boolean|undefined} + */ EnumValueOptions.prototype.deprecated = false; + + /** + * @type {Array.|undefined} + */ EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray; /** @@ -11997,7 +12678,7 @@ $root.google = (function() { * @typedef google.protobuf.ServiceOptions$Properties * @type Object * @property {boolean} [deprecated] ServiceOptions deprecated. - * @property {Array.} [uninterpretedOption] ServiceOptions uninterpretedOption. + * @property {Array.} [uninterpretedOption] ServiceOptions uninterpretedOption. */ /** @@ -12014,7 +12695,14 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {boolean|undefined} + */ ServiceOptions.prototype.deprecated = false; + + /** + * @type {Array.|undefined} + */ ServiceOptions.prototype.uninterpretedOption = $util.emptyArray; /** @@ -12204,8 +12892,8 @@ $root.google = (function() { * @typedef google.protobuf.MethodOptions$Properties * @type Object * @property {boolean} [deprecated] MethodOptions deprecated. - * @property {number} [idempotencyLevel] MethodOptions idempotencyLevel. - * @property {Array.} [uninterpretedOption] MethodOptions uninterpretedOption. + * @property {google.protobuf.MethodOptions.IdempotencyLevel} [idempotencyLevel] MethodOptions idempotencyLevel. + * @property {Array.} [uninterpretedOption] MethodOptions uninterpretedOption. */ /** @@ -12222,8 +12910,19 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {boolean|undefined} + */ MethodOptions.prototype.deprecated = false; + + /** + * @type {google.protobuf.MethodOptions.IdempotencyLevel|undefined} + */ MethodOptions.prototype.idempotencyLevel = 0; + + /** + * @type {Array.|undefined} + */ MethodOptions.prototype.uninterpretedOption = $util.emptyArray; /** @@ -12461,7 +13160,7 @@ $root.google = (function() { * Properties of an UninterpretedOption. * @typedef google.protobuf.UninterpretedOption$Properties * @type Object - * @property {Array.} [name] UninterpretedOption name. + * @property {Array.} [name] UninterpretedOption name. * @property {string} [identifierValue] UninterpretedOption identifierValue. * @property {number|Long} [positiveIntValue] UninterpretedOption positiveIntValue. * @property {number|Long} [negativeIntValue] UninterpretedOption negativeIntValue. @@ -12484,12 +13183,39 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {Array.|undefined} + */ UninterpretedOption.prototype.name = $util.emptyArray; + + /** + * @type {string|undefined} + */ UninterpretedOption.prototype.identifierValue = ""; + + /** + * @type {number|Long|undefined} + */ UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * @type {number|Long|undefined} + */ UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * @type {number|undefined} + */ UninterpretedOption.prototype.doubleValue = 0; + + /** + * @type {Uint8Array|undefined} + */ UninterpretedOption.prototype.stringValue = $util.newBuffer([]); + + /** + * @type {string|undefined} + */ UninterpretedOption.prototype.aggregateValue = ""; /** @@ -12789,7 +13515,14 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {string} + */ NamePart.prototype.namePart = ""; + + /** + * @type {boolean} + */ NamePart.prototype.isExtension = false; /** @@ -12961,7 +13694,7 @@ $root.google = (function() { * Properties of a SourceCodeInfo. * @typedef google.protobuf.SourceCodeInfo$Properties * @type Object - * @property {Array.} [location] SourceCodeInfo location. + * @property {Array.} [location] SourceCodeInfo location. */ /** @@ -12978,6 +13711,9 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {Array.|undefined} + */ SourceCodeInfo.prototype.location = $util.emptyArray; /** @@ -13172,10 +13908,29 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {Array.|undefined} + */ Location.prototype.path = $util.emptyArray; + + /** + * @type {Array.|undefined} + */ Location.prototype.span = $util.emptyArray; + + /** + * @type {string|undefined} + */ Location.prototype.leadingComments = ""; + + /** + * @type {string|undefined} + */ Location.prototype.trailingComments = ""; + + /** + * @type {Array.|undefined} + */ Location.prototype.leadingDetachedComments = $util.emptyArray; /** @@ -13449,7 +14204,7 @@ $root.google = (function() { * Properties of a GeneratedCodeInfo. * @typedef google.protobuf.GeneratedCodeInfo$Properties * @type Object - * @property {Array.} [annotation] GeneratedCodeInfo annotation. + * @property {Array.} [annotation] GeneratedCodeInfo annotation. */ /** @@ -13466,6 +14221,9 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {Array.|undefined} + */ GeneratedCodeInfo.prototype.annotation = $util.emptyArray; /** @@ -13657,9 +14415,24 @@ $root.google = (function() { this[keys[i]] = properties[keys[i]]; } + /** + * @type {Array.|undefined} + */ Annotation.prototype.path = $util.emptyArray; + + /** + * @type {string|undefined} + */ Annotation.prototype.sourceFile = ""; + + /** + * @type {number|undefined} + */ Annotation.prototype.begin = 0; + + /** + * @type {number|undefined} + */ Annotation.prototype.end = 0; /**