diff --git a/.release-please-manifest.json b/.release-please-manifest.json index d33523fb8f26..8f22bfb42b0b 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -30,7 +30,7 @@ "handwritten/logging-bunyan": "5.1.1", "handwritten/logging-winston": "6.0.1", "handwritten/pubsub": "5.3.0", - "handwritten/spanner": "8.7.0", + "handwritten/spanner": "8.7.1", "handwritten/storage": "7.19.0", "packages/gapic-node-processing": "0.1.8", "packages/google-ads-admanager": "0.5.1", diff --git a/changelog.json b/changelog.json index 6e4300578aca..4ce8570e3d33 100644 --- a/changelog.json +++ b/changelog.json @@ -1,6 +1,67 @@ { "repository": "googleapis/google-cloud-node", "entries": [ + { + "changes": [ + { + "type": "fix", + "sha": "9fd76eff87b1cf02db6205f141449b31e8ab7d8f", + "message": "Bump all node submodules", + "issues": [ + "8178" + ] + }, + { + "type": "fix", + "sha": "4c33205869fc81a0ebd60604c3f91fe90b87ecea", + "message": "Clear metrics tracers after operation completion", + "issues": [ + "8172" + ], + "scope": "spanner" + }, + { + "type": "fix", + "sha": "0dd9a53aa825d08c106928f88d72ff931f839b1c", + "message": "Disable metrics tracer when built-in metrics are disabled", + "issues": [ + "8170" + ], + "scope": "spanner" + }, + { + "type": "fix", + "sha": "9e91cc8b68973b546f1fb94b1c39951c395f5a2b", + "message": "Record fractional latency metrics", + "issues": [ + "8168" + ], + "scope": "spanner" + }, + { + "type": "fix", + "sha": "c1a03fe604662091be283055c7d34052c64d6334", + "message": "Change the copyright year for files in the packages folder", + "issues": [ + "8109" + ] + }, + { + "type": "fix", + "sha": "8e31dd7b8afb0a2fb6e1d6809fee7d9cd21370c8", + "message": "GetTransaction type with options, cb", + "issues": [ + "8045" + ], + "scope": "spanner" + } + ], + "version": "8.7.1", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/spanner", + "id": "a5e4c00a-94e9-42fb-96e8-8b7c29c58d82", + "createTime": "2026-05-06T21:35:08.503Z" + }, { "changes": [ { @@ -77687,5 +77748,5 @@ "createTime": "2023-01-28T04:18:24.718Z" } ], - "updateTime": "2026-05-06T18:07:28.494Z" + "updateTime": "2026-05-06T21:35:08.503Z" } \ No newline at end of file diff --git a/handwritten/spanner/CHANGELOG.md b/handwritten/spanner/CHANGELOG.md index f956a89f7db8..ab89ab372a05 100644 --- a/handwritten/spanner/CHANGELOG.md +++ b/handwritten/spanner/CHANGELOG.md @@ -5,6 +5,18 @@ [1]: https://www.npmjs.com/package/nodejs-spanner?activeTab=versions +## [8.7.1](https://github.com/googleapis/google-cloud-node/compare/spanner-v8.7.0...spanner-v8.7.1) (2026-05-06) + + +### Bug Fixes + +* Bump all node submodules ([#8178](https://github.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://github.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f)) +* Change the copyright year for files in the packages folder ([#8109](https://github.com/googleapis/google-cloud-node/issues/8109)) ([c1a03fe](https://github.com/googleapis/google-cloud-node/commit/c1a03fe604662091be283055c7d34052c64d6334)) +* **spanner:** Clear metrics tracers after operation completion ([#8172](https://github.com/googleapis/google-cloud-node/issues/8172)) ([4c33205](https://github.com/googleapis/google-cloud-node/commit/4c33205869fc81a0ebd60604c3f91fe90b87ecea)) +* **spanner:** Disable metrics tracer when built-in metrics are disabled ([#8170](https://github.com/googleapis/google-cloud-node/issues/8170)) ([0dd9a53](https://github.com/googleapis/google-cloud-node/commit/0dd9a53aa825d08c106928f88d72ff931f839b1c)) +* **spanner:** GetTransaction type with options, cb ([#8045](https://github.com/googleapis/google-cloud-node/issues/8045)) ([8e31dd7](https://github.com/googleapis/google-cloud-node/commit/8e31dd7b8afb0a2fb6e1d6809fee7d9cd21370c8)) +* **spanner:** Record fractional latency metrics ([#8168](https://github.com/googleapis/google-cloud-node/issues/8168)) ([9e91cc8](https://github.com/googleapis/google-cloud-node/commit/9e91cc8b68973b546f1fb94b1c39951c395f5a2b)) + ## [8.7.0](https://github.com/googleapis/google-cloud-node/compare/spanner-v8.6.0...spanner-v8.7.0) (2026-04-14) diff --git a/handwritten/spanner/package.json b/handwritten/spanner/package.json index fef5dac5b1fc..1ff8b6481ecb 100644 --- a/handwritten/spanner/package.json +++ b/handwritten/spanner/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/spanner", "description": "Cloud Spanner Client Library for Node.js", - "version": "8.7.0", + "version": "8.7.1", "license": "Apache-2.0", "author": "Google Inc.", "engines": { diff --git a/handwritten/spanner/protos/protos.js b/handwritten/spanner/protos/protos.js index 837290eefd8a..1007227b2abe 100644 --- a/handwritten/spanner/protos/protos.js +++ b/handwritten/spanner/protos/protos.js @@ -69,7 +69,7 @@ function Duration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -144,9 +144,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Duration.decode = function decode(reader, length, error) { + Duration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -162,7 +166,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -193,9 +197,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Duration.verify = function verify(message) { + Duration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -213,9 +221,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Duration} Duration */ - Duration.fromObject = function fromObject(object) { + Duration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Duration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Duration(); if (object.seconds != null) if ($util.Long) @@ -312,7 +324,7 @@ this.file = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -378,9 +390,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorSet.decode = function decode(reader, length, error) { + FileDescriptorSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -390,11 +406,11 @@ case 1: { if (!(message.file && message.file.length)) message.file = []; - message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -425,14 +441,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorSet.verify = function verify(message) { + FileDescriptorSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.file != null && message.hasOwnProperty("file")) { if (!Array.isArray(message.file)) return "file: array expected"; for (var i = 0; i < message.file.length; ++i) { - var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i], long + 1); if (error) return "file." + error; } @@ -448,9 +468,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet */ - FileDescriptorSet.fromObject = function fromObject(object) { + FileDescriptorSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorSet(); if (object.file) { if (!Array.isArray(object.file)) @@ -459,7 +483,7 @@ for (var i = 0; i < object.file.length; ++i) { if (typeof object.file[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); - message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i], long + 1); } } return message; @@ -592,7 +616,7 @@ this.extension = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -795,9 +819,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileDescriptorProto.decode = function decode(reader, length, error) { + FileDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -849,33 +877,33 @@ case 4: { if (!(message.messageType && message.messageType.length)) message.messageType = []; - message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.service && message.service.length)) message.service = []; - message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { - message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { @@ -887,7 +915,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -918,9 +946,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileDescriptorProto.verify = function verify(message) { + FileDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -959,7 +991,7 @@ if (!Array.isArray(message.messageType)) return "messageType: array expected"; for (var i = 0; i < message.messageType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i], long + 1); if (error) return "messageType." + error; } @@ -968,7 +1000,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -977,7 +1009,7 @@ if (!Array.isArray(message.service)) return "service: array expected"; for (var i = 0; i < message.service.length; ++i) { - var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i], long + 1); if (error) return "service." + error; } @@ -986,18 +1018,18 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FileOptions.verify(message.options); + var error = $root.google.protobuf.FileOptions.verify(message.options, long + 1); if (error) return "options." + error; } if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { - var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo, long + 1); if (error) return "sourceCodeInfo." + error; } @@ -1033,9 +1065,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto */ - FileDescriptorProto.fromObject = function fromObject(object) { + FileDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -1076,7 +1112,7 @@ for (var i = 0; i < object.messageType.length; ++i) { if (typeof object.messageType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); - message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i], long + 1); } } if (object.enumType) { @@ -1086,7 +1122,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.service) { @@ -1096,7 +1132,7 @@ for (var i = 0; i < object.service.length; ++i) { if (typeof object.service[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); - message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i], long + 1); } } if (object.extension) { @@ -1106,18 +1142,18 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options, long + 1); } if (object.sourceCodeInfo != null) { if (typeof object.sourceCodeInfo !== "object") throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); - message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo, long + 1); } if (object.syntax != null) message.syntax = String(object.syntax); @@ -1333,7 +1369,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -1506,9 +1542,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DescriptorProto.decode = function decode(reader, length, error) { + DescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -1522,47 +1562,47 @@ case 2: { if (!(message.field && message.field.length)) message.field = []; - message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.extension && message.extension.length)) message.extension = []; - message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.nestedType && message.nestedType.length)) message.nestedType = []; - message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { if (!(message.enumType && message.enumType.length)) message.enumType = []; - message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.extensionRange && message.extensionRange.length)) message.extensionRange = []; - message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { if (!(message.oneofDecl && message.oneofDecl.length)) message.oneofDecl = []; - message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { - message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -1576,7 +1616,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -1607,9 +1647,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DescriptorProto.verify = function verify(message) { + DescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -1617,7 +1661,7 @@ if (!Array.isArray(message.field)) return "field: array expected"; for (var i = 0; i < message.field.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i], long + 1); if (error) return "field." + error; } @@ -1626,7 +1670,7 @@ if (!Array.isArray(message.extension)) return "extension: array expected"; for (var i = 0; i < message.extension.length; ++i) { - var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1); if (error) return "extension." + error; } @@ -1635,7 +1679,7 @@ if (!Array.isArray(message.nestedType)) return "nestedType: array expected"; for (var i = 0; i < message.nestedType.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i], long + 1); if (error) return "nestedType." + error; } @@ -1644,7 +1688,7 @@ if (!Array.isArray(message.enumType)) return "enumType: array expected"; for (var i = 0; i < message.enumType.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1); if (error) return "enumType." + error; } @@ -1653,7 +1697,7 @@ if (!Array.isArray(message.extensionRange)) return "extensionRange: array expected"; for (var i = 0; i < message.extensionRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i], long + 1); if (error) return "extensionRange." + error; } @@ -1662,13 +1706,13 @@ if (!Array.isArray(message.oneofDecl)) return "oneofDecl: array expected"; for (var i = 0; i < message.oneofDecl.length; ++i) { - var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i], long + 1); if (error) return "oneofDecl." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MessageOptions.verify(message.options); + var error = $root.google.protobuf.MessageOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -1676,7 +1720,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -1708,9 +1752,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto} DescriptorProto */ - DescriptorProto.fromObject = function fromObject(object) { + DescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -1721,7 +1769,7 @@ for (var i = 0; i < object.field.length; ++i) { if (typeof object.field[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); - message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i], long + 1); } } if (object.extension) { @@ -1731,7 +1779,7 @@ for (var i = 0; i < object.extension.length; ++i) { if (typeof object.extension[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); - message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1); } } if (object.nestedType) { @@ -1741,7 +1789,7 @@ for (var i = 0; i < object.nestedType.length; ++i) { if (typeof object.nestedType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); - message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i], long + 1); } } if (object.enumType) { @@ -1751,7 +1799,7 @@ for (var i = 0; i < object.enumType.length; ++i) { if (typeof object.enumType[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); - message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1); } } if (object.extensionRange) { @@ -1761,7 +1809,7 @@ for (var i = 0; i < object.extensionRange.length; ++i) { if (typeof object.extensionRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); - message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i], long + 1); } } if (object.oneofDecl) { @@ -1771,13 +1819,13 @@ for (var i = 0; i < object.oneofDecl.length; ++i) { if (typeof object.oneofDecl[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); - message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -1786,7 +1834,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -1944,7 +1992,7 @@ function ExtensionRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2029,9 +2077,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRange.decode = function decode(reader, length, error) { + ExtensionRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2047,11 +2099,11 @@ break; } case 3: { - message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2082,9 +2134,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRange.verify = function verify(message) { + ExtensionRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -2092,7 +2148,7 @@ if (!$util.isInteger(message.end)) return "end: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -2107,9 +2163,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange */ - ExtensionRange.fromObject = function fromObject(object) { + ExtensionRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); if (object.start != null) message.start = object.start | 0; @@ -2118,7 +2178,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); - message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options, long + 1); } return message; }; @@ -2200,7 +2260,7 @@ function ReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2275,9 +2335,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReservedRange.decode = function decode(reader, length, error) { + ReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2293,7 +2357,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2324,9 +2388,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReservedRange.verify = function verify(message) { + ReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -2344,9 +2412,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange */ - ReservedRange.fromObject = function fromObject(object) { + ReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -2436,7 +2508,7 @@ this.declaration = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2533,9 +2605,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExtensionRangeOptions.decode = function decode(reader, length, error) { + ExtensionRangeOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2545,17 +2621,17 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.declaration && message.declaration.length)) message.declaration = []; - message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32())); + message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -2563,7 +2639,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2594,14 +2670,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExtensionRangeOptions.verify = function verify(message) { + ExtensionRangeOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -2610,13 +2690,13 @@ if (!Array.isArray(message.declaration)) return "declaration: array expected"; for (var i = 0; i < message.declaration.length; ++i) { - var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]); + var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i], long + 1); if (error) return "declaration." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -2639,9 +2719,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions */ - ExtensionRangeOptions.fromObject = function fromObject(object) { + ExtensionRangeOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions(); if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -2650,7 +2734,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object.declaration) { @@ -2660,13 +2744,13 @@ for (var i = 0; i < object.declaration.length; ++i) { if (typeof object.declaration[i] !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected"); - message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]); + message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } switch (object.verification) { case "DECLARATION": @@ -2775,7 +2859,7 @@ function Declaration(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -2880,9 +2964,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Declaration.decode = function decode(reader, length, error) { + Declaration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -2910,7 +2998,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -2941,9 +3029,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Declaration.verify = function verify(message) { + Declaration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.number != null && message.hasOwnProperty("number")) if (!$util.isInteger(message.number)) return "number: integer expected"; @@ -2970,9 +3062,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration */ - Declaration.fromObject = function fromObject(object) { + Declaration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration(); if (object.number != null) message.number = object.number | 0; @@ -3096,7 +3192,7 @@ function FieldDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3261,9 +3357,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldDescriptorProto.decode = function decode(reader, length, error) { + FieldDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3307,7 +3407,7 @@ break; } case 8: { - message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { @@ -3315,7 +3415,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3346,9 +3446,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldDescriptorProto.verify = function verify(message) { + FieldDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -3404,7 +3508,7 @@ if (!$util.isString(message.jsonName)) return "jsonName: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.FieldOptions.verify(message.options); + var error = $root.google.protobuf.FieldOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -3422,9 +3526,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto */ - FieldDescriptorProto.fromObject = function fromObject(object) { + FieldDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -3543,7 +3651,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options, long + 1); } if (object.proto3Optional != null) message.proto3Optional = Boolean(object.proto3Optional); @@ -3713,7 +3821,7 @@ function OneofDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -3788,9 +3896,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofDescriptorProto.decode = function decode(reader, length, error) { + OneofDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -3802,11 +3914,11 @@ break; } case 2: { - message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -3837,14 +3949,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofDescriptorProto.verify = function verify(message) { + OneofDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.OneofOptions.verify(message.options); + var error = $root.google.protobuf.OneofOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -3859,16 +3975,20 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto */ - OneofDescriptorProto.fromObject = function fromObject(object) { + OneofDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofDescriptorProto(); if (object.name != null) message.name = String(object.name); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options, long + 1); } return message; }; @@ -3954,7 +4074,7 @@ this.reservedName = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4072,9 +4192,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumDescriptorProto.decode = function decode(reader, length, error) { + EnumDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4088,17 +4212,17 @@ case 2: { if (!(message.value && message.value.length)) message.value = []; - message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.reservedRange && message.reservedRange.length)) message.reservedRange = []; - message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -4112,7 +4236,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4143,9 +4267,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumDescriptorProto.verify = function verify(message) { + EnumDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -4153,13 +4281,13 @@ if (!Array.isArray(message.value)) return "value: array expected"; for (var i = 0; i < message.value.length; ++i) { - var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i], long + 1); if (error) return "value." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumOptions.verify(message.options); + var error = $root.google.protobuf.EnumOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -4167,7 +4295,7 @@ if (!Array.isArray(message.reservedRange)) return "reservedRange: array expected"; for (var i = 0; i < message.reservedRange.length; ++i) { - var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i], long + 1); if (error) return "reservedRange." + error; } @@ -4199,9 +4327,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto */ - EnumDescriptorProto.fromObject = function fromObject(object) { + EnumDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -4212,13 +4344,13 @@ for (var i = 0; i < object.value.length; ++i) { if (typeof object.value[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); - message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options, long + 1); } if (object.reservedRange) { if (!Array.isArray(object.reservedRange)) @@ -4227,7 +4359,7 @@ for (var i = 0; i < object.reservedRange.length; ++i) { if (typeof object.reservedRange[i] !== "object") throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); - message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i], long + 1); } } if (object.reservedName) { @@ -4354,7 +4486,7 @@ function EnumReservedRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4429,9 +4561,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumReservedRange.decode = function decode(reader, length, error) { + EnumReservedRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4447,7 +4583,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4478,9 +4614,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumReservedRange.verify = function verify(message) { + EnumReservedRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.start != null && message.hasOwnProperty("start")) if (!$util.isInteger(message.start)) return "start: integer expected"; @@ -4498,9 +4638,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange */ - EnumReservedRange.fromObject = function fromObject(object) { + EnumReservedRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); if (object.start != null) message.start = object.start | 0; @@ -4587,7 +4731,7 @@ function EnumValueDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4672,9 +4816,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueDescriptorProto.decode = function decode(reader, length, error) { + EnumValueDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4690,11 +4838,11 @@ break; } case 3: { - message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4725,9 +4873,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueDescriptorProto.verify = function verify(message) { + EnumValueDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -4735,7 +4887,7 @@ if (!$util.isInteger(message.number)) return "number: integer expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + var error = $root.google.protobuf.EnumValueOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -4750,9 +4902,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto */ - EnumValueDescriptorProto.fromObject = function fromObject(object) { + EnumValueDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -4761,7 +4917,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options, long + 1); } return message; }; @@ -4845,7 +5001,7 @@ this.method = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -4931,9 +5087,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceDescriptorProto.decode = function decode(reader, length, error) { + ServiceDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -4947,15 +5107,15 @@ case 2: { if (!(message.method && message.method.length)) message.method = []; - message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -4986,9 +5146,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceDescriptorProto.verify = function verify(message) { + ServiceDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -4996,13 +5160,13 @@ if (!Array.isArray(message.method)) return "method: array expected"; for (var i = 0; i < message.method.length; ++i) { - var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i], long + 1); if (error) return "method." + error; } } if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.ServiceOptions.verify(message.options); + var error = $root.google.protobuf.ServiceOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -5017,9 +5181,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto */ - ServiceDescriptorProto.fromObject = function fromObject(object) { + ServiceDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -5030,13 +5198,13 @@ for (var i = 0; i < object.method.length; ++i) { if (typeof object.method[i] !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); - message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i], long + 1); } } if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options, long + 1); } return message; }; @@ -5126,7 +5294,7 @@ function MethodDescriptorProto(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5241,9 +5409,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodDescriptorProto.decode = function decode(reader, length, error) { + MethodDescriptorProto.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5263,7 +5435,7 @@ break; } case 4: { - message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -5275,7 +5447,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5306,9 +5478,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodDescriptorProto.verify = function verify(message) { + MethodDescriptorProto.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -5319,7 +5495,7 @@ if (!$util.isString(message.outputType)) return "outputType: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.protobuf.MethodOptions.verify(message.options); + var error = $root.google.protobuf.MethodOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -5340,9 +5516,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto */ - MethodDescriptorProto.fromObject = function fromObject(object) { + MethodDescriptorProto.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodDescriptorProto) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodDescriptorProto(); if (object.name != null) message.name = String(object.name); @@ -5353,7 +5533,7 @@ if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); - message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options, long + 1); } if (object.clientStreaming != null) message.clientStreaming = Boolean(object.clientStreaming); @@ -5470,7 +5650,7 @@ this[".google.api.resourceDefinition"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -5747,9 +5927,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FileOptions.decode = function decode(reader, length, error) { + FileOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -5833,23 +6017,23 @@ break; } case 50: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) message[".google.api.resourceDefinition"] = []; - message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -5880,9 +6064,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FileOptions.verify = function verify(message) { + FileOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) if (!$util.isString(message.javaPackage)) return "javaPackage: string expected"; @@ -5947,7 +6135,7 @@ if (!$util.isString(message.rubyPackage)) return "rubyPackage: string expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -5955,7 +6143,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -5964,7 +6152,7 @@ if (!Array.isArray(message[".google.api.resourceDefinition"])) return ".google.api.resourceDefinition: array expected"; for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i], long + 1); if (error) return ".google.api.resourceDefinition." + error; } @@ -5980,9 +6168,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FileOptions} FileOptions */ - FileOptions.fromObject = function fromObject(object) { + FileOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FileOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FileOptions(); if (object.javaPackage != null) message.javaPackage = String(object.javaPackage); @@ -6043,7 +6235,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FileOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -6052,7 +6244,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resourceDefinition"]) { @@ -6062,7 +6254,7 @@ for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { if (typeof object[".google.api.resourceDefinition"][i] !== "object") throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); - message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i], long + 1); } } return message; @@ -6233,7 +6425,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6369,9 +6561,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MessageOptions.decode = function decode(reader, length, error) { + MessageOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6399,21 +6595,21 @@ break; } case 12: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1053: { - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6444,9 +6640,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MessageOptions.verify = function verify(message) { + MessageOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) if (typeof message.messageSetWireFormat !== "boolean") return "messageSetWireFormat: boolean expected"; @@ -6463,7 +6663,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -6471,13 +6671,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { - var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"], long + 1); if (error) return ".google.api.resource." + error; } @@ -6492,9 +6692,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MessageOptions} MessageOptions */ - MessageOptions.fromObject = function fromObject(object) { + MessageOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MessageOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MessageOptions(); if (object.messageSetWireFormat != null) message.messageSetWireFormat = Boolean(object.messageSetWireFormat); @@ -6509,7 +6713,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MessageOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -6518,13 +6722,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.resource"] != null) { if (typeof object[".google.api.resource"] !== "object") throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); - message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"], long + 1); } return message; }; @@ -6643,7 +6847,7 @@ this[".google.api.fieldBehavior"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -6862,9 +7066,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldOptions.decode = function decode(reader, length, error) { + FieldOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -6921,21 +7129,21 @@ case 20: { if (!(message.editionDefaults && message.editionDefaults.length)) message.editionDefaults = []; - message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32())); + message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 21: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32()); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1052: { @@ -6950,11 +7158,11 @@ break; } case 1055: { - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -6985,9 +7193,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldOptions.verify = function verify(message) { + FieldOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ctype != null && message.hasOwnProperty("ctype")) switch (message.ctype) { default: @@ -7057,18 +7269,18 @@ if (!Array.isArray(message.editionDefaults)) return "editionDefaults: array expected"; for (var i = 0; i < message.editionDefaults.length; ++i) { - var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]); + var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i], long + 1); if (error) return "editionDefaults." + error; } } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { - var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport); + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); if (error) return "featureSupport." + error; } @@ -7076,7 +7288,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -7101,7 +7313,7 @@ } } if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { - var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"], long + 1); if (error) return ".google.api.resourceReference." + error; } @@ -7116,9 +7328,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions} FieldOptions */ - FieldOptions.fromObject = function fromObject(object) { + FieldOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions(); switch (object.ctype) { default: @@ -7252,18 +7468,18 @@ for (var i = 0; i < object.editionDefaults.length; ++i) { if (typeof object.editionDefaults[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected"); - message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]); + message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i], long + 1); } } if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.FieldOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.featureSupport != null) { if (typeof object.featureSupport !== "object") throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected"); - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -7272,7 +7488,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.fieldBehavior"]) { @@ -7327,7 +7543,7 @@ if (object[".google.api.resourceReference"] != null) { if (typeof object[".google.api.resourceReference"] !== "object") throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); - message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"], long + 1); } return message; }; @@ -7537,7 +7753,7 @@ function EditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7612,9 +7828,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EditionDefault.decode = function decode(reader, length, error) { + EditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7630,7 +7850,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7661,9 +7881,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EditionDefault.verify = function verify(message) { + EditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: @@ -7696,9 +7920,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault */ - EditionDefault.fromObject = function fromObject(object) { + EditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions.EditionDefault(); switch (object.edition) { default: @@ -7837,7 +8065,7 @@ function FeatureSupport(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -7932,9 +8160,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSupport.decode = function decode(reader, length, error) { + FeatureSupport.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.FeatureSupport(); while (reader.pos < end) { var tag = reader.uint32(); @@ -7958,7 +8190,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -7989,9 +8221,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSupport.verify = function verify(message) { + FeatureSupport.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced")) switch (message.editionIntroduced) { default: @@ -8060,9 +8296,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport */ - FeatureSupport.fromObject = function fromObject(object) { + FeatureSupport.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldOptions.FeatureSupport) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldOptions.FeatureSupport(); switch (object.editionIntroduced) { default: @@ -8321,7 +8561,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8397,9 +8637,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OneofOptions.decode = function decode(reader, length, error) { + OneofOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8407,17 +8651,17 @@ break; switch (tag >>> 3) { case 1: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8448,11 +8692,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OneofOptions.verify = function verify(message) { + OneofOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -8460,7 +8708,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -8476,14 +8724,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.OneofOptions} OneofOptions */ - OneofOptions.fromObject = function fromObject(object) { + OneofOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.OneofOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.OneofOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.OneofOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -8492,7 +8744,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -8579,7 +8831,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -8685,9 +8937,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumOptions.decode = function decode(reader, length, error) { + EnumOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -8707,17 +8963,17 @@ break; } case 7: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -8748,9 +9004,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumOptions.verify = function verify(message) { + EnumOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) if (typeof message.allowAlias !== "boolean") return "allowAlias: boolean expected"; @@ -8761,7 +9021,7 @@ if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean") return "deprecatedLegacyJsonFieldConflicts: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -8769,7 +9029,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -8785,9 +9045,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumOptions} EnumOptions */ - EnumOptions.fromObject = function fromObject(object) { + EnumOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumOptions(); if (object.allowAlias != null) message.allowAlias = Boolean(object.allowAlias); @@ -8798,7 +9062,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -8807,7 +9071,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -8904,7 +9168,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9010,9 +9274,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EnumValueOptions.decode = function decode(reader, length, error) { + EnumValueOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9024,7 +9292,7 @@ break; } case 2: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -9032,17 +9300,17 @@ break; } case 4: { - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32()); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9073,14 +9341,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EnumValueOptions.verify = function verify(message) { + EnumValueOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -9088,7 +9360,7 @@ if (typeof message.debugRedact !== "boolean") return "debugRedact: boolean expected"; if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) { - var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport); + var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1); if (error) return "featureSupport." + error; } @@ -9096,7 +9368,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -9112,23 +9384,27 @@ * @param {Object.} object Plain object * @returns {google.protobuf.EnumValueOptions} EnumValueOptions */ - EnumValueOptions.fromObject = function fromObject(object) { + EnumValueOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.EnumValueOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.EnumValueOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.EnumValueOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.debugRedact != null) message.debugRedact = Boolean(object.debugRedact); if (object.featureSupport != null) { if (typeof object.featureSupport !== "object") throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected"); - message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport); + message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -9137,7 +9413,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } return message; @@ -9235,7 +9511,7 @@ this.uninterpretedOption = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9351,9 +9627,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ServiceOptions.decode = function decode(reader, length, error) { + ServiceOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9361,7 +9641,7 @@ break; switch (tag >>> 3) { case 34: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 33: { @@ -9371,7 +9651,7 @@ case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 1049: { @@ -9387,7 +9667,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9418,11 +9698,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ServiceOptions.verify = function verify(message) { + ServiceOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -9433,7 +9717,7 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } @@ -9458,14 +9742,18 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ServiceOptions} ServiceOptions */ - ServiceOptions.fromObject = function fromObject(object) { + ServiceOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ServiceOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ServiceOptions(); if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.ServiceOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -9476,7 +9764,7 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.defaultHost"] != null) @@ -9585,7 +9873,7 @@ this[".google.api.methodSignature"] = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -9712,9 +10000,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodOptions.decode = function decode(reader, length, error) { + MethodOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -9730,17 +10022,17 @@ break; } case 35: { - message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 999: { if (!(message.uninterpretedOption && message.uninterpretedOption.length)) message.uninterpretedOption = []; - message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 72295728: { - message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1051: { @@ -9750,11 +10042,11 @@ break; } case 1049: { - message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -9785,9 +10077,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodOptions.verify = function verify(message) { + MethodOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.deprecated != null && message.hasOwnProperty("deprecated")) if (typeof message.deprecated !== "boolean") return "deprecated: boolean expected"; @@ -9801,7 +10097,7 @@ break; } if (message.features != null && message.hasOwnProperty("features")) { - var error = $root.google.protobuf.FeatureSet.verify(message.features); + var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1); if (error) return "features." + error; } @@ -9809,13 +10105,13 @@ if (!Array.isArray(message.uninterpretedOption)) return "uninterpretedOption: array expected"; for (var i = 0; i < message.uninterpretedOption.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1); if (error) return "uninterpretedOption." + error; } } if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { - var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); + var error = $root.google.api.HttpRule.verify(message[".google.api.http"], long + 1); if (error) return ".google.api.http." + error; } @@ -9827,7 +10123,7 @@ return ".google.api.methodSignature: string[] expected"; } if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) { - var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"]); + var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"], long + 1); if (error) return ".google.longrunning.operationInfo." + error; } @@ -9842,9 +10138,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.MethodOptions} MethodOptions */ - MethodOptions.fromObject = function fromObject(object) { + MethodOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.MethodOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.MethodOptions(); if (object.deprecated != null) message.deprecated = Boolean(object.deprecated); @@ -9871,7 +10171,7 @@ if (object.features != null) { if (typeof object.features !== "object") throw TypeError(".google.protobuf.MethodOptions.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); + message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1); } if (object.uninterpretedOption) { if (!Array.isArray(object.uninterpretedOption)) @@ -9880,13 +10180,13 @@ for (var i = 0; i < object.uninterpretedOption.length; ++i) { if (typeof object.uninterpretedOption[i] !== "object") throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); - message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1); } } if (object[".google.api.http"] != null) { if (typeof object[".google.api.http"] !== "object") throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); - message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"], long + 1); } if (object[".google.api.methodSignature"]) { if (!Array.isArray(object[".google.api.methodSignature"])) @@ -9898,7 +10198,7 @@ if (object[".google.longrunning.operationInfo"] != null) { if (typeof object[".google.longrunning.operationInfo"] !== "object") throw TypeError(".google.protobuf.MethodOptions..google.longrunning.operationInfo: object expected"); - message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"]); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"], long + 1); } return message; }; @@ -10022,7 +10322,7 @@ this.name = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10148,9 +10448,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UninterpretedOption.decode = function decode(reader, length, error) { + UninterpretedOption.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10160,7 +10464,7 @@ case 2: { if (!(message.name && message.name.length)) message.name = []; - message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -10188,7 +10492,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10219,14 +10523,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UninterpretedOption.verify = function verify(message) { + UninterpretedOption.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) { if (!Array.isArray(message.name)) return "name: array expected"; for (var i = 0; i < message.name.length; ++i) { - var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i], long + 1); if (error) return "name." + error; } @@ -10260,9 +10568,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption} UninterpretedOption */ - UninterpretedOption.fromObject = function fromObject(object) { + UninterpretedOption.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption(); if (object.name) { if (!Array.isArray(object.name)) @@ -10271,7 +10583,7 @@ for (var i = 0; i < object.name.length; ++i) { if (typeof object.name[i] !== "object") throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); - message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i], long + 1); } } if (object.identifierValue != null) @@ -10416,7 +10728,7 @@ function NamePart(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10489,9 +10801,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NamePart.decode = function decode(reader, length, error) { + NamePart.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10507,7 +10823,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10542,9 +10858,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NamePart.verify = function verify(message) { + NamePart.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (!$util.isString(message.namePart)) return "namePart: string expected"; if (typeof message.isExtension !== "boolean") @@ -10560,9 +10880,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart */ - NamePart.fromObject = function fromObject(object) { + NamePart.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.UninterpretedOption.NamePart(); if (object.namePart != null) message.namePart = String(object.namePart); @@ -10654,7 +10978,7 @@ function FeatureSet(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -10789,9 +11113,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSet.decode = function decode(reader, length, error) { + FeatureSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -10831,7 +11159,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -10862,9 +11190,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSet.verify = function verify(message) { + FeatureSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence")) switch (message.fieldPresence) { default: @@ -10951,9 +11283,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSet} FeatureSet */ - FeatureSet.fromObject = function fromObject(object) { + FeatureSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSet(); switch (object.fieldPresence) { default: @@ -11331,7 +11667,7 @@ function VisibilityFeature(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11386,9 +11722,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - VisibilityFeature.decode = function decode(reader, length, error) { + VisibilityFeature.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet.VisibilityFeature(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11396,7 +11736,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11427,9 +11767,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - VisibilityFeature.verify = function verify(message) { + VisibilityFeature.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -11441,9 +11785,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature */ - VisibilityFeature.fromObject = function fromObject(object) { + VisibilityFeature.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.protobuf.FeatureSet.VisibilityFeature(); }; @@ -11535,7 +11883,7 @@ this.defaults = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -11621,9 +11969,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetDefaults.decode = function decode(reader, length, error) { + FeatureSetDefaults.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults(); while (reader.pos < end) { var tag = reader.uint32(); @@ -11633,7 +11985,7 @@ case 1: { if (!(message.defaults && message.defaults.length)) message.defaults = []; - message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32())); + message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -11645,7 +11997,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -11676,14 +12028,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetDefaults.verify = function verify(message) { + FeatureSetDefaults.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.defaults != null && message.hasOwnProperty("defaults")) { if (!Array.isArray(message.defaults)) return "defaults: array expected"; for (var i = 0; i < message.defaults.length; ++i) { - var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]); + var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i], long + 1); if (error) return "defaults." + error; } @@ -11735,9 +12091,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults */ - FeatureSetDefaults.fromObject = function fromObject(object) { + FeatureSetDefaults.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults(); if (object.defaults) { if (!Array.isArray(object.defaults)) @@ -11746,7 +12106,7 @@ for (var i = 0; i < object.defaults.length; ++i) { if (typeof object.defaults[i] !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected"); - message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]); + message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i], long + 1); } } switch (object.minimumEdition) { @@ -11943,7 +12303,7 @@ function FeatureSetEditionDefault(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12028,9 +12388,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FeatureSetEditionDefault.decode = function decode(reader, length, error) { + FeatureSetEditionDefault.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12042,15 +12406,15 @@ break; } case 4: { - message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32()); + message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12081,9 +12445,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FeatureSetEditionDefault.verify = function verify(message) { + FeatureSetEditionDefault.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.edition != null && message.hasOwnProperty("edition")) switch (message.edition) { default: @@ -12103,12 +12471,12 @@ break; } if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) { - var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures); + var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures, long + 1); if (error) return "overridableFeatures." + error; } if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) { - var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures); + var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures, long + 1); if (error) return "fixedFeatures." + error; } @@ -12123,9 +12491,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault */ - FeatureSetEditionDefault.fromObject = function fromObject(object) { + FeatureSetEditionDefault.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault(); switch (object.edition) { default: @@ -12186,12 +12558,12 @@ if (object.overridableFeatures != null) { if (typeof object.overridableFeatures !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected"); - message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures); + message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures, long + 1); } if (object.fixedFeatures != null) { if (typeof object.fixedFeatures !== "object") throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected"); - message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures); + message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures, long + 1); } return message; }; @@ -12276,7 +12648,7 @@ this.location = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12342,9 +12714,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SourceCodeInfo.decode = function decode(reader, length, error) { + SourceCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12354,11 +12730,11 @@ case 1: { if (!(message.location && message.location.length)) message.location = []; - message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12389,14 +12765,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SourceCodeInfo.verify = function verify(message) { + SourceCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.location != null && message.hasOwnProperty("location")) { if (!Array.isArray(message.location)) return "location: array expected"; for (var i = 0; i < message.location.length; ++i) { - var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i], long + 1); if (error) return "location." + error; } @@ -12412,9 +12792,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo */ - SourceCodeInfo.fromObject = function fromObject(object) { + SourceCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo(); if (object.location) { if (!Array.isArray(object.location)) @@ -12423,7 +12807,7 @@ for (var i = 0; i < object.location.length; ++i) { if (typeof object.location[i] !== "object") throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); - message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i], long + 1); } } return message; @@ -12505,7 +12889,7 @@ this.leadingDetachedComments = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12619,9 +13003,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Location.decode = function decode(reader, length, error) { + Location.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12665,7 +13053,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12696,9 +13084,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Location.verify = function verify(message) { + Location.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -12737,9 +13129,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.SourceCodeInfo.Location} Location */ - Location.fromObject = function fromObject(object) { + Location.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.SourceCodeInfo.Location(); if (object.path) { if (!Array.isArray(object.path)) @@ -12866,7 +13262,7 @@ this.annotation = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -12932,9 +13328,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GeneratedCodeInfo.decode = function decode(reader, length, error) { + GeneratedCodeInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -12944,11 +13344,11 @@ case 1: { if (!(message.annotation && message.annotation.length)) message.annotation = []; - message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -12979,14 +13379,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GeneratedCodeInfo.verify = function verify(message) { + GeneratedCodeInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.annotation != null && message.hasOwnProperty("annotation")) { if (!Array.isArray(message.annotation)) return "annotation: array expected"; for (var i = 0; i < message.annotation.length; ++i) { - var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i], long + 1); if (error) return "annotation." + error; } @@ -13002,9 +13406,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo */ - GeneratedCodeInfo.fromObject = function fromObject(object) { + GeneratedCodeInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo(); if (object.annotation) { if (!Array.isArray(object.annotation)) @@ -13013,7 +13421,7 @@ for (var i = 0; i < object.annotation.length; ++i) { if (typeof object.annotation[i] !== "object") throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); - message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i], long + 1); } } return message; @@ -13093,7 +13501,7 @@ this.path = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13202,9 +13610,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Annotation.decode = function decode(reader, length, error) { + Annotation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13239,7 +13651,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13270,9 +13682,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Annotation.verify = function verify(message) { + Annotation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.path != null && message.hasOwnProperty("path")) { if (!Array.isArray(message.path)) return "path: array expected"; @@ -13309,9 +13725,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation */ - Annotation.fromObject = function fromObject(object) { + Annotation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); if (object.path) { if (!Array.isArray(object.path)) @@ -13471,7 +13891,7 @@ function Any(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13546,9 +13966,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Any.decode = function decode(reader, length, error) { + Any.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13564,7 +13988,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13595,9 +14019,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Any.verify = function verify(message) { + Any.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type_url != null && message.hasOwnProperty("type_url")) if (!$util.isString(message.type_url)) return "type_url: string expected"; @@ -13615,9 +14043,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Any} Any */ - Any.fromObject = function fromObject(object) { + Any.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Any) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Any(); if (object.type_url != null) message.type_url = String(object.type_url); @@ -13707,7 +14139,7 @@ function Empty(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13762,9 +14194,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Empty.decode = function decode(reader, length, error) { + Empty.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13772,7 +14208,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13803,9 +14239,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Empty.verify = function verify(message) { + Empty.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -13817,9 +14257,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Empty} Empty */ - Empty.fromObject = function fromObject(object) { + Empty.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Empty) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.protobuf.Empty(); }; @@ -13886,7 +14330,7 @@ this.paths = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -13952,9 +14396,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldMask.decode = function decode(reader, length, error) { + FieldMask.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldMask(); while (reader.pos < end) { var tag = reader.uint32(); @@ -13968,7 +14416,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -13999,9 +14447,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldMask.verify = function verify(message) { + FieldMask.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.paths != null && message.hasOwnProperty("paths")) { if (!Array.isArray(message.paths)) return "paths: array expected"; @@ -14020,9 +14472,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.FieldMask} FieldMask */ - FieldMask.fromObject = function fromObject(object) { + FieldMask.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.FieldMask) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.FieldMask(); if (object.paths) { if (!Array.isArray(object.paths)) @@ -14107,7 +14563,7 @@ function Timestamp(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14182,9 +14638,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Timestamp.decode = function decode(reader, length, error) { + Timestamp.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14200,7 +14660,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14231,9 +14691,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Timestamp.verify = function verify(message) { + Timestamp.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.seconds != null && message.hasOwnProperty("seconds")) if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) return "seconds: integer|Long expected"; @@ -14251,9 +14715,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Timestamp} Timestamp */ - Timestamp.fromObject = function fromObject(object) { + Timestamp.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Timestamp) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Timestamp(); if (object.seconds != null) if ($util.Long) @@ -14350,7 +14818,7 @@ this.fields = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14418,9 +14886,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Struct.decode = function decode(reader, length, error) { + Struct.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Struct(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -14440,18 +14912,20 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.fields, key); message.fields[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14482,15 +14956,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Struct.verify = function verify(message) { + Struct.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fields != null && message.hasOwnProperty("fields")) { if (!$util.isObject(message.fields)) return "fields: object expected"; var key = Object.keys(message.fields); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.fields[key[i]]); + var error = $root.google.protobuf.Value.verify(message.fields[key[i]], long + 1); if (error) return "fields." + error; } @@ -14506,18 +14984,24 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Struct} Struct */ - Struct.fromObject = function fromObject(object) { + Struct.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Struct) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Struct(); if (object.fields) { if (typeof object.fields !== "object") throw TypeError(".google.protobuf.Struct.fields: object expected"); message.fields = {}; for (var keys = Object.keys(object.fields), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.fields, keys[i]); if (typeof object.fields[keys[i]] !== "object") throw TypeError(".google.protobuf.Struct.fields: object expected"); - message.fields[keys[i]] = $root.google.protobuf.Value.fromObject(object.fields[keys[i]]); + message.fields[keys[i]] = $root.google.protobuf.Value.fromObject(object.fields[keys[i]], long + 1); } } return message; @@ -14541,8 +15025,11 @@ var keys2; if (message.fields && (keys2 = Object.keys(message.fields)).length) { object.fields = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.fields, keys2[j]); object.fields[keys2[j]] = $root.google.protobuf.Value.toObject(message.fields[keys2[j]], options); + } } return object; }; @@ -14601,7 +15088,7 @@ function Value(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -14730,9 +15217,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Value.decode = function decode(reader, length, error) { + Value.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Value(); while (reader.pos < end) { var tag = reader.uint32(); @@ -14756,15 +15247,15 @@ break; } case 5: { - message.structValue = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.structValue = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.listValue = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + message.listValue = $root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -14795,9 +15286,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Value.verify = function verify(message) { + Value.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.nullValue != null && message.hasOwnProperty("nullValue")) { properties.kind = 1; @@ -14834,7 +15329,7 @@ return "kind: multiple values"; properties.kind = 1; { - var error = $root.google.protobuf.Struct.verify(message.structValue); + var error = $root.google.protobuf.Struct.verify(message.structValue, long + 1); if (error) return "structValue." + error; } @@ -14844,7 +15339,7 @@ return "kind: multiple values"; properties.kind = 1; { - var error = $root.google.protobuf.ListValue.verify(message.listValue); + var error = $root.google.protobuf.ListValue.verify(message.listValue, long + 1); if (error) return "listValue." + error; } @@ -14860,9 +15355,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.Value} Value */ - Value.fromObject = function fromObject(object) { + Value.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.Value) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.Value(); switch (object.nullValue) { default: @@ -14885,12 +15384,12 @@ if (object.structValue != null) { if (typeof object.structValue !== "object") throw TypeError(".google.protobuf.Value.structValue: object expected"); - message.structValue = $root.google.protobuf.Struct.fromObject(object.structValue); + message.structValue = $root.google.protobuf.Struct.fromObject(object.structValue, long + 1); } if (object.listValue != null) { if (typeof object.listValue !== "object") throw TypeError(".google.protobuf.Value.listValue: object expected"); - message.listValue = $root.google.protobuf.ListValue.fromObject(object.listValue); + message.listValue = $root.google.protobuf.ListValue.fromObject(object.listValue, long + 1); } return message; }; @@ -15003,7 +15502,7 @@ this.values = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15069,9 +15568,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListValue.decode = function decode(reader, length, error) { + ListValue.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ListValue(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15081,11 +15584,11 @@ case 1: { if (!(message.values && message.values.length)) message.values = []; - message.values.push($root.google.protobuf.Value.decode(reader, reader.uint32())); + message.values.push($root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15116,14 +15619,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListValue.verify = function verify(message) { + ListValue.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.values != null && message.hasOwnProperty("values")) { if (!Array.isArray(message.values)) return "values: array expected"; for (var i = 0; i < message.values.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.values[i]); + var error = $root.google.protobuf.Value.verify(message.values[i], long + 1); if (error) return "values." + error; } @@ -15139,9 +15646,13 @@ * @param {Object.} object Plain object * @returns {google.protobuf.ListValue} ListValue */ - ListValue.fromObject = function fromObject(object) { + ListValue.fromObject = function fromObject(object, long) { if (object instanceof $root.google.protobuf.ListValue) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.protobuf.ListValue(); if (object.values) { if (!Array.isArray(object.values)) @@ -15150,7 +15661,7 @@ for (var i = 0; i < object.values.length; ++i) { if (typeof object.values[i] !== "object") throw TypeError(".google.protobuf.ListValue.values: object expected"); - message.values[i] = $root.google.protobuf.Value.fromObject(object.values[i]); + message.values[i] = $root.google.protobuf.Value.fromObject(object.values[i], long + 1); } } return message; @@ -15243,7 +15754,7 @@ this.metadata = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15329,9 +15840,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ErrorInfo.decode = function decode(reader, length, error) { + ErrorInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.ErrorInfo(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -15362,15 +15877,17 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.metadata, key); message.metadata[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15401,9 +15918,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ErrorInfo.verify = function verify(message) { + ErrorInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.reason != null && message.hasOwnProperty("reason")) if (!$util.isString(message.reason)) return "reason: string expected"; @@ -15429,9 +15950,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.ErrorInfo} ErrorInfo */ - ErrorInfo.fromObject = function fromObject(object) { + ErrorInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.ErrorInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.ErrorInfo(); if (object.reason != null) message.reason = String(object.reason); @@ -15441,8 +15966,11 @@ if (typeof object.metadata !== "object") throw TypeError(".google.rpc.ErrorInfo.metadata: object expected"); message.metadata = {}; - for (var keys = Object.keys(object.metadata), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.metadata), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.metadata, keys[i]); message.metadata[keys[i]] = String(object.metadata[keys[i]]); + } } return message; }; @@ -15473,8 +16001,11 @@ var keys2; if (message.metadata && (keys2 = Object.keys(message.metadata)).length) { object.metadata = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.metadata, keys2[j]); object.metadata[keys2[j]] = message.metadata[keys2[j]]; + } } return object; }; @@ -15528,7 +16059,7 @@ function RetryInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15593,9 +16124,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RetryInfo.decode = function decode(reader, length, error) { + RetryInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.RetryInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15603,11 +16138,11 @@ break; switch (tag >>> 3) { case 1: { - message.retryDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.retryDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15638,11 +16173,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RetryInfo.verify = function verify(message) { + RetryInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.retryDelay != null && message.hasOwnProperty("retryDelay")) { - var error = $root.google.protobuf.Duration.verify(message.retryDelay); + var error = $root.google.protobuf.Duration.verify(message.retryDelay, long + 1); if (error) return "retryDelay." + error; } @@ -15657,14 +16196,18 @@ * @param {Object.} object Plain object * @returns {google.rpc.RetryInfo} RetryInfo */ - RetryInfo.fromObject = function fromObject(object) { + RetryInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.RetryInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.RetryInfo(); if (object.retryDelay != null) { if (typeof object.retryDelay !== "object") throw TypeError(".google.rpc.RetryInfo.retryDelay: object expected"); - message.retryDelay = $root.google.protobuf.Duration.fromObject(object.retryDelay); + message.retryDelay = $root.google.protobuf.Duration.fromObject(object.retryDelay, long + 1); } return message; }; @@ -15740,7 +16283,7 @@ this.stackEntries = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -15816,9 +16359,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DebugInfo.decode = function decode(reader, length, error) { + DebugInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.DebugInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -15836,7 +16383,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -15867,9 +16414,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DebugInfo.verify = function verify(message) { + DebugInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.stackEntries != null && message.hasOwnProperty("stackEntries")) { if (!Array.isArray(message.stackEntries)) return "stackEntries: array expected"; @@ -15891,9 +16442,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.DebugInfo} DebugInfo */ - DebugInfo.fromObject = function fromObject(object) { + DebugInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.DebugInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.DebugInfo(); if (object.stackEntries) { if (!Array.isArray(object.stackEntries)) @@ -15984,7 +16539,7 @@ this.violations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16050,9 +16605,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QuotaFailure.decode = function decode(reader, length, error) { + QuotaFailure.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.QuotaFailure(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16062,11 +16621,11 @@ case 1: { if (!(message.violations && message.violations.length)) message.violations = []; - message.violations.push($root.google.rpc.QuotaFailure.Violation.decode(reader, reader.uint32())); + message.violations.push($root.google.rpc.QuotaFailure.Violation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16097,14 +16656,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - QuotaFailure.verify = function verify(message) { + QuotaFailure.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.violations != null && message.hasOwnProperty("violations")) { if (!Array.isArray(message.violations)) return "violations: array expected"; for (var i = 0; i < message.violations.length; ++i) { - var error = $root.google.rpc.QuotaFailure.Violation.verify(message.violations[i]); + var error = $root.google.rpc.QuotaFailure.Violation.verify(message.violations[i], long + 1); if (error) return "violations." + error; } @@ -16120,9 +16683,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.QuotaFailure} QuotaFailure */ - QuotaFailure.fromObject = function fromObject(object) { + QuotaFailure.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.QuotaFailure) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.QuotaFailure(); if (object.violations) { if (!Array.isArray(object.violations)) @@ -16131,7 +16698,7 @@ for (var i = 0; i < object.violations.length; ++i) { if (typeof object.violations[i] !== "object") throw TypeError(".google.rpc.QuotaFailure.violations: object expected"); - message.violations[i] = $root.google.rpc.QuotaFailure.Violation.fromObject(object.violations[i]); + message.violations[i] = $root.google.rpc.QuotaFailure.Violation.fromObject(object.violations[i], long + 1); } } return message; @@ -16207,7 +16774,7 @@ function Violation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16282,9 +16849,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Violation.decode = function decode(reader, length, error) { + Violation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.QuotaFailure.Violation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16300,7 +16871,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16331,9 +16902,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Violation.verify = function verify(message) { + Violation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.subject != null && message.hasOwnProperty("subject")) if (!$util.isString(message.subject)) return "subject: string expected"; @@ -16351,9 +16926,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.QuotaFailure.Violation} Violation */ - Violation.fromObject = function fromObject(object) { + Violation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.QuotaFailure.Violation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.QuotaFailure.Violation(); if (object.subject != null) message.subject = String(object.subject); @@ -16439,7 +17018,7 @@ this.violations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16505,9 +17084,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PreconditionFailure.decode = function decode(reader, length, error) { + PreconditionFailure.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.PreconditionFailure(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16517,11 +17100,11 @@ case 1: { if (!(message.violations && message.violations.length)) message.violations = []; - message.violations.push($root.google.rpc.PreconditionFailure.Violation.decode(reader, reader.uint32())); + message.violations.push($root.google.rpc.PreconditionFailure.Violation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16552,14 +17135,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PreconditionFailure.verify = function verify(message) { + PreconditionFailure.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.violations != null && message.hasOwnProperty("violations")) { if (!Array.isArray(message.violations)) return "violations: array expected"; for (var i = 0; i < message.violations.length; ++i) { - var error = $root.google.rpc.PreconditionFailure.Violation.verify(message.violations[i]); + var error = $root.google.rpc.PreconditionFailure.Violation.verify(message.violations[i], long + 1); if (error) return "violations." + error; } @@ -16575,9 +17162,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.PreconditionFailure} PreconditionFailure */ - PreconditionFailure.fromObject = function fromObject(object) { + PreconditionFailure.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.PreconditionFailure) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.PreconditionFailure(); if (object.violations) { if (!Array.isArray(object.violations)) @@ -16586,7 +17177,7 @@ for (var i = 0; i < object.violations.length; ++i) { if (typeof object.violations[i] !== "object") throw TypeError(".google.rpc.PreconditionFailure.violations: object expected"); - message.violations[i] = $root.google.rpc.PreconditionFailure.Violation.fromObject(object.violations[i]); + message.violations[i] = $root.google.rpc.PreconditionFailure.Violation.fromObject(object.violations[i], long + 1); } } return message; @@ -16663,7 +17254,7 @@ function Violation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16748,9 +17339,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Violation.decode = function decode(reader, length, error) { + Violation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.PreconditionFailure.Violation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16770,7 +17365,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -16801,9 +17396,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Violation.verify = function verify(message) { + Violation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -16824,9 +17423,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.PreconditionFailure.Violation} Violation */ - Violation.fromObject = function fromObject(object) { + Violation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.PreconditionFailure.Violation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.PreconditionFailure.Violation(); if (object.type != null) message.type = String(object.type); @@ -16917,7 +17520,7 @@ this.fieldViolations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -16983,9 +17586,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BadRequest.decode = function decode(reader, length, error) { + BadRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.BadRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -16995,11 +17602,11 @@ case 1: { if (!(message.fieldViolations && message.fieldViolations.length)) message.fieldViolations = []; - message.fieldViolations.push($root.google.rpc.BadRequest.FieldViolation.decode(reader, reader.uint32())); + message.fieldViolations.push($root.google.rpc.BadRequest.FieldViolation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17030,14 +17637,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BadRequest.verify = function verify(message) { + BadRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fieldViolations != null && message.hasOwnProperty("fieldViolations")) { if (!Array.isArray(message.fieldViolations)) return "fieldViolations: array expected"; for (var i = 0; i < message.fieldViolations.length; ++i) { - var error = $root.google.rpc.BadRequest.FieldViolation.verify(message.fieldViolations[i]); + var error = $root.google.rpc.BadRequest.FieldViolation.verify(message.fieldViolations[i], long + 1); if (error) return "fieldViolations." + error; } @@ -17053,9 +17664,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.BadRequest} BadRequest */ - BadRequest.fromObject = function fromObject(object) { + BadRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.BadRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.BadRequest(); if (object.fieldViolations) { if (!Array.isArray(object.fieldViolations)) @@ -17064,7 +17679,7 @@ for (var i = 0; i < object.fieldViolations.length; ++i) { if (typeof object.fieldViolations[i] !== "object") throw TypeError(".google.rpc.BadRequest.fieldViolations: object expected"); - message.fieldViolations[i] = $root.google.rpc.BadRequest.FieldViolation.fromObject(object.fieldViolations[i]); + message.fieldViolations[i] = $root.google.rpc.BadRequest.FieldViolation.fromObject(object.fieldViolations[i], long + 1); } } return message; @@ -17140,7 +17755,7 @@ function FieldViolation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17215,9 +17830,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FieldViolation.decode = function decode(reader, length, error) { + FieldViolation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.BadRequest.FieldViolation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17233,7 +17852,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17264,9 +17883,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FieldViolation.verify = function verify(message) { + FieldViolation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.field != null && message.hasOwnProperty("field")) if (!$util.isString(message.field)) return "field: string expected"; @@ -17284,9 +17907,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.BadRequest.FieldViolation} FieldViolation */ - FieldViolation.fromObject = function fromObject(object) { + FieldViolation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.BadRequest.FieldViolation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.BadRequest.FieldViolation(); if (object.field != null) message.field = String(object.field); @@ -17372,7 +17999,7 @@ function RequestInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17447,9 +18074,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RequestInfo.decode = function decode(reader, length, error) { + RequestInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.RequestInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17465,7 +18096,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17496,9 +18127,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RequestInfo.verify = function verify(message) { + RequestInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.requestId != null && message.hasOwnProperty("requestId")) if (!$util.isString(message.requestId)) return "requestId: string expected"; @@ -17516,9 +18151,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.RequestInfo} RequestInfo */ - RequestInfo.fromObject = function fromObject(object) { + RequestInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.RequestInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.RequestInfo(); if (object.requestId != null) message.requestId = String(object.requestId); @@ -17603,7 +18242,7 @@ function ResourceInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17698,9 +18337,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceInfo.decode = function decode(reader, length, error) { + ResourceInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.ResourceInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17724,7 +18367,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17755,9 +18398,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceInfo.verify = function verify(message) { + ResourceInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resourceType != null && message.hasOwnProperty("resourceType")) if (!$util.isString(message.resourceType)) return "resourceType: string expected"; @@ -17781,9 +18428,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.ResourceInfo} ResourceInfo */ - ResourceInfo.fromObject = function fromObject(object) { + ResourceInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.ResourceInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.ResourceInfo(); if (object.resourceType != null) message.resourceType = String(object.resourceType); @@ -17876,7 +18527,7 @@ this.links = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -17942,9 +18593,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Help.decode = function decode(reader, length, error) { + Help.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Help(); while (reader.pos < end) { var tag = reader.uint32(); @@ -17954,11 +18609,11 @@ case 1: { if (!(message.links && message.links.length)) message.links = []; - message.links.push($root.google.rpc.Help.Link.decode(reader, reader.uint32())); + message.links.push($root.google.rpc.Help.Link.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -17989,14 +18644,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Help.verify = function verify(message) { + Help.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.links != null && message.hasOwnProperty("links")) { if (!Array.isArray(message.links)) return "links: array expected"; for (var i = 0; i < message.links.length; ++i) { - var error = $root.google.rpc.Help.Link.verify(message.links[i]); + var error = $root.google.rpc.Help.Link.verify(message.links[i], long + 1); if (error) return "links." + error; } @@ -18012,9 +18671,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.Help} Help */ - Help.fromObject = function fromObject(object) { + Help.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.Help) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.Help(); if (object.links) { if (!Array.isArray(object.links)) @@ -18023,7 +18686,7 @@ for (var i = 0; i < object.links.length; ++i) { if (typeof object.links[i] !== "object") throw TypeError(".google.rpc.Help.links: object expected"); - message.links[i] = $root.google.rpc.Help.Link.fromObject(object.links[i]); + message.links[i] = $root.google.rpc.Help.Link.fromObject(object.links[i], long + 1); } } return message; @@ -18099,7 +18762,7 @@ function Link(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18174,9 +18837,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Link.decode = function decode(reader, length, error) { + Link.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Help.Link(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18192,7 +18859,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18223,9 +18890,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Link.verify = function verify(message) { + Link.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) return "description: string expected"; @@ -18243,9 +18914,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.Help.Link} Link */ - Link.fromObject = function fromObject(object) { + Link.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.Help.Link) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.Help.Link(); if (object.description != null) message.description = String(object.description); @@ -18331,7 +19006,7 @@ function LocalizedMessage(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18406,9 +19081,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LocalizedMessage.decode = function decode(reader, length, error) { + LocalizedMessage.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.LocalizedMessage(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18424,7 +19103,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18455,9 +19134,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LocalizedMessage.verify = function verify(message) { + LocalizedMessage.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.locale != null && message.hasOwnProperty("locale")) if (!$util.isString(message.locale)) return "locale: string expected"; @@ -18475,9 +19158,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.LocalizedMessage} LocalizedMessage */ - LocalizedMessage.fromObject = function fromObject(object) { + LocalizedMessage.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.LocalizedMessage) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.LocalizedMessage(); if (object.locale != null) message.locale = String(object.locale); @@ -18562,7 +19249,7 @@ this.details = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -18648,9 +19335,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Status.decode = function decode(reader, length, error) { + Status.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Status(); while (reader.pos < end) { var tag = reader.uint32(); @@ -18668,11 +19359,11 @@ case 3: { if (!(message.details && message.details.length)) message.details = []; - message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); + message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -18703,9 +19394,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Status.verify = function verify(message) { + Status.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.code != null && message.hasOwnProperty("code")) if (!$util.isInteger(message.code)) return "code: integer expected"; @@ -18716,7 +19411,7 @@ if (!Array.isArray(message.details)) return "details: array expected"; for (var i = 0; i < message.details.length; ++i) { - var error = $root.google.protobuf.Any.verify(message.details[i]); + var error = $root.google.protobuf.Any.verify(message.details[i], long + 1); if (error) return "details." + error; } @@ -18732,9 +19427,13 @@ * @param {Object.} object Plain object * @returns {google.rpc.Status} Status */ - Status.fromObject = function fromObject(object) { + Status.fromObject = function fromObject(object, long) { if (object instanceof $root.google.rpc.Status) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.rpc.Status(); if (object.code != null) message.code = object.code | 0; @@ -18747,7 +19446,7 @@ for (var i = 0; i < object.details.length; ++i) { if (typeof object.details[i] !== "object") throw TypeError(".google.rpc.Status.details: object expected"); - message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i]); + message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i], long + 1); } } return message; @@ -18895,7 +19594,7 @@ this.instancePartitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19145,9 +19844,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Backup.decode = function decode(reader, length, error) { + Backup.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.Backup(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19159,11 +19862,11 @@ break; } case 9: { - message.versionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.versionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 1: { @@ -19171,7 +19874,7 @@ break; } case 4: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -19197,13 +19900,13 @@ break; } case 8: { - message.encryptionInfo = $root.google.spanner.admin.database.v1.EncryptionInfo.decode(reader, reader.uint32()); + message.encryptionInfo = $root.google.spanner.admin.database.v1.EncryptionInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { if (!(message.encryptionInformation && message.encryptionInformation.length)) message.encryptionInformation = []; - message.encryptionInformation.push($root.google.spanner.admin.database.v1.EncryptionInfo.decode(reader, reader.uint32())); + message.encryptionInformation.push($root.google.spanner.admin.database.v1.EncryptionInfo.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -19217,7 +19920,7 @@ break; } case 12: { - message.maxExpireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.maxExpireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 14: { @@ -19231,17 +19934,17 @@ break; } case 18: { - message.oldestVersionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.oldestVersionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 19: { if (!(message.instancePartitions && message.instancePartitions.length)) message.instancePartitions = []; - message.instancePartitions.push($root.google.spanner.admin.database.v1.BackupInstancePartition.decode(reader, reader.uint32())); + message.instancePartitions.push($root.google.spanner.admin.database.v1.BackupInstancePartition.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19272,19 +19975,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Backup.verify = function verify(message) { + Backup.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; if (message.versionTime != null && message.hasOwnProperty("versionTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.versionTime); + var error = $root.google.protobuf.Timestamp.verify(message.versionTime, long + 1); if (error) return "versionTime." + error; } if (message.expireTime != null && message.hasOwnProperty("expireTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + var error = $root.google.protobuf.Timestamp.verify(message.expireTime, long + 1); if (error) return "expireTime." + error; } @@ -19292,7 +19999,7 @@ if (!$util.isString(message.name)) return "name: string expected"; if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -19322,7 +20029,7 @@ return "referencingDatabases: string[] expected"; } if (message.encryptionInfo != null && message.hasOwnProperty("encryptionInfo")) { - var error = $root.google.spanner.admin.database.v1.EncryptionInfo.verify(message.encryptionInfo); + var error = $root.google.spanner.admin.database.v1.EncryptionInfo.verify(message.encryptionInfo, long + 1); if (error) return "encryptionInfo." + error; } @@ -19330,7 +20037,7 @@ if (!Array.isArray(message.encryptionInformation)) return "encryptionInformation: array expected"; for (var i = 0; i < message.encryptionInformation.length; ++i) { - var error = $root.google.spanner.admin.database.v1.EncryptionInfo.verify(message.encryptionInformation[i]); + var error = $root.google.spanner.admin.database.v1.EncryptionInfo.verify(message.encryptionInformation[i], long + 1); if (error) return "encryptionInformation." + error; } @@ -19352,7 +20059,7 @@ return "referencingBackups: string[] expected"; } if (message.maxExpireTime != null && message.hasOwnProperty("maxExpireTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.maxExpireTime); + var error = $root.google.protobuf.Timestamp.verify(message.maxExpireTime, long + 1); if (error) return "maxExpireTime." + error; } @@ -19367,7 +20074,7 @@ if (!$util.isString(message.incrementalBackupChainId)) return "incrementalBackupChainId: string expected"; if (message.oldestVersionTime != null && message.hasOwnProperty("oldestVersionTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.oldestVersionTime); + var error = $root.google.protobuf.Timestamp.verify(message.oldestVersionTime, long + 1); if (error) return "oldestVersionTime." + error; } @@ -19375,7 +20082,7 @@ if (!Array.isArray(message.instancePartitions)) return "instancePartitions: array expected"; for (var i = 0; i < message.instancePartitions.length; ++i) { - var error = $root.google.spanner.admin.database.v1.BackupInstancePartition.verify(message.instancePartitions[i]); + var error = $root.google.spanner.admin.database.v1.BackupInstancePartition.verify(message.instancePartitions[i], long + 1); if (error) return "instancePartitions." + error; } @@ -19391,28 +20098,32 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.Backup} Backup */ - Backup.fromObject = function fromObject(object) { + Backup.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.Backup) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.Backup(); if (object.database != null) message.database = String(object.database); if (object.versionTime != null) { if (typeof object.versionTime !== "object") throw TypeError(".google.spanner.admin.database.v1.Backup.versionTime: object expected"); - message.versionTime = $root.google.protobuf.Timestamp.fromObject(object.versionTime); + message.versionTime = $root.google.protobuf.Timestamp.fromObject(object.versionTime, long + 1); } if (object.expireTime != null) { if (typeof object.expireTime !== "object") throw TypeError(".google.spanner.admin.database.v1.Backup.expireTime: object expected"); - message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime, long + 1); } if (object.name != null) message.name = String(object.name); if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.spanner.admin.database.v1.Backup.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.sizeBytes != null) if ($util.Long) @@ -19471,7 +20182,7 @@ if (object.encryptionInfo != null) { if (typeof object.encryptionInfo !== "object") throw TypeError(".google.spanner.admin.database.v1.Backup.encryptionInfo: object expected"); - message.encryptionInfo = $root.google.spanner.admin.database.v1.EncryptionInfo.fromObject(object.encryptionInfo); + message.encryptionInfo = $root.google.spanner.admin.database.v1.EncryptionInfo.fromObject(object.encryptionInfo, long + 1); } if (object.encryptionInformation) { if (!Array.isArray(object.encryptionInformation)) @@ -19480,7 +20191,7 @@ for (var i = 0; i < object.encryptionInformation.length; ++i) { if (typeof object.encryptionInformation[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.Backup.encryptionInformation: object expected"); - message.encryptionInformation[i] = $root.google.spanner.admin.database.v1.EncryptionInfo.fromObject(object.encryptionInformation[i]); + message.encryptionInformation[i] = $root.google.spanner.admin.database.v1.EncryptionInfo.fromObject(object.encryptionInformation[i], long + 1); } } switch (object.databaseDialect) { @@ -19513,7 +20224,7 @@ if (object.maxExpireTime != null) { if (typeof object.maxExpireTime !== "object") throw TypeError(".google.spanner.admin.database.v1.Backup.maxExpireTime: object expected"); - message.maxExpireTime = $root.google.protobuf.Timestamp.fromObject(object.maxExpireTime); + message.maxExpireTime = $root.google.protobuf.Timestamp.fromObject(object.maxExpireTime, long + 1); } if (object.backupSchedules) { if (!Array.isArray(object.backupSchedules)) @@ -19527,7 +20238,7 @@ if (object.oldestVersionTime != null) { if (typeof object.oldestVersionTime !== "object") throw TypeError(".google.spanner.admin.database.v1.Backup.oldestVersionTime: object expected"); - message.oldestVersionTime = $root.google.protobuf.Timestamp.fromObject(object.oldestVersionTime); + message.oldestVersionTime = $root.google.protobuf.Timestamp.fromObject(object.oldestVersionTime, long + 1); } if (object.instancePartitions) { if (!Array.isArray(object.instancePartitions)) @@ -19536,7 +20247,7 @@ for (var i = 0; i < object.instancePartitions.length; ++i) { if (typeof object.instancePartitions[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.Backup.instancePartitions: object expected"); - message.instancePartitions[i] = $root.google.spanner.admin.database.v1.BackupInstancePartition.fromObject(object.instancePartitions[i]); + message.instancePartitions[i] = $root.google.spanner.admin.database.v1.BackupInstancePartition.fromObject(object.instancePartitions[i], long + 1); } } return message; @@ -19723,7 +20434,7 @@ function CreateBackupRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -19818,9 +20529,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateBackupRequest.decode = function decode(reader, length, error) { + CreateBackupRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.CreateBackupRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -19836,15 +20551,15 @@ break; } case 3: { - message.backup = $root.google.spanner.admin.database.v1.Backup.decode(reader, reader.uint32()); + message.backup = $root.google.spanner.admin.database.v1.Backup.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.encryptionConfig = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.decode(reader, reader.uint32()); + message.encryptionConfig = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -19875,9 +20590,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateBackupRequest.verify = function verify(message) { + CreateBackupRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -19885,12 +20604,12 @@ if (!$util.isString(message.backupId)) return "backupId: string expected"; if (message.backup != null && message.hasOwnProperty("backup")) { - var error = $root.google.spanner.admin.database.v1.Backup.verify(message.backup); + var error = $root.google.spanner.admin.database.v1.Backup.verify(message.backup, long + 1); if (error) return "backup." + error; } if (message.encryptionConfig != null && message.hasOwnProperty("encryptionConfig")) { - var error = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.verify(message.encryptionConfig); + var error = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.verify(message.encryptionConfig, long + 1); if (error) return "encryptionConfig." + error; } @@ -19905,9 +20624,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.CreateBackupRequest} CreateBackupRequest */ - CreateBackupRequest.fromObject = function fromObject(object) { + CreateBackupRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.CreateBackupRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.CreateBackupRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -19916,12 +20639,12 @@ if (object.backup != null) { if (typeof object.backup !== "object") throw TypeError(".google.spanner.admin.database.v1.CreateBackupRequest.backup: object expected"); - message.backup = $root.google.spanner.admin.database.v1.Backup.fromObject(object.backup); + message.backup = $root.google.spanner.admin.database.v1.Backup.fromObject(object.backup, long + 1); } if (object.encryptionConfig != null) { if (typeof object.encryptionConfig !== "object") throw TypeError(".google.spanner.admin.database.v1.CreateBackupRequest.encryptionConfig: object expected"); - message.encryptionConfig = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.fromObject(object.encryptionConfig); + message.encryptionConfig = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.fromObject(object.encryptionConfig, long + 1); } return message; }; @@ -20008,7 +20731,7 @@ function CreateBackupMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20103,9 +20826,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateBackupMetadata.decode = function decode(reader, length, error) { + CreateBackupMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.CreateBackupMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20121,15 +20848,15 @@ break; } case 3: { - message.progress = $root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32()); + message.progress = $root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20160,9 +20887,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateBackupMetadata.verify = function verify(message) { + CreateBackupMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -20170,12 +20901,12 @@ if (!$util.isString(message.database)) return "database: string expected"; if (message.progress != null && message.hasOwnProperty("progress")) { - var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress); + var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress, long + 1); if (error) return "progress." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } @@ -20190,9 +20921,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.CreateBackupMetadata} CreateBackupMetadata */ - CreateBackupMetadata.fromObject = function fromObject(object) { + CreateBackupMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.CreateBackupMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.CreateBackupMetadata(); if (object.name != null) message.name = String(object.name); @@ -20201,12 +20936,12 @@ if (object.progress != null) { if (typeof object.progress !== "object") throw TypeError(".google.spanner.admin.database.v1.CreateBackupMetadata.progress: object expected"); - message.progress = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress); + message.progress = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.database.v1.CreateBackupMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } return message; }; @@ -20294,7 +21029,7 @@ function CopyBackupRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20399,9 +21134,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CopyBackupRequest.decode = function decode(reader, length, error) { + CopyBackupRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.CopyBackupRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20421,15 +21160,15 @@ break; } case 4: { - message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.encryptionConfig = $root.google.spanner.admin.database.v1.CopyBackupEncryptionConfig.decode(reader, reader.uint32()); + message.encryptionConfig = $root.google.spanner.admin.database.v1.CopyBackupEncryptionConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20460,9 +21199,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CopyBackupRequest.verify = function verify(message) { + CopyBackupRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -20473,12 +21216,12 @@ if (!$util.isString(message.sourceBackup)) return "sourceBackup: string expected"; if (message.expireTime != null && message.hasOwnProperty("expireTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + var error = $root.google.protobuf.Timestamp.verify(message.expireTime, long + 1); if (error) return "expireTime." + error; } if (message.encryptionConfig != null && message.hasOwnProperty("encryptionConfig")) { - var error = $root.google.spanner.admin.database.v1.CopyBackupEncryptionConfig.verify(message.encryptionConfig); + var error = $root.google.spanner.admin.database.v1.CopyBackupEncryptionConfig.verify(message.encryptionConfig, long + 1); if (error) return "encryptionConfig." + error; } @@ -20493,9 +21236,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.CopyBackupRequest} CopyBackupRequest */ - CopyBackupRequest.fromObject = function fromObject(object) { + CopyBackupRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.CopyBackupRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.CopyBackupRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -20506,12 +21253,12 @@ if (object.expireTime != null) { if (typeof object.expireTime !== "object") throw TypeError(".google.spanner.admin.database.v1.CopyBackupRequest.expireTime: object expected"); - message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime, long + 1); } if (object.encryptionConfig != null) { if (typeof object.encryptionConfig !== "object") throw TypeError(".google.spanner.admin.database.v1.CopyBackupRequest.encryptionConfig: object expected"); - message.encryptionConfig = $root.google.spanner.admin.database.v1.CopyBackupEncryptionConfig.fromObject(object.encryptionConfig); + message.encryptionConfig = $root.google.spanner.admin.database.v1.CopyBackupEncryptionConfig.fromObject(object.encryptionConfig, long + 1); } return message; }; @@ -20601,7 +21348,7 @@ function CopyBackupMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20696,9 +21443,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CopyBackupMetadata.decode = function decode(reader, length, error) { + CopyBackupMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.CopyBackupMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20714,15 +21465,15 @@ break; } case 3: { - message.progress = $root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32()); + message.progress = $root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -20753,9 +21504,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CopyBackupMetadata.verify = function verify(message) { + CopyBackupMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -20763,12 +21518,12 @@ if (!$util.isString(message.sourceBackup)) return "sourceBackup: string expected"; if (message.progress != null && message.hasOwnProperty("progress")) { - var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress); + var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress, long + 1); if (error) return "progress." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } @@ -20783,9 +21538,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.CopyBackupMetadata} CopyBackupMetadata */ - CopyBackupMetadata.fromObject = function fromObject(object) { + CopyBackupMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.CopyBackupMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.CopyBackupMetadata(); if (object.name != null) message.name = String(object.name); @@ -20794,12 +21553,12 @@ if (object.progress != null) { if (typeof object.progress !== "object") throw TypeError(".google.spanner.admin.database.v1.CopyBackupMetadata.progress: object expected"); - message.progress = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress); + message.progress = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.database.v1.CopyBackupMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } return message; }; @@ -20884,7 +21643,7 @@ function UpdateBackupRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -20959,9 +21718,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateBackupRequest.decode = function decode(reader, length, error) { + UpdateBackupRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.UpdateBackupRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -20969,15 +21732,15 @@ break; switch (tag >>> 3) { case 1: { - message.backup = $root.google.spanner.admin.database.v1.Backup.decode(reader, reader.uint32()); + message.backup = $root.google.spanner.admin.database.v1.Backup.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21008,16 +21771,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateBackupRequest.verify = function verify(message) { + UpdateBackupRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.backup != null && message.hasOwnProperty("backup")) { - var error = $root.google.spanner.admin.database.v1.Backup.verify(message.backup); + var error = $root.google.spanner.admin.database.v1.Backup.verify(message.backup, long + 1); if (error) return "backup." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -21032,19 +21799,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.UpdateBackupRequest} UpdateBackupRequest */ - UpdateBackupRequest.fromObject = function fromObject(object) { + UpdateBackupRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.UpdateBackupRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.UpdateBackupRequest(); if (object.backup != null) { if (typeof object.backup !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateBackupRequest.backup: object expected"); - message.backup = $root.google.spanner.admin.database.v1.Backup.fromObject(object.backup); + message.backup = $root.google.spanner.admin.database.v1.Backup.fromObject(object.backup, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateBackupRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -21122,7 +21893,7 @@ function GetBackupRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21187,9 +21958,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetBackupRequest.decode = function decode(reader, length, error) { + GetBackupRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.GetBackupRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21201,7 +21976,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21232,9 +22007,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetBackupRequest.verify = function verify(message) { + GetBackupRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -21249,9 +22028,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.GetBackupRequest} GetBackupRequest */ - GetBackupRequest.fromObject = function fromObject(object) { + GetBackupRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.GetBackupRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.GetBackupRequest(); if (object.name != null) message.name = String(object.name); @@ -21327,7 +22110,7 @@ function DeleteBackupRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21392,9 +22175,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteBackupRequest.decode = function decode(reader, length, error) { + DeleteBackupRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.DeleteBackupRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21406,7 +22193,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21437,9 +22224,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteBackupRequest.verify = function verify(message) { + DeleteBackupRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -21454,9 +22245,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.DeleteBackupRequest} DeleteBackupRequest */ - DeleteBackupRequest.fromObject = function fromObject(object) { + DeleteBackupRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.DeleteBackupRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.DeleteBackupRequest(); if (object.name != null) message.name = String(object.name); @@ -21535,7 +22330,7 @@ function ListBackupsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21630,9 +22425,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBackupsRequest.decode = function decode(reader, length, error) { + ListBackupsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListBackupsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21656,7 +22455,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21687,9 +22486,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListBackupsRequest.verify = function verify(message) { + ListBackupsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -21713,9 +22516,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListBackupsRequest} ListBackupsRequest */ - ListBackupsRequest.fromObject = function fromObject(object) { + ListBackupsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListBackupsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListBackupsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -21809,7 +22616,7 @@ this.backups = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -21885,9 +22692,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBackupsResponse.decode = function decode(reader, length, error) { + ListBackupsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListBackupsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -21897,7 +22708,7 @@ case 1: { if (!(message.backups && message.backups.length)) message.backups = []; - message.backups.push($root.google.spanner.admin.database.v1.Backup.decode(reader, reader.uint32())); + message.backups.push($root.google.spanner.admin.database.v1.Backup.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -21905,7 +22716,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -21936,14 +22747,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListBackupsResponse.verify = function verify(message) { + ListBackupsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.backups != null && message.hasOwnProperty("backups")) { if (!Array.isArray(message.backups)) return "backups: array expected"; for (var i = 0; i < message.backups.length; ++i) { - var error = $root.google.spanner.admin.database.v1.Backup.verify(message.backups[i]); + var error = $root.google.spanner.admin.database.v1.Backup.verify(message.backups[i], long + 1); if (error) return "backups." + error; } @@ -21962,9 +22777,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListBackupsResponse} ListBackupsResponse */ - ListBackupsResponse.fromObject = function fromObject(object) { + ListBackupsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListBackupsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListBackupsResponse(); if (object.backups) { if (!Array.isArray(object.backups)) @@ -21973,7 +22792,7 @@ for (var i = 0; i < object.backups.length; ++i) { if (typeof object.backups[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.ListBackupsResponse.backups: object expected"); - message.backups[i] = $root.google.spanner.admin.database.v1.Backup.fromObject(object.backups[i]); + message.backups[i] = $root.google.spanner.admin.database.v1.Backup.fromObject(object.backups[i], long + 1); } } if (object.nextPageToken != null) @@ -22060,7 +22879,7 @@ function ListBackupOperationsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22155,9 +22974,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBackupOperationsRequest.decode = function decode(reader, length, error) { + ListBackupOperationsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListBackupOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22181,7 +23004,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22212,9 +23035,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListBackupOperationsRequest.verify = function verify(message) { + ListBackupOperationsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -22238,9 +23065,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListBackupOperationsRequest} ListBackupOperationsRequest */ - ListBackupOperationsRequest.fromObject = function fromObject(object) { + ListBackupOperationsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListBackupOperationsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListBackupOperationsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -22334,7 +23165,7 @@ this.operations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22410,9 +23241,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBackupOperationsResponse.decode = function decode(reader, length, error) { + ListBackupOperationsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListBackupOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22422,7 +23257,7 @@ case 1: { if (!(message.operations && message.operations.length)) message.operations = []; - message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -22430,7 +23265,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22461,14 +23296,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListBackupOperationsResponse.verify = function verify(message) { + ListBackupOperationsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.operations != null && message.hasOwnProperty("operations")) { if (!Array.isArray(message.operations)) return "operations: array expected"; for (var i = 0; i < message.operations.length; ++i) { - var error = $root.google.longrunning.Operation.verify(message.operations[i]); + var error = $root.google.longrunning.Operation.verify(message.operations[i], long + 1); if (error) return "operations." + error; } @@ -22487,9 +23326,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListBackupOperationsResponse} ListBackupOperationsResponse */ - ListBackupOperationsResponse.fromObject = function fromObject(object) { + ListBackupOperationsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListBackupOperationsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListBackupOperationsResponse(); if (object.operations) { if (!Array.isArray(object.operations)) @@ -22498,7 +23341,7 @@ for (var i = 0; i < object.operations.length; ++i) { if (typeof object.operations[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.ListBackupOperationsResponse.operations: object expected"); - message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i]); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i], long + 1); } } if (object.nextPageToken != null) @@ -22585,7 +23428,7 @@ function BackupInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22680,9 +23523,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackupInfo.decode = function decode(reader, length, error) { + BackupInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.BackupInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22694,11 +23541,11 @@ break; } case 4: { - message.versionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.versionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -22706,7 +23553,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -22737,19 +23584,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BackupInfo.verify = function verify(message) { + BackupInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.backup != null && message.hasOwnProperty("backup")) if (!$util.isString(message.backup)) return "backup: string expected"; if (message.versionTime != null && message.hasOwnProperty("versionTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.versionTime); + var error = $root.google.protobuf.Timestamp.verify(message.versionTime, long + 1); if (error) return "versionTime." + error; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } @@ -22767,21 +23618,25 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.BackupInfo} BackupInfo */ - BackupInfo.fromObject = function fromObject(object) { + BackupInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.BackupInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.BackupInfo(); if (object.backup != null) message.backup = String(object.backup); if (object.versionTime != null) { if (typeof object.versionTime !== "object") throw TypeError(".google.spanner.admin.database.v1.BackupInfo.versionTime: object expected"); - message.versionTime = $root.google.protobuf.Timestamp.fromObject(object.versionTime); + message.versionTime = $root.google.protobuf.Timestamp.fromObject(object.versionTime, long + 1); } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.spanner.admin.database.v1.BackupInfo.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.sourceDatabase != null) message.sourceDatabase = String(object.sourceDatabase); @@ -22870,7 +23725,7 @@ this.kmsKeyNames = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -22956,9 +23811,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateBackupEncryptionConfig.decode = function decode(reader, length, error) { + CreateBackupEncryptionConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -22980,7 +23839,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23011,9 +23870,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateBackupEncryptionConfig.verify = function verify(message) { + CreateBackupEncryptionConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.encryptionType != null && message.hasOwnProperty("encryptionType")) switch (message.encryptionType) { default: @@ -23045,9 +23908,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.CreateBackupEncryptionConfig} CreateBackupEncryptionConfig */ - CreateBackupEncryptionConfig.fromObject = function fromObject(object) { + CreateBackupEncryptionConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig(); switch (object.encryptionType) { default: @@ -23186,7 +24053,7 @@ this.kmsKeyNames = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23272,9 +24139,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CopyBackupEncryptionConfig.decode = function decode(reader, length, error) { + CopyBackupEncryptionConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.CopyBackupEncryptionConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23296,7 +24167,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23327,9 +24198,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CopyBackupEncryptionConfig.verify = function verify(message) { + CopyBackupEncryptionConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.encryptionType != null && message.hasOwnProperty("encryptionType")) switch (message.encryptionType) { default: @@ -23361,9 +24236,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.CopyBackupEncryptionConfig} CopyBackupEncryptionConfig */ - CopyBackupEncryptionConfig.fromObject = function fromObject(object) { + CopyBackupEncryptionConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.CopyBackupEncryptionConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.CopyBackupEncryptionConfig(); switch (object.encryptionType) { default: @@ -23498,7 +24377,7 @@ function FullBackupSpec(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23553,9 +24432,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FullBackupSpec.decode = function decode(reader, length, error) { + FullBackupSpec.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.FullBackupSpec(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23563,7 +24446,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23594,9 +24477,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FullBackupSpec.verify = function verify(message) { + FullBackupSpec.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -23608,9 +24495,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.FullBackupSpec} FullBackupSpec */ - FullBackupSpec.fromObject = function fromObject(object) { + FullBackupSpec.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.FullBackupSpec) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.spanner.admin.database.v1.FullBackupSpec(); }; @@ -23675,7 +24566,7 @@ function IncrementalBackupSpec(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23730,9 +24621,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IncrementalBackupSpec.decode = function decode(reader, length, error) { + IncrementalBackupSpec.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.IncrementalBackupSpec(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23740,7 +24635,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23771,9 +24666,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IncrementalBackupSpec.verify = function verify(message) { + IncrementalBackupSpec.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -23785,9 +24684,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.IncrementalBackupSpec} IncrementalBackupSpec */ - IncrementalBackupSpec.fromObject = function fromObject(object) { + IncrementalBackupSpec.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.IncrementalBackupSpec) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.spanner.admin.database.v1.IncrementalBackupSpec(); }; @@ -23853,7 +24756,7 @@ function BackupInstancePartition(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -23918,9 +24821,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackupInstancePartition.decode = function decode(reader, length, error) { + BackupInstancePartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.BackupInstancePartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -23932,7 +24839,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -23963,9 +24870,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BackupInstancePartition.verify = function verify(message) { + BackupInstancePartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instancePartition != null && message.hasOwnProperty("instancePartition")) if (!$util.isString(message.instancePartition)) return "instancePartition: string expected"; @@ -23980,9 +24891,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.BackupInstancePartition} BackupInstancePartition */ - BackupInstancePartition.fromObject = function fromObject(object) { + BackupInstancePartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.BackupInstancePartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.BackupInstancePartition(); if (object.instancePartition != null) message.instancePartition = String(object.instancePartition); @@ -24060,7 +24975,7 @@ function OperationProgress(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24145,9 +25060,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationProgress.decode = function decode(reader, length, error) { + OperationProgress.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.OperationProgress(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24159,15 +25078,15 @@ break; } case 2: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24198,19 +25117,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationProgress.verify = function verify(message) { + OperationProgress.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) if (!$util.isInteger(message.progressPercent)) return "progressPercent: integer expected"; if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -24225,21 +25148,25 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.OperationProgress} OperationProgress */ - OperationProgress.fromObject = function fromObject(object) { + OperationProgress.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.OperationProgress) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.OperationProgress(); if (object.progressPercent != null) message.progressPercent = object.progressPercent | 0; if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.spanner.admin.database.v1.OperationProgress.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.spanner.admin.database.v1.OperationProgress.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } return message; }; @@ -24322,7 +25249,7 @@ this.kmsKeyNames = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24398,9 +25325,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EncryptionConfig.decode = function decode(reader, length, error) { + EncryptionConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.EncryptionConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24418,7 +25349,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24449,9 +25380,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EncryptionConfig.verify = function verify(message) { + EncryptionConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kmsKeyName != null && message.hasOwnProperty("kmsKeyName")) if (!$util.isString(message.kmsKeyName)) return "kmsKeyName: string expected"; @@ -24473,9 +25408,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.EncryptionConfig} EncryptionConfig */ - EncryptionConfig.fromObject = function fromObject(object) { + EncryptionConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.EncryptionConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.EncryptionConfig(); if (object.kmsKeyName != null) message.kmsKeyName = String(object.kmsKeyName); @@ -24567,7 +25506,7 @@ function EncryptionInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24652,9 +25591,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - EncryptionInfo.decode = function decode(reader, length, error) { + EncryptionInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.EncryptionInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24666,7 +25609,7 @@ break; } case 4: { - message.encryptionStatus = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.encryptionStatus = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -24674,7 +25617,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -24705,9 +25648,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - EncryptionInfo.verify = function verify(message) { + EncryptionInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.encryptionType != null && message.hasOwnProperty("encryptionType")) switch (message.encryptionType) { default: @@ -24718,7 +25665,7 @@ break; } if (message.encryptionStatus != null && message.hasOwnProperty("encryptionStatus")) { - var error = $root.google.rpc.Status.verify(message.encryptionStatus); + var error = $root.google.rpc.Status.verify(message.encryptionStatus, long + 1); if (error) return "encryptionStatus." + error; } @@ -24736,9 +25683,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.EncryptionInfo} EncryptionInfo */ - EncryptionInfo.fromObject = function fromObject(object) { + EncryptionInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.EncryptionInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.EncryptionInfo(); switch (object.encryptionType) { default: @@ -24763,7 +25714,7 @@ if (object.encryptionStatus != null) { if (typeof object.encryptionStatus !== "object") throw TypeError(".google.spanner.admin.database.v1.EncryptionInfo.encryptionStatus: object expected"); - message.encryptionStatus = $root.google.rpc.Status.fromObject(object.encryptionStatus); + message.encryptionStatus = $root.google.rpc.Status.fromObject(object.encryptionStatus, long + 1); } if (object.kmsKeyVersion != null) message.kmsKeyVersion = String(object.kmsKeyVersion); @@ -24878,7 +25829,7 @@ function BackupScheduleSpec(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -24957,9 +25908,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackupScheduleSpec.decode = function decode(reader, length, error) { + BackupScheduleSpec.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.BackupScheduleSpec(); while (reader.pos < end) { var tag = reader.uint32(); @@ -24967,11 +25922,11 @@ break; switch (tag >>> 3) { case 1: { - message.cronSpec = $root.google.spanner.admin.database.v1.CrontabSpec.decode(reader, reader.uint32()); + message.cronSpec = $root.google.spanner.admin.database.v1.CrontabSpec.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25002,14 +25957,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BackupScheduleSpec.verify = function verify(message) { + BackupScheduleSpec.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.cronSpec != null && message.hasOwnProperty("cronSpec")) { properties.scheduleSpec = 1; { - var error = $root.google.spanner.admin.database.v1.CrontabSpec.verify(message.cronSpec); + var error = $root.google.spanner.admin.database.v1.CrontabSpec.verify(message.cronSpec, long + 1); if (error) return "cronSpec." + error; } @@ -25025,14 +25984,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.BackupScheduleSpec} BackupScheduleSpec */ - BackupScheduleSpec.fromObject = function fromObject(object) { + BackupScheduleSpec.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.BackupScheduleSpec) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.BackupScheduleSpec(); if (object.cronSpec != null) { if (typeof object.cronSpec !== "object") throw TypeError(".google.spanner.admin.database.v1.BackupScheduleSpec.cronSpec: object expected"); - message.cronSpec = $root.google.spanner.admin.database.v1.CrontabSpec.fromObject(object.cronSpec); + message.cronSpec = $root.google.spanner.admin.database.v1.CrontabSpec.fromObject(object.cronSpec, long + 1); } return message; }; @@ -25113,7 +26076,7 @@ function BackupSchedule(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25252,9 +26215,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BackupSchedule.decode = function decode(reader, length, error) { + BackupSchedule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.BackupSchedule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25266,31 +26233,31 @@ break; } case 6: { - message.spec = $root.google.spanner.admin.database.v1.BackupScheduleSpec.decode(reader, reader.uint32()); + message.spec = $root.google.spanner.admin.database.v1.BackupScheduleSpec.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.retentionDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.retentionDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.encryptionConfig = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.decode(reader, reader.uint32()); + message.encryptionConfig = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.fullBackupSpec = $root.google.spanner.admin.database.v1.FullBackupSpec.decode(reader, reader.uint32()); + message.fullBackupSpec = $root.google.spanner.admin.database.v1.FullBackupSpec.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.incrementalBackupSpec = $root.google.spanner.admin.database.v1.IncrementalBackupSpec.decode(reader, reader.uint32()); + message.incrementalBackupSpec = $root.google.spanner.admin.database.v1.IncrementalBackupSpec.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25321,32 +26288,36 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BackupSchedule.verify = function verify(message) { + BackupSchedule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.spec != null && message.hasOwnProperty("spec")) { - var error = $root.google.spanner.admin.database.v1.BackupScheduleSpec.verify(message.spec); + var error = $root.google.spanner.admin.database.v1.BackupScheduleSpec.verify(message.spec, long + 1); if (error) return "spec." + error; } if (message.retentionDuration != null && message.hasOwnProperty("retentionDuration")) { - var error = $root.google.protobuf.Duration.verify(message.retentionDuration); + var error = $root.google.protobuf.Duration.verify(message.retentionDuration, long + 1); if (error) return "retentionDuration." + error; } if (message.encryptionConfig != null && message.hasOwnProperty("encryptionConfig")) { - var error = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.verify(message.encryptionConfig); + var error = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.verify(message.encryptionConfig, long + 1); if (error) return "encryptionConfig." + error; } if (message.fullBackupSpec != null && message.hasOwnProperty("fullBackupSpec")) { properties.backupTypeSpec = 1; { - var error = $root.google.spanner.admin.database.v1.FullBackupSpec.verify(message.fullBackupSpec); + var error = $root.google.spanner.admin.database.v1.FullBackupSpec.verify(message.fullBackupSpec, long + 1); if (error) return "fullBackupSpec." + error; } @@ -25356,13 +26327,13 @@ return "backupTypeSpec: multiple values"; properties.backupTypeSpec = 1; { - var error = $root.google.spanner.admin.database.v1.IncrementalBackupSpec.verify(message.incrementalBackupSpec); + var error = $root.google.spanner.admin.database.v1.IncrementalBackupSpec.verify(message.incrementalBackupSpec, long + 1); if (error) return "incrementalBackupSpec." + error; } } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -25377,41 +26348,45 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.BackupSchedule} BackupSchedule */ - BackupSchedule.fromObject = function fromObject(object) { + BackupSchedule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.BackupSchedule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.BackupSchedule(); if (object.name != null) message.name = String(object.name); if (object.spec != null) { if (typeof object.spec !== "object") throw TypeError(".google.spanner.admin.database.v1.BackupSchedule.spec: object expected"); - message.spec = $root.google.spanner.admin.database.v1.BackupScheduleSpec.fromObject(object.spec); + message.spec = $root.google.spanner.admin.database.v1.BackupScheduleSpec.fromObject(object.spec, long + 1); } if (object.retentionDuration != null) { if (typeof object.retentionDuration !== "object") throw TypeError(".google.spanner.admin.database.v1.BackupSchedule.retentionDuration: object expected"); - message.retentionDuration = $root.google.protobuf.Duration.fromObject(object.retentionDuration); + message.retentionDuration = $root.google.protobuf.Duration.fromObject(object.retentionDuration, long + 1); } if (object.encryptionConfig != null) { if (typeof object.encryptionConfig !== "object") throw TypeError(".google.spanner.admin.database.v1.BackupSchedule.encryptionConfig: object expected"); - message.encryptionConfig = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.fromObject(object.encryptionConfig); + message.encryptionConfig = $root.google.spanner.admin.database.v1.CreateBackupEncryptionConfig.fromObject(object.encryptionConfig, long + 1); } if (object.fullBackupSpec != null) { if (typeof object.fullBackupSpec !== "object") throw TypeError(".google.spanner.admin.database.v1.BackupSchedule.fullBackupSpec: object expected"); - message.fullBackupSpec = $root.google.spanner.admin.database.v1.FullBackupSpec.fromObject(object.fullBackupSpec); + message.fullBackupSpec = $root.google.spanner.admin.database.v1.FullBackupSpec.fromObject(object.fullBackupSpec, long + 1); } if (object.incrementalBackupSpec != null) { if (typeof object.incrementalBackupSpec !== "object") throw TypeError(".google.spanner.admin.database.v1.BackupSchedule.incrementalBackupSpec: object expected"); - message.incrementalBackupSpec = $root.google.spanner.admin.database.v1.IncrementalBackupSpec.fromObject(object.incrementalBackupSpec); + message.incrementalBackupSpec = $root.google.spanner.admin.database.v1.IncrementalBackupSpec.fromObject(object.incrementalBackupSpec, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.spanner.admin.database.v1.BackupSchedule.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } return message; }; @@ -25510,7 +26485,7 @@ function CrontabSpec(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25595,9 +26570,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CrontabSpec.decode = function decode(reader, length, error) { + CrontabSpec.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.CrontabSpec(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25613,11 +26592,11 @@ break; } case 3: { - message.creationWindow = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.creationWindow = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25648,9 +26627,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CrontabSpec.verify = function verify(message) { + CrontabSpec.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.text != null && message.hasOwnProperty("text")) if (!$util.isString(message.text)) return "text: string expected"; @@ -25658,7 +26641,7 @@ if (!$util.isString(message.timeZone)) return "timeZone: string expected"; if (message.creationWindow != null && message.hasOwnProperty("creationWindow")) { - var error = $root.google.protobuf.Duration.verify(message.creationWindow); + var error = $root.google.protobuf.Duration.verify(message.creationWindow, long + 1); if (error) return "creationWindow." + error; } @@ -25673,9 +26656,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.CrontabSpec} CrontabSpec */ - CrontabSpec.fromObject = function fromObject(object) { + CrontabSpec.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.CrontabSpec) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.CrontabSpec(); if (object.text != null) message.text = String(object.text); @@ -25684,7 +26671,7 @@ if (object.creationWindow != null) { if (typeof object.creationWindow !== "object") throw TypeError(".google.spanner.admin.database.v1.CrontabSpec.creationWindow: object expected"); - message.creationWindow = $root.google.protobuf.Duration.fromObject(object.creationWindow); + message.creationWindow = $root.google.protobuf.Duration.fromObject(object.creationWindow, long + 1); } return message; }; @@ -25767,7 +26754,7 @@ function CreateBackupScheduleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -25852,9 +26839,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateBackupScheduleRequest.decode = function decode(reader, length, error) { + CreateBackupScheduleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.CreateBackupScheduleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -25870,11 +26861,11 @@ break; } case 3: { - message.backupSchedule = $root.google.spanner.admin.database.v1.BackupSchedule.decode(reader, reader.uint32()); + message.backupSchedule = $root.google.spanner.admin.database.v1.BackupSchedule.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -25905,9 +26896,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateBackupScheduleRequest.verify = function verify(message) { + CreateBackupScheduleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -25915,7 +26910,7 @@ if (!$util.isString(message.backupScheduleId)) return "backupScheduleId: string expected"; if (message.backupSchedule != null && message.hasOwnProperty("backupSchedule")) { - var error = $root.google.spanner.admin.database.v1.BackupSchedule.verify(message.backupSchedule); + var error = $root.google.spanner.admin.database.v1.BackupSchedule.verify(message.backupSchedule, long + 1); if (error) return "backupSchedule." + error; } @@ -25930,9 +26925,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.CreateBackupScheduleRequest} CreateBackupScheduleRequest */ - CreateBackupScheduleRequest.fromObject = function fromObject(object) { + CreateBackupScheduleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.CreateBackupScheduleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.CreateBackupScheduleRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -25941,7 +26940,7 @@ if (object.backupSchedule != null) { if (typeof object.backupSchedule !== "object") throw TypeError(".google.spanner.admin.database.v1.CreateBackupScheduleRequest.backupSchedule: object expected"); - message.backupSchedule = $root.google.spanner.admin.database.v1.BackupSchedule.fromObject(object.backupSchedule); + message.backupSchedule = $root.google.spanner.admin.database.v1.BackupSchedule.fromObject(object.backupSchedule, long + 1); } return message; }; @@ -26022,7 +27021,7 @@ function GetBackupScheduleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26087,9 +27086,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetBackupScheduleRequest.decode = function decode(reader, length, error) { + GetBackupScheduleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.GetBackupScheduleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26101,7 +27104,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26132,9 +27135,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetBackupScheduleRequest.verify = function verify(message) { + GetBackupScheduleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -26149,9 +27156,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.GetBackupScheduleRequest} GetBackupScheduleRequest */ - GetBackupScheduleRequest.fromObject = function fromObject(object) { + GetBackupScheduleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.GetBackupScheduleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.GetBackupScheduleRequest(); if (object.name != null) message.name = String(object.name); @@ -26227,7 +27238,7 @@ function DeleteBackupScheduleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26292,9 +27303,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteBackupScheduleRequest.decode = function decode(reader, length, error) { + DeleteBackupScheduleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.DeleteBackupScheduleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26306,7 +27321,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26337,9 +27352,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteBackupScheduleRequest.verify = function verify(message) { + DeleteBackupScheduleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -26354,9 +27373,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.DeleteBackupScheduleRequest} DeleteBackupScheduleRequest */ - DeleteBackupScheduleRequest.fromObject = function fromObject(object) { + DeleteBackupScheduleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.DeleteBackupScheduleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.DeleteBackupScheduleRequest(); if (object.name != null) message.name = String(object.name); @@ -26434,7 +27457,7 @@ function ListBackupSchedulesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26519,9 +27542,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBackupSchedulesRequest.decode = function decode(reader, length, error) { + ListBackupSchedulesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListBackupSchedulesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26541,7 +27568,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26572,9 +27599,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListBackupSchedulesRequest.verify = function verify(message) { + ListBackupSchedulesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -26595,9 +27626,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListBackupSchedulesRequest} ListBackupSchedulesRequest */ - ListBackupSchedulesRequest.fromObject = function fromObject(object) { + ListBackupSchedulesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListBackupSchedulesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListBackupSchedulesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -26686,7 +27721,7 @@ this.backupSchedules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -26762,9 +27797,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListBackupSchedulesResponse.decode = function decode(reader, length, error) { + ListBackupSchedulesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListBackupSchedulesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -26774,7 +27813,7 @@ case 1: { if (!(message.backupSchedules && message.backupSchedules.length)) message.backupSchedules = []; - message.backupSchedules.push($root.google.spanner.admin.database.v1.BackupSchedule.decode(reader, reader.uint32())); + message.backupSchedules.push($root.google.spanner.admin.database.v1.BackupSchedule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -26782,7 +27821,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -26813,14 +27852,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListBackupSchedulesResponse.verify = function verify(message) { + ListBackupSchedulesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.backupSchedules != null && message.hasOwnProperty("backupSchedules")) { if (!Array.isArray(message.backupSchedules)) return "backupSchedules: array expected"; for (var i = 0; i < message.backupSchedules.length; ++i) { - var error = $root.google.spanner.admin.database.v1.BackupSchedule.verify(message.backupSchedules[i]); + var error = $root.google.spanner.admin.database.v1.BackupSchedule.verify(message.backupSchedules[i], long + 1); if (error) return "backupSchedules." + error; } @@ -26839,9 +27882,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListBackupSchedulesResponse} ListBackupSchedulesResponse */ - ListBackupSchedulesResponse.fromObject = function fromObject(object) { + ListBackupSchedulesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListBackupSchedulesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListBackupSchedulesResponse(); if (object.backupSchedules) { if (!Array.isArray(object.backupSchedules)) @@ -26850,7 +27897,7 @@ for (var i = 0; i < object.backupSchedules.length; ++i) { if (typeof object.backupSchedules[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.ListBackupSchedulesResponse.backupSchedules: object expected"); - message.backupSchedules[i] = $root.google.spanner.admin.database.v1.BackupSchedule.fromObject(object.backupSchedules[i]); + message.backupSchedules[i] = $root.google.spanner.admin.database.v1.BackupSchedule.fromObject(object.backupSchedules[i], long + 1); } } if (object.nextPageToken != null) @@ -26935,7 +27982,7 @@ function UpdateBackupScheduleRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -27010,9 +28057,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateBackupScheduleRequest.decode = function decode(reader, length, error) { + UpdateBackupScheduleRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.UpdateBackupScheduleRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -27020,15 +28071,15 @@ break; switch (tag >>> 3) { case 1: { - message.backupSchedule = $root.google.spanner.admin.database.v1.BackupSchedule.decode(reader, reader.uint32()); + message.backupSchedule = $root.google.spanner.admin.database.v1.BackupSchedule.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -27059,16 +28110,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateBackupScheduleRequest.verify = function verify(message) { + UpdateBackupScheduleRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.backupSchedule != null && message.hasOwnProperty("backupSchedule")) { - var error = $root.google.spanner.admin.database.v1.BackupSchedule.verify(message.backupSchedule); + var error = $root.google.spanner.admin.database.v1.BackupSchedule.verify(message.backupSchedule, long + 1); if (error) return "backupSchedule." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -27083,19 +28138,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.UpdateBackupScheduleRequest} UpdateBackupScheduleRequest */ - UpdateBackupScheduleRequest.fromObject = function fromObject(object) { + UpdateBackupScheduleRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.UpdateBackupScheduleRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.UpdateBackupScheduleRequest(); if (object.backupSchedule != null) { if (typeof object.backupSchedule !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateBackupScheduleRequest.backupSchedule: object expected"); - message.backupSchedule = $root.google.spanner.admin.database.v1.BackupSchedule.fromObject(object.backupSchedule); + message.backupSchedule = $root.google.spanner.admin.database.v1.BackupSchedule.fromObject(object.backupSchedule, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateBackupScheduleRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -28100,7 +29159,7 @@ function RestoreInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28189,9 +29248,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RestoreInfo.decode = function decode(reader, length, error) { + RestoreInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.RestoreInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28203,11 +29266,11 @@ break; } case 2: { - message.backupInfo = $root.google.spanner.admin.database.v1.BackupInfo.decode(reader, reader.uint32()); + message.backupInfo = $root.google.spanner.admin.database.v1.BackupInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28238,9 +29301,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RestoreInfo.verify = function verify(message) { + RestoreInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.sourceType != null && message.hasOwnProperty("sourceType")) switch (message.sourceType) { @@ -28253,7 +29320,7 @@ if (message.backupInfo != null && message.hasOwnProperty("backupInfo")) { properties.sourceInfo = 1; { - var error = $root.google.spanner.admin.database.v1.BackupInfo.verify(message.backupInfo); + var error = $root.google.spanner.admin.database.v1.BackupInfo.verify(message.backupInfo, long + 1); if (error) return "backupInfo." + error; } @@ -28269,9 +29336,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.RestoreInfo} RestoreInfo */ - RestoreInfo.fromObject = function fromObject(object) { + RestoreInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.RestoreInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.RestoreInfo(); switch (object.sourceType) { default: @@ -28292,7 +29363,7 @@ if (object.backupInfo != null) { if (typeof object.backupInfo !== "object") throw TypeError(".google.spanner.admin.database.v1.RestoreInfo.backupInfo: object expected"); - message.backupInfo = $root.google.spanner.admin.database.v1.BackupInfo.fromObject(object.backupInfo); + message.backupInfo = $root.google.spanner.admin.database.v1.BackupInfo.fromObject(object.backupInfo, long + 1); } return message; }; @@ -28383,7 +29454,7 @@ this.encryptionInfo = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -28559,9 +29630,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Database.decode = function decode(reader, length, error) { + Database.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.Database(); while (reader.pos < end) { var tag = reader.uint32(); @@ -28577,21 +29652,21 @@ break; } case 3: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.restoreInfo = $root.google.spanner.admin.database.v1.RestoreInfo.decode(reader, reader.uint32()); + message.restoreInfo = $root.google.spanner.admin.database.v1.RestoreInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.decode(reader, reader.uint32()); + message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { if (!(message.encryptionInfo && message.encryptionInfo.length)) message.encryptionInfo = []; - message.encryptionInfo.push($root.google.spanner.admin.database.v1.EncryptionInfo.decode(reader, reader.uint32())); + message.encryptionInfo.push($root.google.spanner.admin.database.v1.EncryptionInfo.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { @@ -28599,7 +29674,7 @@ break; } case 7: { - message.earliestVersionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.earliestVersionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { @@ -28619,7 +29694,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -28650,9 +29725,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Database.verify = function verify(message) { + Database.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -28667,17 +29746,17 @@ break; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.restoreInfo != null && message.hasOwnProperty("restoreInfo")) { - var error = $root.google.spanner.admin.database.v1.RestoreInfo.verify(message.restoreInfo); + var error = $root.google.spanner.admin.database.v1.RestoreInfo.verify(message.restoreInfo, long + 1); if (error) return "restoreInfo." + error; } if (message.encryptionConfig != null && message.hasOwnProperty("encryptionConfig")) { - var error = $root.google.spanner.admin.database.v1.EncryptionConfig.verify(message.encryptionConfig); + var error = $root.google.spanner.admin.database.v1.EncryptionConfig.verify(message.encryptionConfig, long + 1); if (error) return "encryptionConfig." + error; } @@ -28685,7 +29764,7 @@ if (!Array.isArray(message.encryptionInfo)) return "encryptionInfo: array expected"; for (var i = 0; i < message.encryptionInfo.length; ++i) { - var error = $root.google.spanner.admin.database.v1.EncryptionInfo.verify(message.encryptionInfo[i]); + var error = $root.google.spanner.admin.database.v1.EncryptionInfo.verify(message.encryptionInfo[i], long + 1); if (error) return "encryptionInfo." + error; } @@ -28694,7 +29773,7 @@ if (!$util.isString(message.versionRetentionPeriod)) return "versionRetentionPeriod: string expected"; if (message.earliestVersionTime != null && message.hasOwnProperty("earliestVersionTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.earliestVersionTime); + var error = $root.google.protobuf.Timestamp.verify(message.earliestVersionTime, long + 1); if (error) return "earliestVersionTime." + error; } @@ -28727,9 +29806,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.Database} Database */ - Database.fromObject = function fromObject(object) { + Database.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.Database) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.Database(); if (object.name != null) message.name = String(object.name); @@ -28760,17 +29843,17 @@ if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.spanner.admin.database.v1.Database.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.restoreInfo != null) { if (typeof object.restoreInfo !== "object") throw TypeError(".google.spanner.admin.database.v1.Database.restoreInfo: object expected"); - message.restoreInfo = $root.google.spanner.admin.database.v1.RestoreInfo.fromObject(object.restoreInfo); + message.restoreInfo = $root.google.spanner.admin.database.v1.RestoreInfo.fromObject(object.restoreInfo, long + 1); } if (object.encryptionConfig != null) { if (typeof object.encryptionConfig !== "object") throw TypeError(".google.spanner.admin.database.v1.Database.encryptionConfig: object expected"); - message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.fromObject(object.encryptionConfig); + message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.fromObject(object.encryptionConfig, long + 1); } if (object.encryptionInfo) { if (!Array.isArray(object.encryptionInfo)) @@ -28779,7 +29862,7 @@ for (var i = 0; i < object.encryptionInfo.length; ++i) { if (typeof object.encryptionInfo[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.Database.encryptionInfo: object expected"); - message.encryptionInfo[i] = $root.google.spanner.admin.database.v1.EncryptionInfo.fromObject(object.encryptionInfo[i]); + message.encryptionInfo[i] = $root.google.spanner.admin.database.v1.EncryptionInfo.fromObject(object.encryptionInfo[i], long + 1); } } if (object.versionRetentionPeriod != null) @@ -28787,7 +29870,7 @@ if (object.earliestVersionTime != null) { if (typeof object.earliestVersionTime !== "object") throw TypeError(".google.spanner.admin.database.v1.Database.earliestVersionTime: object expected"); - message.earliestVersionTime = $root.google.protobuf.Timestamp.fromObject(object.earliestVersionTime); + message.earliestVersionTime = $root.google.protobuf.Timestamp.fromObject(object.earliestVersionTime, long + 1); } if (object.defaultLeader != null) message.defaultLeader = String(object.defaultLeader); @@ -28945,7 +30028,7 @@ function ListDatabasesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29030,9 +30113,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDatabasesRequest.decode = function decode(reader, length, error) { + ListDatabasesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListDatabasesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29052,7 +30139,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29083,9 +30170,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDatabasesRequest.verify = function verify(message) { + ListDatabasesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -29106,9 +30197,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListDatabasesRequest} ListDatabasesRequest */ - ListDatabasesRequest.fromObject = function fromObject(object) { + ListDatabasesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListDatabasesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListDatabasesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -29197,7 +30292,7 @@ this.databases = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29273,9 +30368,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDatabasesResponse.decode = function decode(reader, length, error) { + ListDatabasesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListDatabasesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29285,7 +30384,7 @@ case 1: { if (!(message.databases && message.databases.length)) message.databases = []; - message.databases.push($root.google.spanner.admin.database.v1.Database.decode(reader, reader.uint32())); + message.databases.push($root.google.spanner.admin.database.v1.Database.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -29293,7 +30392,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29324,14 +30423,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDatabasesResponse.verify = function verify(message) { + ListDatabasesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.databases != null && message.hasOwnProperty("databases")) { if (!Array.isArray(message.databases)) return "databases: array expected"; for (var i = 0; i < message.databases.length; ++i) { - var error = $root.google.spanner.admin.database.v1.Database.verify(message.databases[i]); + var error = $root.google.spanner.admin.database.v1.Database.verify(message.databases[i], long + 1); if (error) return "databases." + error; } @@ -29350,9 +30453,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListDatabasesResponse} ListDatabasesResponse */ - ListDatabasesResponse.fromObject = function fromObject(object) { + ListDatabasesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListDatabasesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListDatabasesResponse(); if (object.databases) { if (!Array.isArray(object.databases)) @@ -29361,7 +30468,7 @@ for (var i = 0; i < object.databases.length; ++i) { if (typeof object.databases[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.ListDatabasesResponse.databases: object expected"); - message.databases[i] = $root.google.spanner.admin.database.v1.Database.fromObject(object.databases[i]); + message.databases[i] = $root.google.spanner.admin.database.v1.Database.fromObject(object.databases[i], long + 1); } } if (object.nextPageToken != null) @@ -29451,7 +30558,7 @@ this.extraStatements = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29567,9 +30674,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateDatabaseRequest.decode = function decode(reader, length, error) { + CreateDatabaseRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.CreateDatabaseRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29591,7 +30702,7 @@ break; } case 4: { - message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.decode(reader, reader.uint32()); + message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -29603,7 +30714,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29634,9 +30745,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateDatabaseRequest.verify = function verify(message) { + CreateDatabaseRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -29651,7 +30766,7 @@ return "extraStatements: string[] expected"; } if (message.encryptionConfig != null && message.hasOwnProperty("encryptionConfig")) { - var error = $root.google.spanner.admin.database.v1.EncryptionConfig.verify(message.encryptionConfig); + var error = $root.google.spanner.admin.database.v1.EncryptionConfig.verify(message.encryptionConfig, long + 1); if (error) return "encryptionConfig." + error; } @@ -29678,9 +30793,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.CreateDatabaseRequest} CreateDatabaseRequest */ - CreateDatabaseRequest.fromObject = function fromObject(object) { + CreateDatabaseRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.CreateDatabaseRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.CreateDatabaseRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -29696,7 +30815,7 @@ if (object.encryptionConfig != null) { if (typeof object.encryptionConfig !== "object") throw TypeError(".google.spanner.admin.database.v1.CreateDatabaseRequest.encryptionConfig: object expected"); - message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.fromObject(object.encryptionConfig); + message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.fromObject(object.encryptionConfig, long + 1); } switch (object.databaseDialect) { default: @@ -29821,7 +30940,7 @@ function CreateDatabaseMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -29886,9 +31005,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateDatabaseMetadata.decode = function decode(reader, length, error) { + CreateDatabaseMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.CreateDatabaseMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -29900,7 +31023,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -29931,9 +31054,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateDatabaseMetadata.verify = function verify(message) { + CreateDatabaseMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; @@ -29948,9 +31075,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.CreateDatabaseMetadata} CreateDatabaseMetadata */ - CreateDatabaseMetadata.fromObject = function fromObject(object) { + CreateDatabaseMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.CreateDatabaseMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.CreateDatabaseMetadata(); if (object.database != null) message.database = String(object.database); @@ -30026,7 +31157,7 @@ function GetDatabaseRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30091,9 +31222,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDatabaseRequest.decode = function decode(reader, length, error) { + GetDatabaseRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.GetDatabaseRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30105,7 +31240,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30136,9 +31271,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDatabaseRequest.verify = function verify(message) { + GetDatabaseRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -30153,9 +31292,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.GetDatabaseRequest} GetDatabaseRequest */ - GetDatabaseRequest.fromObject = function fromObject(object) { + GetDatabaseRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.GetDatabaseRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.GetDatabaseRequest(); if (object.name != null) message.name = String(object.name); @@ -30232,7 +31375,7 @@ function UpdateDatabaseRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30307,9 +31450,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateDatabaseRequest.decode = function decode(reader, length, error) { + UpdateDatabaseRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.UpdateDatabaseRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30317,15 +31464,15 @@ break; switch (tag >>> 3) { case 1: { - message.database = $root.google.spanner.admin.database.v1.Database.decode(reader, reader.uint32()); + message.database = $root.google.spanner.admin.database.v1.Database.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30356,16 +31503,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateDatabaseRequest.verify = function verify(message) { + UpdateDatabaseRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) { - var error = $root.google.spanner.admin.database.v1.Database.verify(message.database); + var error = $root.google.spanner.admin.database.v1.Database.verify(message.database, long + 1); if (error) return "database." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -30380,19 +31531,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.UpdateDatabaseRequest} UpdateDatabaseRequest */ - UpdateDatabaseRequest.fromObject = function fromObject(object) { + UpdateDatabaseRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.UpdateDatabaseRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.UpdateDatabaseRequest(); if (object.database != null) { if (typeof object.database !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateDatabaseRequest.database: object expected"); - message.database = $root.google.spanner.admin.database.v1.Database.fromObject(object.database); + message.database = $root.google.spanner.admin.database.v1.Database.fromObject(object.database, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateDatabaseRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -30472,7 +31627,7 @@ function UpdateDatabaseMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30557,9 +31712,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateDatabaseMetadata.decode = function decode(reader, length, error) { + UpdateDatabaseMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.UpdateDatabaseMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30567,19 +31726,19 @@ break; switch (tag >>> 3) { case 1: { - message.request = $root.google.spanner.admin.database.v1.UpdateDatabaseRequest.decode(reader, reader.uint32()); + message.request = $root.google.spanner.admin.database.v1.UpdateDatabaseRequest.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.progress = $root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32()); + message.progress = $root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30610,21 +31769,25 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateDatabaseMetadata.verify = function verify(message) { + UpdateDatabaseMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.request != null && message.hasOwnProperty("request")) { - var error = $root.google.spanner.admin.database.v1.UpdateDatabaseRequest.verify(message.request); + var error = $root.google.spanner.admin.database.v1.UpdateDatabaseRequest.verify(message.request, long + 1); if (error) return "request." + error; } if (message.progress != null && message.hasOwnProperty("progress")) { - var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress); + var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress, long + 1); if (error) return "progress." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } @@ -30639,24 +31802,28 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.UpdateDatabaseMetadata} UpdateDatabaseMetadata */ - UpdateDatabaseMetadata.fromObject = function fromObject(object) { + UpdateDatabaseMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.UpdateDatabaseMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.UpdateDatabaseMetadata(); if (object.request != null) { if (typeof object.request !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateDatabaseMetadata.request: object expected"); - message.request = $root.google.spanner.admin.database.v1.UpdateDatabaseRequest.fromObject(object.request); + message.request = $root.google.spanner.admin.database.v1.UpdateDatabaseRequest.fromObject(object.request, long + 1); } if (object.progress != null) { if (typeof object.progress !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateDatabaseMetadata.progress: object expected"); - message.progress = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress); + message.progress = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateDatabaseMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } return message; }; @@ -30742,7 +31909,7 @@ this.statements = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -30848,9 +32015,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateDatabaseDdlRequest.decode = function decode(reader, length, error) { + UpdateDatabaseDdlRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -30880,7 +32051,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -30911,9 +32082,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateDatabaseDdlRequest.verify = function verify(message) { + UpdateDatabaseDdlRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; @@ -30944,9 +32119,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.UpdateDatabaseDdlRequest} UpdateDatabaseDdlRequest */ - UpdateDatabaseDdlRequest.fromObject = function fromObject(object) { + UpdateDatabaseDdlRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.UpdateDatabaseDdlRequest(); if (object.database != null) message.database = String(object.database); @@ -31064,7 +32243,7 @@ this.entityNames = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31150,9 +32329,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DdlStatementActionInfo.decode = function decode(reader, length, error) { + DdlStatementActionInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.DdlStatementActionInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31174,7 +32357,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31205,9 +32388,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DdlStatementActionInfo.verify = function verify(message) { + DdlStatementActionInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) if (!$util.isString(message.action)) return "action: string expected"; @@ -31232,9 +32419,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.DdlStatementActionInfo} DdlStatementActionInfo */ - DdlStatementActionInfo.fromObject = function fromObject(object) { + DdlStatementActionInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.DdlStatementActionInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.DdlStatementActionInfo(); if (object.action != null) message.action = String(object.action); @@ -31339,7 +32530,7 @@ this.actions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31458,9 +32649,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateDatabaseDdlMetadata.decode = function decode(reader, length, error) { + UpdateDatabaseDdlMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31480,7 +32675,7 @@ case 3: { if (!(message.commitTimestamps && message.commitTimestamps.length)) message.commitTimestamps = []; - message.commitTimestamps.push($root.google.protobuf.Timestamp.decode(reader, reader.uint32())); + message.commitTimestamps.push($root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -31490,17 +32685,17 @@ case 5: { if (!(message.progress && message.progress.length)) message.progress = []; - message.progress.push($root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32())); + message.progress.push($root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.actions && message.actions.length)) message.actions = []; - message.actions.push($root.google.spanner.admin.database.v1.DdlStatementActionInfo.decode(reader, reader.uint32())); + message.actions.push($root.google.spanner.admin.database.v1.DdlStatementActionInfo.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31531,9 +32726,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateDatabaseDdlMetadata.verify = function verify(message) { + UpdateDatabaseDdlMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; @@ -31548,7 +32747,7 @@ if (!Array.isArray(message.commitTimestamps)) return "commitTimestamps: array expected"; for (var i = 0; i < message.commitTimestamps.length; ++i) { - var error = $root.google.protobuf.Timestamp.verify(message.commitTimestamps[i]); + var error = $root.google.protobuf.Timestamp.verify(message.commitTimestamps[i], long + 1); if (error) return "commitTimestamps." + error; } @@ -31560,7 +32759,7 @@ if (!Array.isArray(message.progress)) return "progress: array expected"; for (var i = 0; i < message.progress.length; ++i) { - var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress[i]); + var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress[i], long + 1); if (error) return "progress." + error; } @@ -31569,7 +32768,7 @@ if (!Array.isArray(message.actions)) return "actions: array expected"; for (var i = 0; i < message.actions.length; ++i) { - var error = $root.google.spanner.admin.database.v1.DdlStatementActionInfo.verify(message.actions[i]); + var error = $root.google.spanner.admin.database.v1.DdlStatementActionInfo.verify(message.actions[i], long + 1); if (error) return "actions." + error; } @@ -31585,9 +32784,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata} UpdateDatabaseDdlMetadata */ - UpdateDatabaseDdlMetadata.fromObject = function fromObject(object) { + UpdateDatabaseDdlMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata(); if (object.database != null) message.database = String(object.database); @@ -31605,7 +32808,7 @@ for (var i = 0; i < object.commitTimestamps.length; ++i) { if (typeof object.commitTimestamps[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata.commitTimestamps: object expected"); - message.commitTimestamps[i] = $root.google.protobuf.Timestamp.fromObject(object.commitTimestamps[i]); + message.commitTimestamps[i] = $root.google.protobuf.Timestamp.fromObject(object.commitTimestamps[i], long + 1); } } if (object.throttled != null) @@ -31617,7 +32820,7 @@ for (var i = 0; i < object.progress.length; ++i) { if (typeof object.progress[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata.progress: object expected"); - message.progress[i] = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress[i]); + message.progress[i] = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress[i], long + 1); } } if (object.actions) { @@ -31627,7 +32830,7 @@ for (var i = 0; i < object.actions.length; ++i) { if (typeof object.actions[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata.actions: object expected"); - message.actions[i] = $root.google.spanner.admin.database.v1.DdlStatementActionInfo.fromObject(object.actions[i]); + message.actions[i] = $root.google.spanner.admin.database.v1.DdlStatementActionInfo.fromObject(object.actions[i], long + 1); } } return message; @@ -31732,7 +32935,7 @@ function DropDatabaseRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -31797,9 +33000,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DropDatabaseRequest.decode = function decode(reader, length, error) { + DropDatabaseRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.DropDatabaseRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -31811,7 +33018,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -31842,9 +33049,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DropDatabaseRequest.verify = function verify(message) { + DropDatabaseRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; @@ -31859,9 +33070,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.DropDatabaseRequest} DropDatabaseRequest */ - DropDatabaseRequest.fromObject = function fromObject(object) { + DropDatabaseRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.DropDatabaseRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.DropDatabaseRequest(); if (object.database != null) message.database = String(object.database); @@ -31937,7 +33152,7 @@ function GetDatabaseDdlRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32002,9 +33217,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDatabaseDdlRequest.decode = function decode(reader, length, error) { + GetDatabaseDdlRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.GetDatabaseDdlRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32016,7 +33235,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32047,9 +33266,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDatabaseDdlRequest.verify = function verify(message) { + GetDatabaseDdlRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; @@ -32064,9 +33287,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.GetDatabaseDdlRequest} GetDatabaseDdlRequest */ - GetDatabaseDdlRequest.fromObject = function fromObject(object) { + GetDatabaseDdlRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.GetDatabaseDdlRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.GetDatabaseDdlRequest(); if (object.database != null) message.database = String(object.database); @@ -32144,7 +33371,7 @@ this.statements = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32220,9 +33447,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetDatabaseDdlResponse.decode = function decode(reader, length, error) { + GetDatabaseDdlResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.GetDatabaseDdlResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32240,7 +33471,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32271,9 +33502,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetDatabaseDdlResponse.verify = function verify(message) { + GetDatabaseDdlResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.statements != null && message.hasOwnProperty("statements")) { if (!Array.isArray(message.statements)) return "statements: array expected"; @@ -32295,9 +33530,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.GetDatabaseDdlResponse} GetDatabaseDdlResponse */ - GetDatabaseDdlResponse.fromObject = function fromObject(object) { + GetDatabaseDdlResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.GetDatabaseDdlResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.GetDatabaseDdlResponse(); if (object.statements) { if (!Array.isArray(object.statements)) @@ -32399,7 +33638,7 @@ function ListDatabaseOperationsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32494,9 +33733,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDatabaseOperationsRequest.decode = function decode(reader, length, error) { + ListDatabaseOperationsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListDatabaseOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32520,7 +33763,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32551,9 +33794,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDatabaseOperationsRequest.verify = function verify(message) { + ListDatabaseOperationsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -32577,9 +33824,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListDatabaseOperationsRequest} ListDatabaseOperationsRequest */ - ListDatabaseOperationsRequest.fromObject = function fromObject(object) { + ListDatabaseOperationsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListDatabaseOperationsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListDatabaseOperationsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -32673,7 +33924,7 @@ this.operations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -32749,9 +34000,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDatabaseOperationsResponse.decode = function decode(reader, length, error) { + ListDatabaseOperationsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListDatabaseOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -32761,7 +34016,7 @@ case 1: { if (!(message.operations && message.operations.length)) message.operations = []; - message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -32769,7 +34024,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -32800,14 +34055,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDatabaseOperationsResponse.verify = function verify(message) { + ListDatabaseOperationsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.operations != null && message.hasOwnProperty("operations")) { if (!Array.isArray(message.operations)) return "operations: array expected"; for (var i = 0; i < message.operations.length; ++i) { - var error = $root.google.longrunning.Operation.verify(message.operations[i]); + var error = $root.google.longrunning.Operation.verify(message.operations[i], long + 1); if (error) return "operations." + error; } @@ -32826,9 +34085,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListDatabaseOperationsResponse} ListDatabaseOperationsResponse */ - ListDatabaseOperationsResponse.fromObject = function fromObject(object) { + ListDatabaseOperationsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListDatabaseOperationsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListDatabaseOperationsResponse(); if (object.operations) { if (!Array.isArray(object.operations)) @@ -32837,7 +34100,7 @@ for (var i = 0; i < object.operations.length; ++i) { if (typeof object.operations[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.ListDatabaseOperationsResponse.operations: object expected"); - message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i]); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i], long + 1); } } if (object.nextPageToken != null) @@ -32924,7 +34187,7 @@ function RestoreDatabaseRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33033,9 +34296,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RestoreDatabaseRequest.decode = function decode(reader, length, error) { + RestoreDatabaseRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.RestoreDatabaseRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33055,11 +34322,11 @@ break; } case 4: { - message.encryptionConfig = $root.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.decode(reader, reader.uint32()); + message.encryptionConfig = $root.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33090,9 +34357,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RestoreDatabaseRequest.verify = function verify(message) { + RestoreDatabaseRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) @@ -33106,7 +34377,7 @@ return "backup: string expected"; } if (message.encryptionConfig != null && message.hasOwnProperty("encryptionConfig")) { - var error = $root.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.verify(message.encryptionConfig); + var error = $root.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.verify(message.encryptionConfig, long + 1); if (error) return "encryptionConfig." + error; } @@ -33121,9 +34392,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.RestoreDatabaseRequest} RestoreDatabaseRequest */ - RestoreDatabaseRequest.fromObject = function fromObject(object) { + RestoreDatabaseRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.RestoreDatabaseRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.RestoreDatabaseRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -33134,7 +34409,7 @@ if (object.encryptionConfig != null) { if (typeof object.encryptionConfig !== "object") throw TypeError(".google.spanner.admin.database.v1.RestoreDatabaseRequest.encryptionConfig: object expected"); - message.encryptionConfig = $root.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.fromObject(object.encryptionConfig); + message.encryptionConfig = $root.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig.fromObject(object.encryptionConfig, long + 1); } return message; }; @@ -33223,7 +34498,7 @@ this.kmsKeyNames = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33309,9 +34584,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RestoreDatabaseEncryptionConfig.decode = function decode(reader, length, error) { + RestoreDatabaseEncryptionConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33333,7 +34612,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33364,9 +34643,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RestoreDatabaseEncryptionConfig.verify = function verify(message) { + RestoreDatabaseEncryptionConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.encryptionType != null && message.hasOwnProperty("encryptionType")) switch (message.encryptionType) { default: @@ -33398,9 +34681,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig} RestoreDatabaseEncryptionConfig */ - RestoreDatabaseEncryptionConfig.fromObject = function fromObject(object) { + RestoreDatabaseEncryptionConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.RestoreDatabaseEncryptionConfig(); switch (object.encryptionType) { default: @@ -33541,7 +34828,7 @@ function RestoreDatabaseMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33670,9 +34957,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RestoreDatabaseMetadata.decode = function decode(reader, length, error) { + RestoreDatabaseMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.RestoreDatabaseMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -33688,15 +34979,15 @@ break; } case 3: { - message.backupInfo = $root.google.spanner.admin.database.v1.BackupInfo.decode(reader, reader.uint32()); + message.backupInfo = $root.google.spanner.admin.database.v1.BackupInfo.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.progress = $root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32()); + message.progress = $root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -33704,7 +34995,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -33735,9 +35026,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RestoreDatabaseMetadata.verify = function verify(message) { + RestoreDatabaseMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) @@ -33753,18 +35048,18 @@ if (message.backupInfo != null && message.hasOwnProperty("backupInfo")) { properties.sourceInfo = 1; { - var error = $root.google.spanner.admin.database.v1.BackupInfo.verify(message.backupInfo); + var error = $root.google.spanner.admin.database.v1.BackupInfo.verify(message.backupInfo, long + 1); if (error) return "backupInfo." + error; } } if (message.progress != null && message.hasOwnProperty("progress")) { - var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress); + var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress, long + 1); if (error) return "progress." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } @@ -33782,9 +35077,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.RestoreDatabaseMetadata} RestoreDatabaseMetadata */ - RestoreDatabaseMetadata.fromObject = function fromObject(object) { + RestoreDatabaseMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.RestoreDatabaseMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.RestoreDatabaseMetadata(); if (object.name != null) message.name = String(object.name); @@ -33807,17 +35106,17 @@ if (object.backupInfo != null) { if (typeof object.backupInfo !== "object") throw TypeError(".google.spanner.admin.database.v1.RestoreDatabaseMetadata.backupInfo: object expected"); - message.backupInfo = $root.google.spanner.admin.database.v1.BackupInfo.fromObject(object.backupInfo); + message.backupInfo = $root.google.spanner.admin.database.v1.BackupInfo.fromObject(object.backupInfo, long + 1); } if (object.progress != null) { if (typeof object.progress !== "object") throw TypeError(".google.spanner.admin.database.v1.RestoreDatabaseMetadata.progress: object expected"); - message.progress = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress); + message.progress = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.database.v1.RestoreDatabaseMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } if (object.optimizeDatabaseOperationName != null) message.optimizeDatabaseOperationName = String(object.optimizeDatabaseOperationName); @@ -33912,7 +35211,7 @@ function OptimizeRestoredDatabaseMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -33987,9 +35286,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OptimizeRestoredDatabaseMetadata.decode = function decode(reader, length, error) { + OptimizeRestoredDatabaseMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.OptimizeRestoredDatabaseMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34001,11 +35304,11 @@ break; } case 2: { - message.progress = $root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32()); + message.progress = $root.google.spanner.admin.database.v1.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34036,14 +35339,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OptimizeRestoredDatabaseMetadata.verify = function verify(message) { + OptimizeRestoredDatabaseMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.progress != null && message.hasOwnProperty("progress")) { - var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress); + var error = $root.google.spanner.admin.database.v1.OperationProgress.verify(message.progress, long + 1); if (error) return "progress." + error; } @@ -34058,16 +35365,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.OptimizeRestoredDatabaseMetadata} OptimizeRestoredDatabaseMetadata */ - OptimizeRestoredDatabaseMetadata.fromObject = function fromObject(object) { + OptimizeRestoredDatabaseMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.OptimizeRestoredDatabaseMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.OptimizeRestoredDatabaseMetadata(); if (object.name != null) message.name = String(object.name); if (object.progress != null) { if (typeof object.progress !== "object") throw TypeError(".google.spanner.admin.database.v1.OptimizeRestoredDatabaseMetadata.progress: object expected"); - message.progress = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress); + message.progress = $root.google.spanner.admin.database.v1.OperationProgress.fromObject(object.progress, long + 1); } return message; }; @@ -34159,7 +35470,7 @@ function DatabaseRole(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34224,9 +35535,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DatabaseRole.decode = function decode(reader, length, error) { + DatabaseRole.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.DatabaseRole(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34238,7 +35553,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34269,9 +35584,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DatabaseRole.verify = function verify(message) { + DatabaseRole.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -34286,9 +35605,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.DatabaseRole} DatabaseRole */ - DatabaseRole.fromObject = function fromObject(object) { + DatabaseRole.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.DatabaseRole) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.DatabaseRole(); if (object.name != null) message.name = String(object.name); @@ -34366,7 +35689,7 @@ function ListDatabaseRolesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34451,9 +35774,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDatabaseRolesRequest.decode = function decode(reader, length, error) { + ListDatabaseRolesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListDatabaseRolesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34473,7 +35800,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34504,9 +35831,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDatabaseRolesRequest.verify = function verify(message) { + ListDatabaseRolesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -34527,9 +35858,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListDatabaseRolesRequest} ListDatabaseRolesRequest */ - ListDatabaseRolesRequest.fromObject = function fromObject(object) { + ListDatabaseRolesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListDatabaseRolesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListDatabaseRolesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -34618,7 +35953,7 @@ this.databaseRoles = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34694,9 +36029,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListDatabaseRolesResponse.decode = function decode(reader, length, error) { + ListDatabaseRolesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.ListDatabaseRolesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34706,7 +36045,7 @@ case 1: { if (!(message.databaseRoles && message.databaseRoles.length)) message.databaseRoles = []; - message.databaseRoles.push($root.google.spanner.admin.database.v1.DatabaseRole.decode(reader, reader.uint32())); + message.databaseRoles.push($root.google.spanner.admin.database.v1.DatabaseRole.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -34714,7 +36053,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -34745,14 +36084,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListDatabaseRolesResponse.verify = function verify(message) { + ListDatabaseRolesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.databaseRoles != null && message.hasOwnProperty("databaseRoles")) { if (!Array.isArray(message.databaseRoles)) return "databaseRoles: array expected"; for (var i = 0; i < message.databaseRoles.length; ++i) { - var error = $root.google.spanner.admin.database.v1.DatabaseRole.verify(message.databaseRoles[i]); + var error = $root.google.spanner.admin.database.v1.DatabaseRole.verify(message.databaseRoles[i], long + 1); if (error) return "databaseRoles." + error; } @@ -34771,9 +36114,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.ListDatabaseRolesResponse} ListDatabaseRolesResponse */ - ListDatabaseRolesResponse.fromObject = function fromObject(object) { + ListDatabaseRolesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.ListDatabaseRolesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.ListDatabaseRolesResponse(); if (object.databaseRoles) { if (!Array.isArray(object.databaseRoles)) @@ -34782,7 +36129,7 @@ for (var i = 0; i < object.databaseRoles.length; ++i) { if (typeof object.databaseRoles[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.ListDatabaseRolesResponse.databaseRoles: object expected"); - message.databaseRoles[i] = $root.google.spanner.admin.database.v1.DatabaseRole.fromObject(object.databaseRoles[i]); + message.databaseRoles[i] = $root.google.spanner.admin.database.v1.DatabaseRole.fromObject(object.databaseRoles[i], long + 1); } } if (object.nextPageToken != null) @@ -34869,7 +36216,7 @@ this.splitPoints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -34955,9 +36302,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddSplitPointsRequest.decode = function decode(reader, length, error) { + AddSplitPointsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.AddSplitPointsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -34971,7 +36322,7 @@ case 2: { if (!(message.splitPoints && message.splitPoints.length)) message.splitPoints = []; - message.splitPoints.push($root.google.spanner.admin.database.v1.SplitPoints.decode(reader, reader.uint32())); + message.splitPoints.push($root.google.spanner.admin.database.v1.SplitPoints.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -34979,7 +36330,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35010,9 +36361,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AddSplitPointsRequest.verify = function verify(message) { + AddSplitPointsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; @@ -35020,7 +36375,7 @@ if (!Array.isArray(message.splitPoints)) return "splitPoints: array expected"; for (var i = 0; i < message.splitPoints.length; ++i) { - var error = $root.google.spanner.admin.database.v1.SplitPoints.verify(message.splitPoints[i]); + var error = $root.google.spanner.admin.database.v1.SplitPoints.verify(message.splitPoints[i], long + 1); if (error) return "splitPoints." + error; } @@ -35039,9 +36394,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.AddSplitPointsRequest} AddSplitPointsRequest */ - AddSplitPointsRequest.fromObject = function fromObject(object) { + AddSplitPointsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.AddSplitPointsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.AddSplitPointsRequest(); if (object.database != null) message.database = String(object.database); @@ -35052,7 +36411,7 @@ for (var i = 0; i < object.splitPoints.length; ++i) { if (typeof object.splitPoints[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.AddSplitPointsRequest.splitPoints: object expected"); - message.splitPoints[i] = $root.google.spanner.admin.database.v1.SplitPoints.fromObject(object.splitPoints[i]); + message.splitPoints[i] = $root.google.spanner.admin.database.v1.SplitPoints.fromObject(object.splitPoints[i], long + 1); } } if (object.initiator != null) @@ -35139,7 +36498,7 @@ function AddSplitPointsResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35194,9 +36553,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddSplitPointsResponse.decode = function decode(reader, length, error) { + AddSplitPointsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.AddSplitPointsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35204,7 +36567,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35235,9 +36598,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AddSplitPointsResponse.verify = function verify(message) { + AddSplitPointsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -35249,9 +36616,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.AddSplitPointsResponse} AddSplitPointsResponse */ - AddSplitPointsResponse.fromObject = function fromObject(object) { + AddSplitPointsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.AddSplitPointsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.spanner.admin.database.v1.AddSplitPointsResponse(); }; @@ -35321,7 +36692,7 @@ this.keys = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35417,9 +36788,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SplitPoints.decode = function decode(reader, length, error) { + SplitPoints.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.SplitPoints(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35437,15 +36812,15 @@ case 3: { if (!(message.keys && message.keys.length)) message.keys = []; - message.keys.push($root.google.spanner.admin.database.v1.SplitPoints.Key.decode(reader, reader.uint32())); + message.keys.push($root.google.spanner.admin.database.v1.SplitPoints.Key.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { - message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35476,9 +36851,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SplitPoints.verify = function verify(message) { + SplitPoints.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.table != null && message.hasOwnProperty("table")) if (!$util.isString(message.table)) return "table: string expected"; @@ -35489,13 +36868,13 @@ if (!Array.isArray(message.keys)) return "keys: array expected"; for (var i = 0; i < message.keys.length; ++i) { - var error = $root.google.spanner.admin.database.v1.SplitPoints.Key.verify(message.keys[i]); + var error = $root.google.spanner.admin.database.v1.SplitPoints.Key.verify(message.keys[i], long + 1); if (error) return "keys." + error; } } if (message.expireTime != null && message.hasOwnProperty("expireTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + var error = $root.google.protobuf.Timestamp.verify(message.expireTime, long + 1); if (error) return "expireTime." + error; } @@ -35510,9 +36889,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.SplitPoints} SplitPoints */ - SplitPoints.fromObject = function fromObject(object) { + SplitPoints.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.SplitPoints) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.SplitPoints(); if (object.table != null) message.table = String(object.table); @@ -35525,13 +36908,13 @@ for (var i = 0; i < object.keys.length; ++i) { if (typeof object.keys[i] !== "object") throw TypeError(".google.spanner.admin.database.v1.SplitPoints.keys: object expected"); - message.keys[i] = $root.google.spanner.admin.database.v1.SplitPoints.Key.fromObject(object.keys[i]); + message.keys[i] = $root.google.spanner.admin.database.v1.SplitPoints.Key.fromObject(object.keys[i], long + 1); } } if (object.expireTime != null) { if (typeof object.expireTime !== "object") throw TypeError(".google.spanner.admin.database.v1.SplitPoints.expireTime: object expected"); - message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime, long + 1); } return message; }; @@ -35616,7 +36999,7 @@ function Key(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35681,9 +37064,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Key.decode = function decode(reader, length, error) { + Key.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.SplitPoints.Key(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35691,11 +37078,11 @@ break; switch (tag >>> 3) { case 1: { - message.keyParts = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + message.keyParts = $root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35726,11 +37113,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Key.verify = function verify(message) { + Key.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.keyParts != null && message.hasOwnProperty("keyParts")) { - var error = $root.google.protobuf.ListValue.verify(message.keyParts); + var error = $root.google.protobuf.ListValue.verify(message.keyParts, long + 1); if (error) return "keyParts." + error; } @@ -35745,14 +37136,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.SplitPoints.Key} Key */ - Key.fromObject = function fromObject(object) { + Key.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.SplitPoints.Key) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.SplitPoints.Key(); if (object.keyParts != null) { if (typeof object.keyParts !== "object") throw TypeError(".google.spanner.admin.database.v1.SplitPoints.Key.keyParts: object expected"); - message.keyParts = $root.google.protobuf.ListValue.fromObject(object.keyParts); + message.keyParts = $root.google.protobuf.ListValue.fromObject(object.keyParts, long + 1); } return message; }; @@ -35833,7 +37228,7 @@ function InternalUpdateGraphOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -35938,9 +37333,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InternalUpdateGraphOperationRequest.decode = function decode(reader, length, error) { + InternalUpdateGraphOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.InternalUpdateGraphOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -35964,11 +37363,11 @@ break; } case 6: { - message.status = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.status = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -35999,9 +37398,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - InternalUpdateGraphOperationRequest.verify = function verify(message) { + InternalUpdateGraphOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; @@ -36015,7 +37418,7 @@ if (typeof message.progress !== "number") return "progress: number expected"; if (message.status != null && message.hasOwnProperty("status")) { - var error = $root.google.rpc.Status.verify(message.status); + var error = $root.google.rpc.Status.verify(message.status, long + 1); if (error) return "status." + error; } @@ -36030,9 +37433,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.InternalUpdateGraphOperationRequest} InternalUpdateGraphOperationRequest */ - InternalUpdateGraphOperationRequest.fromObject = function fromObject(object) { + InternalUpdateGraphOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.InternalUpdateGraphOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.database.v1.InternalUpdateGraphOperationRequest(); if (object.database != null) message.database = String(object.database); @@ -36045,7 +37452,7 @@ if (object.status != null) { if (typeof object.status !== "object") throw TypeError(".google.spanner.admin.database.v1.InternalUpdateGraphOperationRequest.status: object expected"); - message.status = $root.google.rpc.Status.fromObject(object.status); + message.status = $root.google.rpc.Status.fromObject(object.status, long + 1); } return message; }; @@ -36131,7 +37538,7 @@ function InternalUpdateGraphOperationResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -36186,9 +37593,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InternalUpdateGraphOperationResponse.decode = function decode(reader, length, error) { + InternalUpdateGraphOperationResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.database.v1.InternalUpdateGraphOperationResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -36196,7 +37607,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -36227,9 +37638,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - InternalUpdateGraphOperationResponse.verify = function verify(message) { + InternalUpdateGraphOperationResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -36241,9 +37656,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.database.v1.InternalUpdateGraphOperationResponse} InternalUpdateGraphOperationResponse */ - InternalUpdateGraphOperationResponse.fromObject = function fromObject(object) { + InternalUpdateGraphOperationResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.database.v1.InternalUpdateGraphOperationResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.spanner.admin.database.v1.InternalUpdateGraphOperationResponse(); }; @@ -36335,7 +37754,7 @@ function OperationProgress(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -36420,9 +37839,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationProgress.decode = function decode(reader, length, error) { + OperationProgress.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.OperationProgress(); while (reader.pos < end) { var tag = reader.uint32(); @@ -36434,15 +37857,15 @@ break; } case 2: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -36473,19 +37896,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationProgress.verify = function verify(message) { + OperationProgress.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.progressPercent != null && message.hasOwnProperty("progressPercent")) if (!$util.isInteger(message.progressPercent)) return "progressPercent: integer expected"; if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -36500,21 +37927,25 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.OperationProgress} OperationProgress */ - OperationProgress.fromObject = function fromObject(object) { + OperationProgress.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.OperationProgress) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.OperationProgress(); if (object.progressPercent != null) message.progressPercent = object.progressPercent | 0; if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.OperationProgress.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.OperationProgress.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } return message; }; @@ -36611,7 +38042,7 @@ function ReplicaSelection(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -36676,9 +38107,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReplicaSelection.decode = function decode(reader, length, error) { + ReplicaSelection.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ReplicaSelection(); while (reader.pos < end) { var tag = reader.uint32(); @@ -36690,7 +38125,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -36721,9 +38156,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReplicaSelection.verify = function verify(message) { + ReplicaSelection.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.location != null && message.hasOwnProperty("location")) if (!$util.isString(message.location)) return "location: string expected"; @@ -36738,9 +38177,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ReplicaSelection} ReplicaSelection */ - ReplicaSelection.fromObject = function fromObject(object) { + ReplicaSelection.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ReplicaSelection) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ReplicaSelection(); if (object.location != null) message.location = String(object.location); @@ -37546,7 +38989,7 @@ function ReplicaInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -37631,9 +39074,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReplicaInfo.decode = function decode(reader, length, error) { + ReplicaInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ReplicaInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -37653,7 +39100,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -37684,9 +39131,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReplicaInfo.verify = function verify(message) { + ReplicaInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.location != null && message.hasOwnProperty("location")) if (!$util.isString(message.location)) return "location: string expected"; @@ -37714,9 +39165,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ReplicaInfo} ReplicaInfo */ - ReplicaInfo.fromObject = function fromObject(object) { + ReplicaInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ReplicaInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ReplicaInfo(); if (object.location != null) message.location = String(object.location); @@ -37860,7 +39315,7 @@ this.leaderOptions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -38059,9 +39514,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InstanceConfig.decode = function decode(reader, length, error) { + InstanceConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.InstanceConfig(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -38083,13 +39542,13 @@ case 3: { if (!(message.replicas && message.replicas.length)) message.replicas = []; - message.replicas.push($root.google.spanner.admin.instance.v1.ReplicaInfo.decode(reader, reader.uint32())); + message.replicas.push($root.google.spanner.admin.instance.v1.ReplicaInfo.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.optionalReplicas && message.optionalReplicas.length)) message.optionalReplicas = []; - message.optionalReplicas.push($root.google.spanner.admin.instance.v1.ReplicaInfo.decode(reader, reader.uint32())); + message.optionalReplicas.push($root.google.spanner.admin.instance.v1.ReplicaInfo.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { @@ -38112,10 +39571,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } @@ -38150,7 +39611,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -38181,9 +39642,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - InstanceConfig.verify = function verify(message) { + InstanceConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -38203,7 +39668,7 @@ if (!Array.isArray(message.replicas)) return "replicas: array expected"; for (var i = 0; i < message.replicas.length; ++i) { - var error = $root.google.spanner.admin.instance.v1.ReplicaInfo.verify(message.replicas[i]); + var error = $root.google.spanner.admin.instance.v1.ReplicaInfo.verify(message.replicas[i], long + 1); if (error) return "replicas." + error; } @@ -38212,7 +39677,7 @@ if (!Array.isArray(message.optionalReplicas)) return "optionalReplicas: array expected"; for (var i = 0; i < message.optionalReplicas.length; ++i) { - var error = $root.google.spanner.admin.instance.v1.ReplicaInfo.verify(message.optionalReplicas[i]); + var error = $root.google.spanner.admin.instance.v1.ReplicaInfo.verify(message.optionalReplicas[i], long + 1); if (error) return "optionalReplicas." + error; } @@ -38285,9 +39750,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.InstanceConfig} InstanceConfig */ - InstanceConfig.fromObject = function fromObject(object) { + InstanceConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.InstanceConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.InstanceConfig(); if (object.name != null) message.name = String(object.name); @@ -38320,7 +39789,7 @@ for (var i = 0; i < object.replicas.length; ++i) { if (typeof object.replicas[i] !== "object") throw TypeError(".google.spanner.admin.instance.v1.InstanceConfig.replicas: object expected"); - message.replicas[i] = $root.google.spanner.admin.instance.v1.ReplicaInfo.fromObject(object.replicas[i]); + message.replicas[i] = $root.google.spanner.admin.instance.v1.ReplicaInfo.fromObject(object.replicas[i], long + 1); } } if (object.optionalReplicas) { @@ -38330,7 +39799,7 @@ for (var i = 0; i < object.optionalReplicas.length; ++i) { if (typeof object.optionalReplicas[i] !== "object") throw TypeError(".google.spanner.admin.instance.v1.InstanceConfig.optionalReplicas: object expected"); - message.optionalReplicas[i] = $root.google.spanner.admin.instance.v1.ReplicaInfo.fromObject(object.optionalReplicas[i]); + message.optionalReplicas[i] = $root.google.spanner.admin.instance.v1.ReplicaInfo.fromObject(object.optionalReplicas[i], long + 1); } } if (object.baseConfig != null) @@ -38339,8 +39808,11 @@ if (typeof object.labels !== "object") throw TypeError(".google.spanner.admin.instance.v1.InstanceConfig.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.etag != null) message.etag = String(object.etag); @@ -38499,8 +39971,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.etag != null && message.hasOwnProperty("etag")) object.etag = message.etag; @@ -38641,7 +40116,7 @@ function ReplicaComputeCapacity(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -38740,9 +40215,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReplicaComputeCapacity.decode = function decode(reader, length, error) { + ReplicaComputeCapacity.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ReplicaComputeCapacity(); while (reader.pos < end) { var tag = reader.uint32(); @@ -38750,7 +40229,7 @@ break; switch (tag >>> 3) { case 1: { - message.replicaSelection = $root.google.spanner.admin.instance.v1.ReplicaSelection.decode(reader, reader.uint32()); + message.replicaSelection = $root.google.spanner.admin.instance.v1.ReplicaSelection.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -38762,7 +40241,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -38793,12 +40272,16 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReplicaComputeCapacity.verify = function verify(message) { + ReplicaComputeCapacity.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.replicaSelection != null && message.hasOwnProperty("replicaSelection")) { - var error = $root.google.spanner.admin.instance.v1.ReplicaSelection.verify(message.replicaSelection); + var error = $root.google.spanner.admin.instance.v1.ReplicaSelection.verify(message.replicaSelection, long + 1); if (error) return "replicaSelection." + error; } @@ -38825,14 +40308,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ReplicaComputeCapacity} ReplicaComputeCapacity */ - ReplicaComputeCapacity.fromObject = function fromObject(object) { + ReplicaComputeCapacity.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ReplicaComputeCapacity) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ReplicaComputeCapacity(); if (object.replicaSelection != null) { if (typeof object.replicaSelection !== "object") throw TypeError(".google.spanner.admin.instance.v1.ReplicaComputeCapacity.replicaSelection: object expected"); - message.replicaSelection = $root.google.spanner.admin.instance.v1.ReplicaSelection.fromObject(object.replicaSelection); + message.replicaSelection = $root.google.spanner.admin.instance.v1.ReplicaSelection.fromObject(object.replicaSelection, long + 1); } if (object.nodeCount != null) message.nodeCount = object.nodeCount | 0; @@ -38923,7 +40410,7 @@ this.asymmetricAutoscalingOptions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39009,9 +40496,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AutoscalingConfig.decode = function decode(reader, length, error) { + AutoscalingConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.AutoscalingConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39019,21 +40510,21 @@ break; switch (tag >>> 3) { case 1: { - message.autoscalingLimits = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.decode(reader, reader.uint32()); + message.autoscalingLimits = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.autoscalingTargets = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargets.decode(reader, reader.uint32()); + message.autoscalingTargets = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargets.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { if (!(message.asymmetricAutoscalingOptions && message.asymmetricAutoscalingOptions.length)) message.asymmetricAutoscalingOptions = []; - message.asymmetricAutoscalingOptions.push($root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.decode(reader, reader.uint32())); + message.asymmetricAutoscalingOptions.push($root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39064,16 +40555,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AutoscalingConfig.verify = function verify(message) { + AutoscalingConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.autoscalingLimits != null && message.hasOwnProperty("autoscalingLimits")) { - var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.verify(message.autoscalingLimits); + var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.verify(message.autoscalingLimits, long + 1); if (error) return "autoscalingLimits." + error; } if (message.autoscalingTargets != null && message.hasOwnProperty("autoscalingTargets")) { - var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargets.verify(message.autoscalingTargets); + var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargets.verify(message.autoscalingTargets, long + 1); if (error) return "autoscalingTargets." + error; } @@ -39081,7 +40576,7 @@ if (!Array.isArray(message.asymmetricAutoscalingOptions)) return "asymmetricAutoscalingOptions: array expected"; for (var i = 0; i < message.asymmetricAutoscalingOptions.length; ++i) { - var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.verify(message.asymmetricAutoscalingOptions[i]); + var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.verify(message.asymmetricAutoscalingOptions[i], long + 1); if (error) return "asymmetricAutoscalingOptions." + error; } @@ -39097,19 +40592,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.AutoscalingConfig} AutoscalingConfig */ - AutoscalingConfig.fromObject = function fromObject(object) { + AutoscalingConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.AutoscalingConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.AutoscalingConfig(); if (object.autoscalingLimits != null) { if (typeof object.autoscalingLimits !== "object") throw TypeError(".google.spanner.admin.instance.v1.AutoscalingConfig.autoscalingLimits: object expected"); - message.autoscalingLimits = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.fromObject(object.autoscalingLimits); + message.autoscalingLimits = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.fromObject(object.autoscalingLimits, long + 1); } if (object.autoscalingTargets != null) { if (typeof object.autoscalingTargets !== "object") throw TypeError(".google.spanner.admin.instance.v1.AutoscalingConfig.autoscalingTargets: object expected"); - message.autoscalingTargets = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargets.fromObject(object.autoscalingTargets); + message.autoscalingTargets = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargets.fromObject(object.autoscalingTargets, long + 1); } if (object.asymmetricAutoscalingOptions) { if (!Array.isArray(object.asymmetricAutoscalingOptions)) @@ -39118,7 +40617,7 @@ for (var i = 0; i < object.asymmetricAutoscalingOptions.length; ++i) { if (typeof object.asymmetricAutoscalingOptions[i] !== "object") throw TypeError(".google.spanner.admin.instance.v1.AutoscalingConfig.asymmetricAutoscalingOptions: object expected"); - message.asymmetricAutoscalingOptions[i] = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.fromObject(object.asymmetricAutoscalingOptions[i]); + message.asymmetricAutoscalingOptions[i] = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.fromObject(object.asymmetricAutoscalingOptions[i], long + 1); } } return message; @@ -39204,7 +40703,7 @@ function AutoscalingLimits(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39324,9 +40823,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AutoscalingLimits.decode = function decode(reader, length, error) { + AutoscalingLimits.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39350,7 +40853,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39381,9 +40884,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AutoscalingLimits.verify = function verify(message) { + AutoscalingLimits.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.minNodes != null && message.hasOwnProperty("minNodes")) { properties.minLimit = 1; @@ -39420,9 +40927,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits} AutoscalingLimits */ - AutoscalingLimits.fromObject = function fromObject(object) { + AutoscalingLimits.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits(); if (object.minNodes != null) message.minNodes = object.minNodes | 0; @@ -39522,7 +41033,7 @@ function AutoscalingTargets(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39607,9 +41118,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AutoscalingTargets.decode = function decode(reader, length, error) { + AutoscalingTargets.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargets(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39629,7 +41144,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39660,9 +41175,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AutoscalingTargets.verify = function verify(message) { + AutoscalingTargets.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.highPriorityCpuUtilizationPercent != null && message.hasOwnProperty("highPriorityCpuUtilizationPercent")) if (!$util.isInteger(message.highPriorityCpuUtilizationPercent)) return "highPriorityCpuUtilizationPercent: integer expected"; @@ -39683,9 +41202,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargets} AutoscalingTargets */ - AutoscalingTargets.fromObject = function fromObject(object) { + AutoscalingTargets.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargets) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingTargets(); if (object.highPriorityCpuUtilizationPercent != null) message.highPriorityCpuUtilizationPercent = object.highPriorityCpuUtilizationPercent | 0; @@ -39773,7 +41296,7 @@ function AsymmetricAutoscalingOption(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -39848,9 +41371,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AsymmetricAutoscalingOption.decode = function decode(reader, length, error) { + AsymmetricAutoscalingOption.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption(); while (reader.pos < end) { var tag = reader.uint32(); @@ -39858,15 +41385,15 @@ break; switch (tag >>> 3) { case 1: { - message.replicaSelection = $root.google.spanner.admin.instance.v1.ReplicaSelection.decode(reader, reader.uint32()); + message.replicaSelection = $root.google.spanner.admin.instance.v1.ReplicaSelection.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.overrides = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides.decode(reader, reader.uint32()); + message.overrides = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -39897,16 +41424,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AsymmetricAutoscalingOption.verify = function verify(message) { + AsymmetricAutoscalingOption.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.replicaSelection != null && message.hasOwnProperty("replicaSelection")) { - var error = $root.google.spanner.admin.instance.v1.ReplicaSelection.verify(message.replicaSelection); + var error = $root.google.spanner.admin.instance.v1.ReplicaSelection.verify(message.replicaSelection, long + 1); if (error) return "replicaSelection." + error; } if (message.overrides != null && message.hasOwnProperty("overrides")) { - var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides.verify(message.overrides); + var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides.verify(message.overrides, long + 1); if (error) return "overrides." + error; } @@ -39921,19 +41452,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption} AsymmetricAutoscalingOption */ - AsymmetricAutoscalingOption.fromObject = function fromObject(object) { + AsymmetricAutoscalingOption.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption(); if (object.replicaSelection != null) { if (typeof object.replicaSelection !== "object") throw TypeError(".google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.replicaSelection: object expected"); - message.replicaSelection = $root.google.spanner.admin.instance.v1.ReplicaSelection.fromObject(object.replicaSelection); + message.replicaSelection = $root.google.spanner.admin.instance.v1.ReplicaSelection.fromObject(object.replicaSelection, long + 1); } if (object.overrides != null) { if (typeof object.overrides !== "object") throw TypeError(".google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.overrides: object expected"); - message.overrides = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides.fromObject(object.overrides); + message.overrides = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides.fromObject(object.overrides, long + 1); } return message; }; @@ -40012,7 +41547,7 @@ function AutoscalingConfigOverrides(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40117,9 +41652,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AutoscalingConfigOverrides.decode = function decode(reader, length, error) { + AutoscalingConfigOverrides.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides(); while (reader.pos < end) { var tag = reader.uint32(); @@ -40127,7 +41666,7 @@ break; switch (tag >>> 3) { case 1: { - message.autoscalingLimits = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.decode(reader, reader.uint32()); + message.autoscalingLimits = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -40147,7 +41686,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40178,11 +41717,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AutoscalingConfigOverrides.verify = function verify(message) { + AutoscalingConfigOverrides.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.autoscalingLimits != null && message.hasOwnProperty("autoscalingLimits")) { - var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.verify(message.autoscalingLimits); + var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.verify(message.autoscalingLimits, long + 1); if (error) return "autoscalingLimits." + error; } @@ -40209,14 +41752,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides} AutoscalingConfigOverrides */ - AutoscalingConfigOverrides.fromObject = function fromObject(object) { + AutoscalingConfigOverrides.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides(); if (object.autoscalingLimits != null) { if (typeof object.autoscalingLimits !== "object") throw TypeError(".google.spanner.admin.instance.v1.AutoscalingConfig.AsymmetricAutoscalingOption.AutoscalingConfigOverrides.autoscalingLimits: object expected"); - message.autoscalingLimits = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.fromObject(object.autoscalingLimits); + message.autoscalingLimits = $root.google.spanner.admin.instance.v1.AutoscalingConfig.AutoscalingLimits.fromObject(object.autoscalingLimits, long + 1); } if (object.autoscalingTargetHighPriorityCpuUtilizationPercent != null) message.autoscalingTargetHighPriorityCpuUtilizationPercent = object.autoscalingTargetHighPriorityCpuUtilizationPercent | 0; @@ -40335,7 +41882,7 @@ this.endpointUris = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -40553,9 +42100,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Instance.decode = function decode(reader, length, error) { + Instance.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.Instance(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -40585,11 +42136,11 @@ case 19: { if (!(message.replicaComputeCapacity && message.replicaComputeCapacity.length)) message.replicaComputeCapacity = []; - message.replicaComputeCapacity.push($root.google.spanner.admin.instance.v1.ReplicaComputeCapacity.decode(reader, reader.uint32())); + message.replicaComputeCapacity.push($root.google.spanner.admin.instance.v1.ReplicaComputeCapacity.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 17: { - message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.decode(reader, reader.uint32()); + message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -40612,10 +42163,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } @@ -40630,15 +42183,15 @@ break; } case 11: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { - message.freeInstanceMetadata = $root.google.spanner.admin.instance.v1.FreeInstanceMetadata.decode(reader, reader.uint32()); + message.freeInstanceMetadata = $root.google.spanner.admin.instance.v1.FreeInstanceMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 20: { @@ -40650,7 +42203,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -40681,9 +42234,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Instance.verify = function verify(message) { + Instance.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -40703,13 +42260,13 @@ if (!Array.isArray(message.replicaComputeCapacity)) return "replicaComputeCapacity: array expected"; for (var i = 0; i < message.replicaComputeCapacity.length; ++i) { - var error = $root.google.spanner.admin.instance.v1.ReplicaComputeCapacity.verify(message.replicaComputeCapacity[i]); + var error = $root.google.spanner.admin.instance.v1.ReplicaComputeCapacity.verify(message.replicaComputeCapacity[i], long + 1); if (error) return "replicaComputeCapacity." + error; } } if (message.autoscalingConfig != null && message.hasOwnProperty("autoscalingConfig")) { - var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.verify(message.autoscalingConfig); + var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.verify(message.autoscalingConfig, long + 1); if (error) return "autoscalingConfig." + error; } @@ -40747,17 +42304,17 @@ return "endpointUris: string[] expected"; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } if (message.freeInstanceMetadata != null && message.hasOwnProperty("freeInstanceMetadata")) { - var error = $root.google.spanner.admin.instance.v1.FreeInstanceMetadata.verify(message.freeInstanceMetadata); + var error = $root.google.spanner.admin.instance.v1.FreeInstanceMetadata.verify(message.freeInstanceMetadata, long + 1); if (error) return "freeInstanceMetadata." + error; } @@ -40791,9 +42348,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.Instance} Instance */ - Instance.fromObject = function fromObject(object) { + Instance.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.Instance) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.Instance(); if (object.name != null) message.name = String(object.name); @@ -40812,13 +42373,13 @@ for (var i = 0; i < object.replicaComputeCapacity.length; ++i) { if (typeof object.replicaComputeCapacity[i] !== "object") throw TypeError(".google.spanner.admin.instance.v1.Instance.replicaComputeCapacity: object expected"); - message.replicaComputeCapacity[i] = $root.google.spanner.admin.instance.v1.ReplicaComputeCapacity.fromObject(object.replicaComputeCapacity[i]); + message.replicaComputeCapacity[i] = $root.google.spanner.admin.instance.v1.ReplicaComputeCapacity.fromObject(object.replicaComputeCapacity[i], long + 1); } } if (object.autoscalingConfig != null) { if (typeof object.autoscalingConfig !== "object") throw TypeError(".google.spanner.admin.instance.v1.Instance.autoscalingConfig: object expected"); - message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.fromObject(object.autoscalingConfig); + message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.fromObject(object.autoscalingConfig, long + 1); } switch (object.state) { default: @@ -40844,8 +42405,11 @@ if (typeof object.labels !== "object") throw TypeError(".google.spanner.admin.instance.v1.Instance.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } switch (object.instanceType) { default: @@ -40877,17 +42441,17 @@ if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.Instance.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.Instance.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.freeInstanceMetadata != null) { if (typeof object.freeInstanceMetadata !== "object") throw TypeError(".google.spanner.admin.instance.v1.Instance.freeInstanceMetadata: object expected"); - message.freeInstanceMetadata = $root.google.spanner.admin.instance.v1.FreeInstanceMetadata.fromObject(object.freeInstanceMetadata); + message.freeInstanceMetadata = $root.google.spanner.admin.instance.v1.FreeInstanceMetadata.fromObject(object.freeInstanceMetadata, long + 1); } switch (object.edition) { default: @@ -40983,8 +42547,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.endpointUris && message.endpointUris.length) { object.endpointUris = []; @@ -41132,7 +42699,7 @@ function ListInstanceConfigsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41217,9 +42784,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInstanceConfigsRequest.decode = function decode(reader, length, error) { + ListInstanceConfigsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ListInstanceConfigsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41239,7 +42810,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41270,9 +42841,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListInstanceConfigsRequest.verify = function verify(message) { + ListInstanceConfigsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -41293,9 +42868,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ListInstanceConfigsRequest} ListInstanceConfigsRequest */ - ListInstanceConfigsRequest.fromObject = function fromObject(object) { + ListInstanceConfigsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ListInstanceConfigsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ListInstanceConfigsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -41384,7 +42963,7 @@ this.instanceConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41460,9 +43039,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInstanceConfigsResponse.decode = function decode(reader, length, error) { + ListInstanceConfigsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ListInstanceConfigsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41472,7 +43055,7 @@ case 1: { if (!(message.instanceConfigs && message.instanceConfigs.length)) message.instanceConfigs = []; - message.instanceConfigs.push($root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32())); + message.instanceConfigs.push($root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -41480,7 +43063,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41511,14 +43094,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListInstanceConfigsResponse.verify = function verify(message) { + ListInstanceConfigsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instanceConfigs != null && message.hasOwnProperty("instanceConfigs")) { if (!Array.isArray(message.instanceConfigs)) return "instanceConfigs: array expected"; for (var i = 0; i < message.instanceConfigs.length; ++i) { - var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfigs[i]); + var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfigs[i], long + 1); if (error) return "instanceConfigs." + error; } @@ -41537,9 +43124,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ListInstanceConfigsResponse} ListInstanceConfigsResponse */ - ListInstanceConfigsResponse.fromObject = function fromObject(object) { + ListInstanceConfigsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ListInstanceConfigsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ListInstanceConfigsResponse(); if (object.instanceConfigs) { if (!Array.isArray(object.instanceConfigs)) @@ -41548,7 +43139,7 @@ for (var i = 0; i < object.instanceConfigs.length; ++i) { if (typeof object.instanceConfigs[i] !== "object") throw TypeError(".google.spanner.admin.instance.v1.ListInstanceConfigsResponse.instanceConfigs: object expected"); - message.instanceConfigs[i] = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfigs[i]); + message.instanceConfigs[i] = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfigs[i], long + 1); } } if (object.nextPageToken != null) @@ -41632,7 +43223,7 @@ function GetInstanceConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41697,9 +43288,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetInstanceConfigRequest.decode = function decode(reader, length, error) { + GetInstanceConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.GetInstanceConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41711,7 +43306,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41742,9 +43337,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetInstanceConfigRequest.verify = function verify(message) { + GetInstanceConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -41759,9 +43358,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.GetInstanceConfigRequest} GetInstanceConfigRequest */ - GetInstanceConfigRequest.fromObject = function fromObject(object) { + GetInstanceConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.GetInstanceConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.GetInstanceConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -41840,7 +43443,7 @@ function CreateInstanceConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -41935,9 +43538,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateInstanceConfigRequest.decode = function decode(reader, length, error) { + CreateInstanceConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.CreateInstanceConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -41953,7 +43560,7 @@ break; } case 3: { - message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32()); + message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -41961,7 +43568,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -41992,9 +43599,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateInstanceConfigRequest.verify = function verify(message) { + CreateInstanceConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -42002,7 +43613,7 @@ if (!$util.isString(message.instanceConfigId)) return "instanceConfigId: string expected"; if (message.instanceConfig != null && message.hasOwnProperty("instanceConfig")) { - var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfig); + var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfig, long + 1); if (error) return "instanceConfig." + error; } @@ -42020,9 +43631,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.CreateInstanceConfigRequest} CreateInstanceConfigRequest */ - CreateInstanceConfigRequest.fromObject = function fromObject(object) { + CreateInstanceConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.CreateInstanceConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.CreateInstanceConfigRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -42031,7 +43646,7 @@ if (object.instanceConfig != null) { if (typeof object.instanceConfig !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstanceConfigRequest.instanceConfig: object expected"); - message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfig); + message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfig, long + 1); } if (object.validateOnly != null) message.validateOnly = Boolean(object.validateOnly); @@ -42119,7 +43734,7 @@ function UpdateInstanceConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42204,9 +43819,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateInstanceConfigRequest.decode = function decode(reader, length, error) { + UpdateInstanceConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42214,11 +43833,11 @@ break; switch (tag >>> 3) { case 1: { - message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32()); + message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -42226,7 +43845,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42257,16 +43876,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateInstanceConfigRequest.verify = function verify(message) { + UpdateInstanceConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instanceConfig != null && message.hasOwnProperty("instanceConfig")) { - var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfig); + var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfig, long + 1); if (error) return "instanceConfig." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -42284,19 +43907,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.UpdateInstanceConfigRequest} UpdateInstanceConfigRequest */ - UpdateInstanceConfigRequest.fromObject = function fromObject(object) { + UpdateInstanceConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest(); if (object.instanceConfig != null) { if (typeof object.instanceConfig !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.instanceConfig: object expected"); - message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfig); + message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfig, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } if (object.validateOnly != null) message.validateOnly = Boolean(object.validateOnly); @@ -42381,7 +44008,7 @@ function DeleteInstanceConfigRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42466,9 +44093,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteInstanceConfigRequest.decode = function decode(reader, length, error) { + DeleteInstanceConfigRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42488,7 +44119,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42519,9 +44150,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteInstanceConfigRequest.verify = function verify(message) { + DeleteInstanceConfigRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -42542,9 +44177,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.DeleteInstanceConfigRequest} DeleteInstanceConfigRequest */ - DeleteInstanceConfigRequest.fromObject = function fromObject(object) { + DeleteInstanceConfigRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.DeleteInstanceConfigRequest(); if (object.name != null) message.name = String(object.name); @@ -42634,7 +44273,7 @@ function ListInstanceConfigOperationsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42729,9 +44368,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInstanceConfigOperationsRequest.decode = function decode(reader, length, error) { + ListInstanceConfigOperationsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42755,7 +44398,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -42786,9 +44429,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListInstanceConfigOperationsRequest.verify = function verify(message) { + ListInstanceConfigOperationsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -42812,9 +44459,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest} ListInstanceConfigOperationsRequest */ - ListInstanceConfigOperationsRequest.fromObject = function fromObject(object) { + ListInstanceConfigOperationsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ListInstanceConfigOperationsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -42908,7 +44559,7 @@ this.operations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -42984,9 +44635,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInstanceConfigOperationsResponse.decode = function decode(reader, length, error) { + ListInstanceConfigOperationsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -42996,7 +44651,7 @@ case 1: { if (!(message.operations && message.operations.length)) message.operations = []; - message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -43004,7 +44659,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43035,14 +44690,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListInstanceConfigOperationsResponse.verify = function verify(message) { + ListInstanceConfigOperationsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.operations != null && message.hasOwnProperty("operations")) { if (!Array.isArray(message.operations)) return "operations: array expected"; for (var i = 0; i < message.operations.length; ++i) { - var error = $root.google.longrunning.Operation.verify(message.operations[i]); + var error = $root.google.longrunning.Operation.verify(message.operations[i], long + 1); if (error) return "operations." + error; } @@ -43061,9 +44720,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse} ListInstanceConfigOperationsResponse */ - ListInstanceConfigOperationsResponse.fromObject = function fromObject(object) { + ListInstanceConfigOperationsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse(); if (object.operations) { if (!Array.isArray(object.operations)) @@ -43072,7 +44735,7 @@ for (var i = 0; i < object.operations.length; ++i) { if (typeof object.operations[i] !== "object") throw TypeError(".google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.operations: object expected"); - message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i]); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i], long + 1); } } if (object.nextPageToken != null) @@ -43157,7 +44820,7 @@ function GetInstanceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43232,9 +44895,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetInstanceRequest.decode = function decode(reader, length, error) { + GetInstanceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.GetInstanceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43246,11 +44913,11 @@ break; } case 2: { - message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43281,14 +44948,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetInstanceRequest.verify = function verify(message) { + GetInstanceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.fieldMask != null && message.hasOwnProperty("fieldMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.fieldMask); + var error = $root.google.protobuf.FieldMask.verify(message.fieldMask, long + 1); if (error) return "fieldMask." + error; } @@ -43303,16 +44974,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.GetInstanceRequest} GetInstanceRequest */ - GetInstanceRequest.fromObject = function fromObject(object) { + GetInstanceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.GetInstanceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.GetInstanceRequest(); if (object.name != null) message.name = String(object.name); if (object.fieldMask != null) { if (typeof object.fieldMask !== "object") throw TypeError(".google.spanner.admin.instance.v1.GetInstanceRequest.fieldMask: object expected"); - message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask); + message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask, long + 1); } return message; }; @@ -43392,7 +45067,7 @@ function CreateInstanceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43477,9 +45152,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateInstanceRequest.decode = function decode(reader, length, error) { + CreateInstanceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.CreateInstanceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43495,11 +45174,11 @@ break; } case 3: { - message.instance = $root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32()); + message.instance = $root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43530,9 +45209,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateInstanceRequest.verify = function verify(message) { + CreateInstanceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -43540,7 +45223,7 @@ if (!$util.isString(message.instanceId)) return "instanceId: string expected"; if (message.instance != null && message.hasOwnProperty("instance")) { - var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instance); + var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instance, long + 1); if (error) return "instance." + error; } @@ -43555,9 +45238,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.CreateInstanceRequest} CreateInstanceRequest */ - CreateInstanceRequest.fromObject = function fromObject(object) { + CreateInstanceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.CreateInstanceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.CreateInstanceRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -43566,7 +45253,7 @@ if (object.instance != null) { if (typeof object.instance !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstanceRequest.instance: object expected"); - message.instance = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instance); + message.instance = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instance, long + 1); } return message; }; @@ -43651,7 +45338,7 @@ function ListInstancesRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -43756,9 +45443,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInstancesRequest.decode = function decode(reader, length, error) { + ListInstancesRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ListInstancesRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -43782,11 +45473,11 @@ break; } case 5: { - message.instanceDeadline = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.instanceDeadline = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -43817,9 +45508,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListInstancesRequest.verify = function verify(message) { + ListInstancesRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -43833,7 +45528,7 @@ if (!$util.isString(message.filter)) return "filter: string expected"; if (message.instanceDeadline != null && message.hasOwnProperty("instanceDeadline")) { - var error = $root.google.protobuf.Timestamp.verify(message.instanceDeadline); + var error = $root.google.protobuf.Timestamp.verify(message.instanceDeadline, long + 1); if (error) return "instanceDeadline." + error; } @@ -43848,9 +45543,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ListInstancesRequest} ListInstancesRequest */ - ListInstancesRequest.fromObject = function fromObject(object) { + ListInstancesRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ListInstancesRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ListInstancesRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -43863,7 +45562,7 @@ if (object.instanceDeadline != null) { if (typeof object.instanceDeadline !== "object") throw TypeError(".google.spanner.admin.instance.v1.ListInstancesRequest.instanceDeadline: object expected"); - message.instanceDeadline = $root.google.protobuf.Timestamp.fromObject(object.instanceDeadline); + message.instanceDeadline = $root.google.protobuf.Timestamp.fromObject(object.instanceDeadline, long + 1); } return message; }; @@ -43954,7 +45653,7 @@ this.unreachable = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44041,9 +45740,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInstancesResponse.decode = function decode(reader, length, error) { + ListInstancesResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ListInstancesResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44053,7 +45756,7 @@ case 1: { if (!(message.instances && message.instances.length)) message.instances = []; - message.instances.push($root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32())); + message.instances.push($root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -44067,7 +45770,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44098,14 +45801,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListInstancesResponse.verify = function verify(message) { + ListInstancesResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instances != null && message.hasOwnProperty("instances")) { if (!Array.isArray(message.instances)) return "instances: array expected"; for (var i = 0; i < message.instances.length; ++i) { - var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instances[i]); + var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instances[i], long + 1); if (error) return "instances." + error; } @@ -44131,9 +45838,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ListInstancesResponse} ListInstancesResponse */ - ListInstancesResponse.fromObject = function fromObject(object) { + ListInstancesResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ListInstancesResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ListInstancesResponse(); if (object.instances) { if (!Array.isArray(object.instances)) @@ -44142,7 +45853,7 @@ for (var i = 0; i < object.instances.length; ++i) { if (typeof object.instances[i] !== "object") throw TypeError(".google.spanner.admin.instance.v1.ListInstancesResponse.instances: object expected"); - message.instances[i] = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instances[i]); + message.instances[i] = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instances[i], long + 1); } } if (object.nextPageToken != null) @@ -44241,7 +45952,7 @@ function UpdateInstanceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44316,9 +46027,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateInstanceRequest.decode = function decode(reader, length, error) { + UpdateInstanceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.UpdateInstanceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44326,15 +46041,15 @@ break; switch (tag >>> 3) { case 1: { - message.instance = $root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32()); + message.instance = $root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44365,16 +46080,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateInstanceRequest.verify = function verify(message) { + UpdateInstanceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instance != null && message.hasOwnProperty("instance")) { - var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instance); + var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instance, long + 1); if (error) return "instance." + error; } if (message.fieldMask != null && message.hasOwnProperty("fieldMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.fieldMask); + var error = $root.google.protobuf.FieldMask.verify(message.fieldMask, long + 1); if (error) return "fieldMask." + error; } @@ -44389,19 +46108,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.UpdateInstanceRequest} UpdateInstanceRequest */ - UpdateInstanceRequest.fromObject = function fromObject(object) { + UpdateInstanceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.UpdateInstanceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.UpdateInstanceRequest(); if (object.instance != null) { if (typeof object.instance !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceRequest.instance: object expected"); - message.instance = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instance); + message.instance = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instance, long + 1); } if (object.fieldMask != null) { if (typeof object.fieldMask !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceRequest.fieldMask: object expected"); - message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask); + message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask, long + 1); } return message; }; @@ -44479,7 +46202,7 @@ function DeleteInstanceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44544,9 +46267,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteInstanceRequest.decode = function decode(reader, length, error) { + DeleteInstanceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.DeleteInstanceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44558,7 +46285,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44589,9 +46316,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteInstanceRequest.verify = function verify(message) { + DeleteInstanceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -44606,9 +46337,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.DeleteInstanceRequest} DeleteInstanceRequest */ - DeleteInstanceRequest.fromObject = function fromObject(object) { + DeleteInstanceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.DeleteInstanceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.DeleteInstanceRequest(); if (object.name != null) message.name = String(object.name); @@ -44688,7 +46423,7 @@ function CreateInstanceMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -44793,9 +46528,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateInstanceMetadata.decode = function decode(reader, length, error) { + CreateInstanceMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.CreateInstanceMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -44803,19 +46542,19 @@ break; switch (tag >>> 3) { case 1: { - message.instance = $root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32()); + message.instance = $root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -44823,7 +46562,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -44854,26 +46593,30 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateInstanceMetadata.verify = function verify(message) { + CreateInstanceMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instance != null && message.hasOwnProperty("instance")) { - var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instance); + var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instance, long + 1); if (error) return "instance." + error; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -44897,29 +46640,33 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.CreateInstanceMetadata} CreateInstanceMetadata */ - CreateInstanceMetadata.fromObject = function fromObject(object) { + CreateInstanceMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.CreateInstanceMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.CreateInstanceMetadata(); if (object.instance != null) { if (typeof object.instance !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstanceMetadata.instance: object expected"); - message.instance = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instance); + message.instance = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instance, long + 1); } if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstanceMetadata.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstanceMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstanceMetadata.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } switch (object.expectedFulfillmentPeriod) { default: @@ -45030,7 +46777,7 @@ function UpdateInstanceMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -45135,9 +46882,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateInstanceMetadata.decode = function decode(reader, length, error) { + UpdateInstanceMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.UpdateInstanceMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -45145,19 +46896,19 @@ break; switch (tag >>> 3) { case 1: { - message.instance = $root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32()); + message.instance = $root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -45165,7 +46916,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -45196,26 +46947,30 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateInstanceMetadata.verify = function verify(message) { + UpdateInstanceMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instance != null && message.hasOwnProperty("instance")) { - var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instance); + var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instance, long + 1); if (error) return "instance." + error; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -45239,29 +46994,33 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.UpdateInstanceMetadata} UpdateInstanceMetadata */ - UpdateInstanceMetadata.fromObject = function fromObject(object) { + UpdateInstanceMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.UpdateInstanceMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.UpdateInstanceMetadata(); if (object.instance != null) { if (typeof object.instance !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceMetadata.instance: object expected"); - message.instance = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instance); + message.instance = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instance, long + 1); } if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceMetadata.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceMetadata.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } switch (object.expectedFulfillmentPeriod) { default: @@ -45370,7 +47129,7 @@ function FreeInstanceMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -45455,9 +47214,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FreeInstanceMetadata.decode = function decode(reader, length, error) { + FreeInstanceMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.FreeInstanceMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -45465,11 +47228,11 @@ break; switch (tag >>> 3) { case 1: { - message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.upgradeTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.upgradeTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -45477,7 +47240,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -45508,16 +47271,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FreeInstanceMetadata.verify = function verify(message) { + FreeInstanceMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.expireTime != null && message.hasOwnProperty("expireTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + var error = $root.google.protobuf.Timestamp.verify(message.expireTime, long + 1); if (error) return "expireTime." + error; } if (message.upgradeTime != null && message.hasOwnProperty("upgradeTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.upgradeTime); + var error = $root.google.protobuf.Timestamp.verify(message.upgradeTime, long + 1); if (error) return "upgradeTime." + error; } @@ -45541,19 +47308,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.FreeInstanceMetadata} FreeInstanceMetadata */ - FreeInstanceMetadata.fromObject = function fromObject(object) { + FreeInstanceMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.FreeInstanceMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.FreeInstanceMetadata(); if (object.expireTime != null) { if (typeof object.expireTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.FreeInstanceMetadata.expireTime: object expected"); - message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime, long + 1); } if (object.upgradeTime != null) { if (typeof object.upgradeTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.FreeInstanceMetadata.upgradeTime: object expected"); - message.upgradeTime = $root.google.protobuf.Timestamp.fromObject(object.upgradeTime); + message.upgradeTime = $root.google.protobuf.Timestamp.fromObject(object.upgradeTime, long + 1); } switch (object.expireBehavior) { default: @@ -45672,7 +47443,7 @@ function CreateInstanceConfigMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -45757,9 +47528,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateInstanceConfigMetadata.decode = function decode(reader, length, error) { + CreateInstanceConfigMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -45767,19 +47542,19 @@ break; switch (tag >>> 3) { case 1: { - message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32()); + message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.decode(reader, reader.uint32()); + message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -45810,21 +47585,25 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateInstanceConfigMetadata.verify = function verify(message) { + CreateInstanceConfigMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instanceConfig != null && message.hasOwnProperty("instanceConfig")) { - var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfig); + var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfig, long + 1); if (error) return "instanceConfig." + error; } if (message.progress != null && message.hasOwnProperty("progress")) { - var error = $root.google.spanner.admin.instance.v1.OperationProgress.verify(message.progress); + var error = $root.google.spanner.admin.instance.v1.OperationProgress.verify(message.progress, long + 1); if (error) return "progress." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } @@ -45839,24 +47618,28 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.CreateInstanceConfigMetadata} CreateInstanceConfigMetadata */ - CreateInstanceConfigMetadata.fromObject = function fromObject(object) { + CreateInstanceConfigMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata(); if (object.instanceConfig != null) { if (typeof object.instanceConfig !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstanceConfigMetadata.instanceConfig: object expected"); - message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfig); + message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfig, long + 1); } if (object.progress != null) { if (typeof object.progress !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstanceConfigMetadata.progress: object expected"); - message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.fromObject(object.progress); + message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.fromObject(object.progress, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstanceConfigMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } return message; }; @@ -45939,7 +47722,7 @@ function UpdateInstanceConfigMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46024,9 +47807,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateInstanceConfigMetadata.decode = function decode(reader, length, error) { + UpdateInstanceConfigMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46034,19 +47821,19 @@ break; switch (tag >>> 3) { case 1: { - message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32()); + message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.decode(reader, reader.uint32()); + message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -46077,21 +47864,25 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateInstanceConfigMetadata.verify = function verify(message) { + UpdateInstanceConfigMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instanceConfig != null && message.hasOwnProperty("instanceConfig")) { - var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfig); + var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfig, long + 1); if (error) return "instanceConfig." + error; } if (message.progress != null && message.hasOwnProperty("progress")) { - var error = $root.google.spanner.admin.instance.v1.OperationProgress.verify(message.progress); + var error = $root.google.spanner.admin.instance.v1.OperationProgress.verify(message.progress, long + 1); if (error) return "progress." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } @@ -46106,24 +47897,28 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata} UpdateInstanceConfigMetadata */ - UpdateInstanceConfigMetadata.fromObject = function fromObject(object) { + UpdateInstanceConfigMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata(); if (object.instanceConfig != null) { if (typeof object.instanceConfig !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.instanceConfig: object expected"); - message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfig); + message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfig, long + 1); } if (object.progress != null) { if (typeof object.progress !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.progress: object expected"); - message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.fromObject(object.progress); + message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.fromObject(object.progress, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } return message; }; @@ -46217,7 +48012,7 @@ this.referencingBackups = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46408,9 +48203,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InstancePartition.decode = function decode(reader, length, error) { + InstancePartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.InstancePartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46438,7 +48237,7 @@ break; } case 13: { - message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.decode(reader, reader.uint32()); + message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -46446,11 +48245,11 @@ break; } case 8: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { @@ -46470,7 +48269,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -46501,9 +48300,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - InstancePartition.verify = function verify(message) { + InstancePartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) @@ -46527,7 +48330,7 @@ return "processingUnits: integer expected"; } if (message.autoscalingConfig != null && message.hasOwnProperty("autoscalingConfig")) { - var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.verify(message.autoscalingConfig); + var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.verify(message.autoscalingConfig, long + 1); if (error) return "autoscalingConfig." + error; } @@ -46541,12 +48344,12 @@ break; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.updateTime != null && message.hasOwnProperty("updateTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.updateTime); + var error = $root.google.protobuf.Timestamp.verify(message.updateTime, long + 1); if (error) return "updateTime." + error; } @@ -46578,9 +48381,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.InstancePartition} InstancePartition */ - InstancePartition.fromObject = function fromObject(object) { + InstancePartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.InstancePartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.InstancePartition(); if (object.name != null) message.name = String(object.name); @@ -46595,7 +48402,7 @@ if (object.autoscalingConfig != null) { if (typeof object.autoscalingConfig !== "object") throw TypeError(".google.spanner.admin.instance.v1.InstancePartition.autoscalingConfig: object expected"); - message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.fromObject(object.autoscalingConfig); + message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.fromObject(object.autoscalingConfig, long + 1); } switch (object.state) { default: @@ -46620,12 +48427,12 @@ if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.InstancePartition.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.updateTime != null) { if (typeof object.updateTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.InstancePartition.updateTime: object expected"); - message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime); + message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime, long + 1); } if (object.referencingDatabases) { if (!Array.isArray(object.referencingDatabases)) @@ -46780,7 +48587,7 @@ function CreateInstancePartitionMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -46875,9 +48682,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateInstancePartitionMetadata.decode = function decode(reader, length, error) { + CreateInstancePartitionMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -46885,23 +48696,23 @@ break; switch (tag >>> 3) { case 1: { - message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.decode(reader, reader.uint32()); + message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -46932,26 +48743,30 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateInstancePartitionMetadata.verify = function verify(message) { + CreateInstancePartitionMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instancePartition != null && message.hasOwnProperty("instancePartition")) { - var error = $root.google.spanner.admin.instance.v1.InstancePartition.verify(message.instancePartition); + var error = $root.google.spanner.admin.instance.v1.InstancePartition.verify(message.instancePartition, long + 1); if (error) return "instancePartition." + error; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -46966,29 +48781,33 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.CreateInstancePartitionMetadata} CreateInstancePartitionMetadata */ - CreateInstancePartitionMetadata.fromObject = function fromObject(object) { + CreateInstancePartitionMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata(); if (object.instancePartition != null) { if (typeof object.instancePartition !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstancePartitionMetadata.instancePartition: object expected"); - message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.fromObject(object.instancePartition); + message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.fromObject(object.instancePartition, long + 1); } if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstancePartitionMetadata.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstancePartitionMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstancePartitionMetadata.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } return message; }; @@ -47074,7 +48893,7 @@ function CreateInstancePartitionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -47159,9 +48978,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateInstancePartitionRequest.decode = function decode(reader, length, error) { + CreateInstancePartitionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.CreateInstancePartitionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -47177,11 +49000,11 @@ break; } case 3: { - message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.decode(reader, reader.uint32()); + message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47212,9 +49035,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateInstancePartitionRequest.verify = function verify(message) { + CreateInstancePartitionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -47222,7 +49049,7 @@ if (!$util.isString(message.instancePartitionId)) return "instancePartitionId: string expected"; if (message.instancePartition != null && message.hasOwnProperty("instancePartition")) { - var error = $root.google.spanner.admin.instance.v1.InstancePartition.verify(message.instancePartition); + var error = $root.google.spanner.admin.instance.v1.InstancePartition.verify(message.instancePartition, long + 1); if (error) return "instancePartition." + error; } @@ -47237,9 +49064,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.CreateInstancePartitionRequest} CreateInstancePartitionRequest */ - CreateInstancePartitionRequest.fromObject = function fromObject(object) { + CreateInstancePartitionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.CreateInstancePartitionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.CreateInstancePartitionRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -47248,7 +49079,7 @@ if (object.instancePartition != null) { if (typeof object.instancePartition !== "object") throw TypeError(".google.spanner.admin.instance.v1.CreateInstancePartitionRequest.instancePartition: object expected"); - message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.fromObject(object.instancePartition); + message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.fromObject(object.instancePartition, long + 1); } return message; }; @@ -47330,7 +49161,7 @@ function DeleteInstancePartitionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -47405,9 +49236,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteInstancePartitionRequest.decode = function decode(reader, length, error) { + DeleteInstancePartitionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.DeleteInstancePartitionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -47423,7 +49258,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47454,9 +49289,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteInstancePartitionRequest.verify = function verify(message) { + DeleteInstancePartitionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -47474,9 +49313,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.DeleteInstancePartitionRequest} DeleteInstancePartitionRequest */ - DeleteInstancePartitionRequest.fromObject = function fromObject(object) { + DeleteInstancePartitionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.DeleteInstancePartitionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.DeleteInstancePartitionRequest(); if (object.name != null) message.name = String(object.name); @@ -47558,7 +49401,7 @@ function GetInstancePartitionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -47623,9 +49466,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetInstancePartitionRequest.decode = function decode(reader, length, error) { + GetInstancePartitionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.GetInstancePartitionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -47637,7 +49484,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47668,9 +49515,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetInstancePartitionRequest.verify = function verify(message) { + GetInstancePartitionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -47685,9 +49536,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.GetInstancePartitionRequest} GetInstancePartitionRequest */ - GetInstancePartitionRequest.fromObject = function fromObject(object) { + GetInstancePartitionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.GetInstancePartitionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.GetInstancePartitionRequest(); if (object.name != null) message.name = String(object.name); @@ -47764,7 +49619,7 @@ function UpdateInstancePartitionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -47839,9 +49694,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateInstancePartitionRequest.decode = function decode(reader, length, error) { + UpdateInstancePartitionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.UpdateInstancePartitionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -47849,15 +49708,15 @@ break; switch (tag >>> 3) { case 1: { - message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.decode(reader, reader.uint32()); + message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.fieldMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -47888,16 +49747,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateInstancePartitionRequest.verify = function verify(message) { + UpdateInstancePartitionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instancePartition != null && message.hasOwnProperty("instancePartition")) { - var error = $root.google.spanner.admin.instance.v1.InstancePartition.verify(message.instancePartition); + var error = $root.google.spanner.admin.instance.v1.InstancePartition.verify(message.instancePartition, long + 1); if (error) return "instancePartition." + error; } if (message.fieldMask != null && message.hasOwnProperty("fieldMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.fieldMask); + var error = $root.google.protobuf.FieldMask.verify(message.fieldMask, long + 1); if (error) return "fieldMask." + error; } @@ -47912,19 +49775,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.UpdateInstancePartitionRequest} UpdateInstancePartitionRequest */ - UpdateInstancePartitionRequest.fromObject = function fromObject(object) { + UpdateInstancePartitionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.UpdateInstancePartitionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.UpdateInstancePartitionRequest(); if (object.instancePartition != null) { if (typeof object.instancePartition !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstancePartitionRequest.instancePartition: object expected"); - message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.fromObject(object.instancePartition); + message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.fromObject(object.instancePartition, long + 1); } if (object.fieldMask != null) { if (typeof object.fieldMask !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstancePartitionRequest.fieldMask: object expected"); - message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask); + message.fieldMask = $root.google.protobuf.FieldMask.fromObject(object.fieldMask, long + 1); } return message; }; @@ -48005,7 +49872,7 @@ function UpdateInstancePartitionMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -48100,9 +49967,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateInstancePartitionMetadata.decode = function decode(reader, length, error) { + UpdateInstancePartitionMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -48110,23 +49981,23 @@ break; switch (tag >>> 3) { case 1: { - message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.decode(reader, reader.uint32()); + message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -48157,26 +50028,30 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateInstancePartitionMetadata.verify = function verify(message) { + UpdateInstancePartitionMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instancePartition != null && message.hasOwnProperty("instancePartition")) { - var error = $root.google.spanner.admin.instance.v1.InstancePartition.verify(message.instancePartition); + var error = $root.google.spanner.admin.instance.v1.InstancePartition.verify(message.instancePartition, long + 1); if (error) return "instancePartition." + error; } if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -48191,29 +50066,33 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata} UpdateInstancePartitionMetadata */ - UpdateInstancePartitionMetadata.fromObject = function fromObject(object) { + UpdateInstancePartitionMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata(); if (object.instancePartition != null) { if (typeof object.instancePartition !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata.instancePartition: object expected"); - message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.fromObject(object.instancePartition); + message.instancePartition = $root.google.spanner.admin.instance.v1.InstancePartition.fromObject(object.instancePartition, long + 1); } if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } return message; }; @@ -48300,7 +50179,7 @@ function ListInstancePartitionsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -48395,9 +50274,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInstancePartitionsRequest.decode = function decode(reader, length, error) { + ListInstancePartitionsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ListInstancePartitionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -48417,11 +50300,11 @@ break; } case 4: { - message.instancePartitionDeadline = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.instancePartitionDeadline = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -48452,9 +50335,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListInstancePartitionsRequest.verify = function verify(message) { + ListInstancePartitionsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -48465,7 +50352,7 @@ if (!$util.isString(message.pageToken)) return "pageToken: string expected"; if (message.instancePartitionDeadline != null && message.hasOwnProperty("instancePartitionDeadline")) { - var error = $root.google.protobuf.Timestamp.verify(message.instancePartitionDeadline); + var error = $root.google.protobuf.Timestamp.verify(message.instancePartitionDeadline, long + 1); if (error) return "instancePartitionDeadline." + error; } @@ -48480,9 +50367,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ListInstancePartitionsRequest} ListInstancePartitionsRequest */ - ListInstancePartitionsRequest.fromObject = function fromObject(object) { + ListInstancePartitionsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ListInstancePartitionsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ListInstancePartitionsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -48493,7 +50384,7 @@ if (object.instancePartitionDeadline != null) { if (typeof object.instancePartitionDeadline !== "object") throw TypeError(".google.spanner.admin.instance.v1.ListInstancePartitionsRequest.instancePartitionDeadline: object expected"); - message.instancePartitionDeadline = $root.google.protobuf.Timestamp.fromObject(object.instancePartitionDeadline); + message.instancePartitionDeadline = $root.google.protobuf.Timestamp.fromObject(object.instancePartitionDeadline, long + 1); } return message; }; @@ -48581,7 +50472,7 @@ this.unreachable = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -48668,9 +50559,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInstancePartitionsResponse.decode = function decode(reader, length, error) { + ListInstancePartitionsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ListInstancePartitionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -48680,7 +50575,7 @@ case 1: { if (!(message.instancePartitions && message.instancePartitions.length)) message.instancePartitions = []; - message.instancePartitions.push($root.google.spanner.admin.instance.v1.InstancePartition.decode(reader, reader.uint32())); + message.instancePartitions.push($root.google.spanner.admin.instance.v1.InstancePartition.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -48694,7 +50589,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -48725,14 +50620,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListInstancePartitionsResponse.verify = function verify(message) { + ListInstancePartitionsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instancePartitions != null && message.hasOwnProperty("instancePartitions")) { if (!Array.isArray(message.instancePartitions)) return "instancePartitions: array expected"; for (var i = 0; i < message.instancePartitions.length; ++i) { - var error = $root.google.spanner.admin.instance.v1.InstancePartition.verify(message.instancePartitions[i]); + var error = $root.google.spanner.admin.instance.v1.InstancePartition.verify(message.instancePartitions[i], long + 1); if (error) return "instancePartitions." + error; } @@ -48758,9 +50657,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ListInstancePartitionsResponse} ListInstancePartitionsResponse */ - ListInstancePartitionsResponse.fromObject = function fromObject(object) { + ListInstancePartitionsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ListInstancePartitionsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ListInstancePartitionsResponse(); if (object.instancePartitions) { if (!Array.isArray(object.instancePartitions)) @@ -48769,7 +50672,7 @@ for (var i = 0; i < object.instancePartitions.length; ++i) { if (typeof object.instancePartitions[i] !== "object") throw TypeError(".google.spanner.admin.instance.v1.ListInstancePartitionsResponse.instancePartitions: object expected"); - message.instancePartitions[i] = $root.google.spanner.admin.instance.v1.InstancePartition.fromObject(object.instancePartitions[i]); + message.instancePartitions[i] = $root.google.spanner.admin.instance.v1.InstancePartition.fromObject(object.instancePartitions[i], long + 1); } } if (object.nextPageToken != null) @@ -48871,7 +50774,7 @@ function ListInstancePartitionOperationsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -48976,9 +50879,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInstancePartitionOperationsRequest.decode = function decode(reader, length, error) { + ListInstancePartitionOperationsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ListInstancePartitionOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49002,11 +50909,11 @@ break; } case 5: { - message.instancePartitionDeadline = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.instancePartitionDeadline = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49037,9 +50944,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListInstancePartitionOperationsRequest.verify = function verify(message) { + ListInstancePartitionOperationsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.parent != null && message.hasOwnProperty("parent")) if (!$util.isString(message.parent)) return "parent: string expected"; @@ -49053,7 +50964,7 @@ if (!$util.isString(message.pageToken)) return "pageToken: string expected"; if (message.instancePartitionDeadline != null && message.hasOwnProperty("instancePartitionDeadline")) { - var error = $root.google.protobuf.Timestamp.verify(message.instancePartitionDeadline); + var error = $root.google.protobuf.Timestamp.verify(message.instancePartitionDeadline, long + 1); if (error) return "instancePartitionDeadline." + error; } @@ -49068,9 +50979,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ListInstancePartitionOperationsRequest} ListInstancePartitionOperationsRequest */ - ListInstancePartitionOperationsRequest.fromObject = function fromObject(object) { + ListInstancePartitionOperationsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ListInstancePartitionOperationsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ListInstancePartitionOperationsRequest(); if (object.parent != null) message.parent = String(object.parent); @@ -49083,7 +50998,7 @@ if (object.instancePartitionDeadline != null) { if (typeof object.instancePartitionDeadline !== "object") throw TypeError(".google.spanner.admin.instance.v1.ListInstancePartitionOperationsRequest.instancePartitionDeadline: object expected"); - message.instancePartitionDeadline = $root.google.protobuf.Timestamp.fromObject(object.instancePartitionDeadline); + message.instancePartitionDeadline = $root.google.protobuf.Timestamp.fromObject(object.instancePartitionDeadline, long + 1); } return message; }; @@ -49174,7 +51089,7 @@ this.unreachableInstancePartitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49261,9 +51176,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListInstancePartitionOperationsResponse.decode = function decode(reader, length, error) { + ListInstancePartitionOperationsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49273,7 +51192,7 @@ case 1: { if (!(message.operations && message.operations.length)) message.operations = []; - message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -49287,7 +51206,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49318,14 +51237,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListInstancePartitionOperationsResponse.verify = function verify(message) { + ListInstancePartitionOperationsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.operations != null && message.hasOwnProperty("operations")) { if (!Array.isArray(message.operations)) return "operations: array expected"; for (var i = 0; i < message.operations.length; ++i) { - var error = $root.google.longrunning.Operation.verify(message.operations[i]); + var error = $root.google.longrunning.Operation.verify(message.operations[i], long + 1); if (error) return "operations." + error; } @@ -49351,9 +51274,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse} ListInstancePartitionOperationsResponse */ - ListInstancePartitionOperationsResponse.fromObject = function fromObject(object) { + ListInstancePartitionOperationsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse(); if (object.operations) { if (!Array.isArray(object.operations)) @@ -49362,7 +51289,7 @@ for (var i = 0; i < object.operations.length; ++i) { if (typeof object.operations[i] !== "object") throw TypeError(".google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse.operations: object expected"); - message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i]); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i], long + 1); } } if (object.nextPageToken != null) @@ -49461,7 +51388,7 @@ function MoveInstanceRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49536,9 +51463,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MoveInstanceRequest.decode = function decode(reader, length, error) { + MoveInstanceRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.MoveInstanceRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49554,7 +51485,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49585,9 +51516,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MoveInstanceRequest.verify = function verify(message) { + MoveInstanceRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -49605,9 +51540,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.MoveInstanceRequest} MoveInstanceRequest */ - MoveInstanceRequest.fromObject = function fromObject(object) { + MoveInstanceRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.MoveInstanceRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.MoveInstanceRequest(); if (object.name != null) message.name = String(object.name); @@ -49688,7 +51627,7 @@ function MoveInstanceResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49743,9 +51682,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MoveInstanceResponse.decode = function decode(reader, length, error) { + MoveInstanceResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.MoveInstanceResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49753,7 +51696,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -49784,9 +51727,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MoveInstanceResponse.verify = function verify(message) { + MoveInstanceResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -49798,9 +51745,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.MoveInstanceResponse} MoveInstanceResponse */ - MoveInstanceResponse.fromObject = function fromObject(object) { + MoveInstanceResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.MoveInstanceResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.spanner.admin.instance.v1.MoveInstanceResponse(); }; @@ -49868,7 +51819,7 @@ function MoveInstanceMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -49953,9 +51904,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MoveInstanceMetadata.decode = function decode(reader, length, error) { + MoveInstanceMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.admin.instance.v1.MoveInstanceMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -49967,15 +51922,15 @@ break; } case 2: { - message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.decode(reader, reader.uint32()); + message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.cancelTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50006,19 +51961,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MoveInstanceMetadata.verify = function verify(message) { + MoveInstanceMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.targetConfig != null && message.hasOwnProperty("targetConfig")) if (!$util.isString(message.targetConfig)) return "targetConfig: string expected"; if (message.progress != null && message.hasOwnProperty("progress")) { - var error = $root.google.spanner.admin.instance.v1.OperationProgress.verify(message.progress); + var error = $root.google.spanner.admin.instance.v1.OperationProgress.verify(message.progress, long + 1); if (error) return "progress." + error; } if (message.cancelTime != null && message.hasOwnProperty("cancelTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.cancelTime); + var error = $root.google.protobuf.Timestamp.verify(message.cancelTime, long + 1); if (error) return "cancelTime." + error; } @@ -50033,21 +51992,25 @@ * @param {Object.} object Plain object * @returns {google.spanner.admin.instance.v1.MoveInstanceMetadata} MoveInstanceMetadata */ - MoveInstanceMetadata.fromObject = function fromObject(object) { + MoveInstanceMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.admin.instance.v1.MoveInstanceMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.admin.instance.v1.MoveInstanceMetadata(); if (object.targetConfig != null) message.targetConfig = String(object.targetConfig); if (object.progress != null) { if (typeof object.progress !== "object") throw TypeError(".google.spanner.admin.instance.v1.MoveInstanceMetadata.progress: object expected"); - message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.fromObject(object.progress); + message.progress = $root.google.spanner.admin.instance.v1.OperationProgress.fromObject(object.progress, long + 1); } if (object.cancelTime != null) { if (typeof object.cancelTime !== "object") throw TypeError(".google.spanner.admin.instance.v1.MoveInstanceMetadata.cancelTime: object expected"); - message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime); + message.cancelTime = $root.google.protobuf.Timestamp.fromObject(object.cancelTime, long + 1); } return message; }; @@ -50224,7 +52187,7 @@ function SpannerAsyncActionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50299,9 +52262,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SpannerAsyncActionRequest.decode = function decode(reader, length, error) { + SpannerAsyncActionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.SpannerAsyncActionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50313,11 +52280,11 @@ break; } case 2: { - message.action = $root.google.spanner.executor.v1.SpannerAction.decode(reader, reader.uint32()); + message.action = $root.google.spanner.executor.v1.SpannerAction.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50348,14 +52315,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SpannerAsyncActionRequest.verify = function verify(message) { + SpannerAsyncActionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.actionId != null && message.hasOwnProperty("actionId")) if (!$util.isInteger(message.actionId)) return "actionId: integer expected"; if (message.action != null && message.hasOwnProperty("action")) { - var error = $root.google.spanner.executor.v1.SpannerAction.verify(message.action); + var error = $root.google.spanner.executor.v1.SpannerAction.verify(message.action, long + 1); if (error) return "action." + error; } @@ -50370,16 +52341,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.SpannerAsyncActionRequest} SpannerAsyncActionRequest */ - SpannerAsyncActionRequest.fromObject = function fromObject(object) { + SpannerAsyncActionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.SpannerAsyncActionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.SpannerAsyncActionRequest(); if (object.actionId != null) message.actionId = object.actionId | 0; if (object.action != null) { if (typeof object.action !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAsyncActionRequest.action: object expected"); - message.action = $root.google.spanner.executor.v1.SpannerAction.fromObject(object.action); + message.action = $root.google.spanner.executor.v1.SpannerAction.fromObject(object.action, long + 1); } return message; }; @@ -50458,7 +52433,7 @@ function SpannerAsyncActionResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50533,9 +52508,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SpannerAsyncActionResponse.decode = function decode(reader, length, error) { + SpannerAsyncActionResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.SpannerAsyncActionResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50547,11 +52526,11 @@ break; } case 2: { - message.outcome = $root.google.spanner.executor.v1.SpannerActionOutcome.decode(reader, reader.uint32()); + message.outcome = $root.google.spanner.executor.v1.SpannerActionOutcome.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -50582,14 +52561,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SpannerAsyncActionResponse.verify = function verify(message) { + SpannerAsyncActionResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.actionId != null && message.hasOwnProperty("actionId")) if (!$util.isInteger(message.actionId)) return "actionId: integer expected"; if (message.outcome != null && message.hasOwnProperty("outcome")) { - var error = $root.google.spanner.executor.v1.SpannerActionOutcome.verify(message.outcome); + var error = $root.google.spanner.executor.v1.SpannerActionOutcome.verify(message.outcome, long + 1); if (error) return "outcome." + error; } @@ -50604,16 +52587,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.SpannerAsyncActionResponse} SpannerAsyncActionResponse */ - SpannerAsyncActionResponse.fromObject = function fromObject(object) { + SpannerAsyncActionResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.SpannerAsyncActionResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.SpannerAsyncActionResponse(); if (object.actionId != null) message.actionId = object.actionId | 0; if (object.outcome != null) { if (typeof object.outcome !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAsyncActionResponse.outcome: object expected"); - message.outcome = $root.google.spanner.executor.v1.SpannerActionOutcome.fromObject(object.outcome); + message.outcome = $root.google.spanner.executor.v1.SpannerActionOutcome.fromObject(object.outcome, long + 1); } return message; }; @@ -50710,7 +52697,7 @@ function SpannerAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -50979,9 +52966,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SpannerAction.decode = function decode(reader, length, error) { + SpannerAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.SpannerAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -50993,83 +52984,83 @@ break; } case 2: { - message.spannerOptions = $root.google.spanner.executor.v1.SpannerOptions.decode(reader, reader.uint32()); + message.spannerOptions = $root.google.spanner.executor.v1.SpannerOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.start = $root.google.spanner.executor.v1.StartTransactionAction.decode(reader, reader.uint32()); + message.start = $root.google.spanner.executor.v1.StartTransactionAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.finish = $root.google.spanner.executor.v1.FinishTransactionAction.decode(reader, reader.uint32()); + message.finish = $root.google.spanner.executor.v1.FinishTransactionAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 20: { - message.read = $root.google.spanner.executor.v1.ReadAction.decode(reader, reader.uint32()); + message.read = $root.google.spanner.executor.v1.ReadAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 21: { - message.query = $root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32()); + message.query = $root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.mutation = $root.google.spanner.executor.v1.MutationAction.decode(reader, reader.uint32()); + message.mutation = $root.google.spanner.executor.v1.MutationAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.dml = $root.google.spanner.executor.v1.DmlAction.decode(reader, reader.uint32()); + message.dml = $root.google.spanner.executor.v1.DmlAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.batchDml = $root.google.spanner.executor.v1.BatchDmlAction.decode(reader, reader.uint32()); + message.batchDml = $root.google.spanner.executor.v1.BatchDmlAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.write = $root.google.spanner.executor.v1.WriteMutationsAction.decode(reader, reader.uint32()); + message.write = $root.google.spanner.executor.v1.WriteMutationsAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 27: { - message.partitionedUpdate = $root.google.spanner.executor.v1.PartitionedUpdateAction.decode(reader, reader.uint32()); + message.partitionedUpdate = $root.google.spanner.executor.v1.PartitionedUpdateAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 30: { - message.admin = $root.google.spanner.executor.v1.AdminAction.decode(reader, reader.uint32()); + message.admin = $root.google.spanner.executor.v1.AdminAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 40: { - message.startBatchTxn = $root.google.spanner.executor.v1.StartBatchTransactionAction.decode(reader, reader.uint32()); + message.startBatchTxn = $root.google.spanner.executor.v1.StartBatchTransactionAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 41: { - message.closeBatchTxn = $root.google.spanner.executor.v1.CloseBatchTransactionAction.decode(reader, reader.uint32()); + message.closeBatchTxn = $root.google.spanner.executor.v1.CloseBatchTransactionAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 42: { - message.generateDbPartitionsRead = $root.google.spanner.executor.v1.GenerateDbPartitionsForReadAction.decode(reader, reader.uint32()); + message.generateDbPartitionsRead = $root.google.spanner.executor.v1.GenerateDbPartitionsForReadAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 43: { - message.generateDbPartitionsQuery = $root.google.spanner.executor.v1.GenerateDbPartitionsForQueryAction.decode(reader, reader.uint32()); + message.generateDbPartitionsQuery = $root.google.spanner.executor.v1.GenerateDbPartitionsForQueryAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 44: { - message.executePartition = $root.google.spanner.executor.v1.ExecutePartitionAction.decode(reader, reader.uint32()); + message.executePartition = $root.google.spanner.executor.v1.ExecutePartitionAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 50: { - message.executeChangeStreamQuery = $root.google.spanner.executor.v1.ExecuteChangeStreamQuery.decode(reader, reader.uint32()); + message.executeChangeStreamQuery = $root.google.spanner.executor.v1.ExecuteChangeStreamQuery.decode(reader, reader.uint32(), undefined, long + 1); break; } case 51: { - message.queryCancellation = $root.google.spanner.executor.v1.QueryCancellationAction.decode(reader, reader.uint32()); + message.queryCancellation = $root.google.spanner.executor.v1.QueryCancellationAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 52: { - message.adaptMessage = $root.google.spanner.executor.v1.AdaptMessageAction.decode(reader, reader.uint32()); + message.adaptMessage = $root.google.spanner.executor.v1.AdaptMessageAction.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -51100,22 +53091,26 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SpannerAction.verify = function verify(message) { + SpannerAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.databasePath != null && message.hasOwnProperty("databasePath")) if (!$util.isString(message.databasePath)) return "databasePath: string expected"; if (message.spannerOptions != null && message.hasOwnProperty("spannerOptions")) { - var error = $root.google.spanner.executor.v1.SpannerOptions.verify(message.spannerOptions); + var error = $root.google.spanner.executor.v1.SpannerOptions.verify(message.spannerOptions, long + 1); if (error) return "spannerOptions." + error; } if (message.start != null && message.hasOwnProperty("start")) { properties.action = 1; { - var error = $root.google.spanner.executor.v1.StartTransactionAction.verify(message.start); + var error = $root.google.spanner.executor.v1.StartTransactionAction.verify(message.start, long + 1); if (error) return "start." + error; } @@ -51125,7 +53120,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.FinishTransactionAction.verify(message.finish); + var error = $root.google.spanner.executor.v1.FinishTransactionAction.verify(message.finish, long + 1); if (error) return "finish." + error; } @@ -51135,7 +53130,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.ReadAction.verify(message.read); + var error = $root.google.spanner.executor.v1.ReadAction.verify(message.read, long + 1); if (error) return "read." + error; } @@ -51145,7 +53140,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.QueryAction.verify(message.query); + var error = $root.google.spanner.executor.v1.QueryAction.verify(message.query, long + 1); if (error) return "query." + error; } @@ -51155,7 +53150,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.MutationAction.verify(message.mutation); + var error = $root.google.spanner.executor.v1.MutationAction.verify(message.mutation, long + 1); if (error) return "mutation." + error; } @@ -51165,7 +53160,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.DmlAction.verify(message.dml); + var error = $root.google.spanner.executor.v1.DmlAction.verify(message.dml, long + 1); if (error) return "dml." + error; } @@ -51175,7 +53170,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.BatchDmlAction.verify(message.batchDml); + var error = $root.google.spanner.executor.v1.BatchDmlAction.verify(message.batchDml, long + 1); if (error) return "batchDml." + error; } @@ -51185,7 +53180,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.WriteMutationsAction.verify(message.write); + var error = $root.google.spanner.executor.v1.WriteMutationsAction.verify(message.write, long + 1); if (error) return "write." + error; } @@ -51195,7 +53190,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.PartitionedUpdateAction.verify(message.partitionedUpdate); + var error = $root.google.spanner.executor.v1.PartitionedUpdateAction.verify(message.partitionedUpdate, long + 1); if (error) return "partitionedUpdate." + error; } @@ -51205,7 +53200,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.AdminAction.verify(message.admin); + var error = $root.google.spanner.executor.v1.AdminAction.verify(message.admin, long + 1); if (error) return "admin." + error; } @@ -51215,7 +53210,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.StartBatchTransactionAction.verify(message.startBatchTxn); + var error = $root.google.spanner.executor.v1.StartBatchTransactionAction.verify(message.startBatchTxn, long + 1); if (error) return "startBatchTxn." + error; } @@ -51225,7 +53220,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.CloseBatchTransactionAction.verify(message.closeBatchTxn); + var error = $root.google.spanner.executor.v1.CloseBatchTransactionAction.verify(message.closeBatchTxn, long + 1); if (error) return "closeBatchTxn." + error; } @@ -51235,7 +53230,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.GenerateDbPartitionsForReadAction.verify(message.generateDbPartitionsRead); + var error = $root.google.spanner.executor.v1.GenerateDbPartitionsForReadAction.verify(message.generateDbPartitionsRead, long + 1); if (error) return "generateDbPartitionsRead." + error; } @@ -51245,7 +53240,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.GenerateDbPartitionsForQueryAction.verify(message.generateDbPartitionsQuery); + var error = $root.google.spanner.executor.v1.GenerateDbPartitionsForQueryAction.verify(message.generateDbPartitionsQuery, long + 1); if (error) return "generateDbPartitionsQuery." + error; } @@ -51255,7 +53250,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.ExecutePartitionAction.verify(message.executePartition); + var error = $root.google.spanner.executor.v1.ExecutePartitionAction.verify(message.executePartition, long + 1); if (error) return "executePartition." + error; } @@ -51265,7 +53260,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.ExecuteChangeStreamQuery.verify(message.executeChangeStreamQuery); + var error = $root.google.spanner.executor.v1.ExecuteChangeStreamQuery.verify(message.executeChangeStreamQuery, long + 1); if (error) return "executeChangeStreamQuery." + error; } @@ -51275,7 +53270,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.QueryCancellationAction.verify(message.queryCancellation); + var error = $root.google.spanner.executor.v1.QueryCancellationAction.verify(message.queryCancellation, long + 1); if (error) return "queryCancellation." + error; } @@ -51285,7 +53280,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.AdaptMessageAction.verify(message.adaptMessage); + var error = $root.google.spanner.executor.v1.AdaptMessageAction.verify(message.adaptMessage, long + 1); if (error) return "adaptMessage." + error; } @@ -51301,106 +53296,110 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.SpannerAction} SpannerAction */ - SpannerAction.fromObject = function fromObject(object) { + SpannerAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.SpannerAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.SpannerAction(); if (object.databasePath != null) message.databasePath = String(object.databasePath); if (object.spannerOptions != null) { if (typeof object.spannerOptions !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.spannerOptions: object expected"); - message.spannerOptions = $root.google.spanner.executor.v1.SpannerOptions.fromObject(object.spannerOptions); + message.spannerOptions = $root.google.spanner.executor.v1.SpannerOptions.fromObject(object.spannerOptions, long + 1); } if (object.start != null) { if (typeof object.start !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.start: object expected"); - message.start = $root.google.spanner.executor.v1.StartTransactionAction.fromObject(object.start); + message.start = $root.google.spanner.executor.v1.StartTransactionAction.fromObject(object.start, long + 1); } if (object.finish != null) { if (typeof object.finish !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.finish: object expected"); - message.finish = $root.google.spanner.executor.v1.FinishTransactionAction.fromObject(object.finish); + message.finish = $root.google.spanner.executor.v1.FinishTransactionAction.fromObject(object.finish, long + 1); } if (object.read != null) { if (typeof object.read !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.read: object expected"); - message.read = $root.google.spanner.executor.v1.ReadAction.fromObject(object.read); + message.read = $root.google.spanner.executor.v1.ReadAction.fromObject(object.read, long + 1); } if (object.query != null) { if (typeof object.query !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.query: object expected"); - message.query = $root.google.spanner.executor.v1.QueryAction.fromObject(object.query); + message.query = $root.google.spanner.executor.v1.QueryAction.fromObject(object.query, long + 1); } if (object.mutation != null) { if (typeof object.mutation !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.mutation: object expected"); - message.mutation = $root.google.spanner.executor.v1.MutationAction.fromObject(object.mutation); + message.mutation = $root.google.spanner.executor.v1.MutationAction.fromObject(object.mutation, long + 1); } if (object.dml != null) { if (typeof object.dml !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.dml: object expected"); - message.dml = $root.google.spanner.executor.v1.DmlAction.fromObject(object.dml); + message.dml = $root.google.spanner.executor.v1.DmlAction.fromObject(object.dml, long + 1); } if (object.batchDml != null) { if (typeof object.batchDml !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.batchDml: object expected"); - message.batchDml = $root.google.spanner.executor.v1.BatchDmlAction.fromObject(object.batchDml); + message.batchDml = $root.google.spanner.executor.v1.BatchDmlAction.fromObject(object.batchDml, long + 1); } if (object.write != null) { if (typeof object.write !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.write: object expected"); - message.write = $root.google.spanner.executor.v1.WriteMutationsAction.fromObject(object.write); + message.write = $root.google.spanner.executor.v1.WriteMutationsAction.fromObject(object.write, long + 1); } if (object.partitionedUpdate != null) { if (typeof object.partitionedUpdate !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.partitionedUpdate: object expected"); - message.partitionedUpdate = $root.google.spanner.executor.v1.PartitionedUpdateAction.fromObject(object.partitionedUpdate); + message.partitionedUpdate = $root.google.spanner.executor.v1.PartitionedUpdateAction.fromObject(object.partitionedUpdate, long + 1); } if (object.admin != null) { if (typeof object.admin !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.admin: object expected"); - message.admin = $root.google.spanner.executor.v1.AdminAction.fromObject(object.admin); + message.admin = $root.google.spanner.executor.v1.AdminAction.fromObject(object.admin, long + 1); } if (object.startBatchTxn != null) { if (typeof object.startBatchTxn !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.startBatchTxn: object expected"); - message.startBatchTxn = $root.google.spanner.executor.v1.StartBatchTransactionAction.fromObject(object.startBatchTxn); + message.startBatchTxn = $root.google.spanner.executor.v1.StartBatchTransactionAction.fromObject(object.startBatchTxn, long + 1); } if (object.closeBatchTxn != null) { if (typeof object.closeBatchTxn !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.closeBatchTxn: object expected"); - message.closeBatchTxn = $root.google.spanner.executor.v1.CloseBatchTransactionAction.fromObject(object.closeBatchTxn); + message.closeBatchTxn = $root.google.spanner.executor.v1.CloseBatchTransactionAction.fromObject(object.closeBatchTxn, long + 1); } if (object.generateDbPartitionsRead != null) { if (typeof object.generateDbPartitionsRead !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.generateDbPartitionsRead: object expected"); - message.generateDbPartitionsRead = $root.google.spanner.executor.v1.GenerateDbPartitionsForReadAction.fromObject(object.generateDbPartitionsRead); + message.generateDbPartitionsRead = $root.google.spanner.executor.v1.GenerateDbPartitionsForReadAction.fromObject(object.generateDbPartitionsRead, long + 1); } if (object.generateDbPartitionsQuery != null) { if (typeof object.generateDbPartitionsQuery !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.generateDbPartitionsQuery: object expected"); - message.generateDbPartitionsQuery = $root.google.spanner.executor.v1.GenerateDbPartitionsForQueryAction.fromObject(object.generateDbPartitionsQuery); + message.generateDbPartitionsQuery = $root.google.spanner.executor.v1.GenerateDbPartitionsForQueryAction.fromObject(object.generateDbPartitionsQuery, long + 1); } if (object.executePartition != null) { if (typeof object.executePartition !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.executePartition: object expected"); - message.executePartition = $root.google.spanner.executor.v1.ExecutePartitionAction.fromObject(object.executePartition); + message.executePartition = $root.google.spanner.executor.v1.ExecutePartitionAction.fromObject(object.executePartition, long + 1); } if (object.executeChangeStreamQuery != null) { if (typeof object.executeChangeStreamQuery !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.executeChangeStreamQuery: object expected"); - message.executeChangeStreamQuery = $root.google.spanner.executor.v1.ExecuteChangeStreamQuery.fromObject(object.executeChangeStreamQuery); + message.executeChangeStreamQuery = $root.google.spanner.executor.v1.ExecuteChangeStreamQuery.fromObject(object.executeChangeStreamQuery, long + 1); } if (object.queryCancellation != null) { if (typeof object.queryCancellation !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.queryCancellation: object expected"); - message.queryCancellation = $root.google.spanner.executor.v1.QueryCancellationAction.fromObject(object.queryCancellation); + message.queryCancellation = $root.google.spanner.executor.v1.QueryCancellationAction.fromObject(object.queryCancellation, long + 1); } if (object.adaptMessage != null) { if (typeof object.adaptMessage !== "object") throw TypeError(".google.spanner.executor.v1.SpannerAction.adaptMessage: object expected"); - message.adaptMessage = $root.google.spanner.executor.v1.AdaptMessageAction.fromObject(object.adaptMessage); + message.adaptMessage = $root.google.spanner.executor.v1.AdaptMessageAction.fromObject(object.adaptMessage, long + 1); } return message; }; @@ -51573,7 +53572,7 @@ this.column = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -51688,9 +53687,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReadAction.decode = function decode(reader, length, error) { + ReadAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ReadAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -51712,7 +53715,7 @@ break; } case 4: { - message.keys = $root.google.spanner.executor.v1.KeySet.decode(reader, reader.uint32()); + message.keys = $root.google.spanner.executor.v1.KeySet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -51720,7 +53723,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -51751,9 +53754,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReadAction.verify = function verify(message) { + ReadAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.table != null && message.hasOwnProperty("table")) if (!$util.isString(message.table)) @@ -51771,7 +53778,7 @@ return "column: string[] expected"; } if (message.keys != null && message.hasOwnProperty("keys")) { - var error = $root.google.spanner.executor.v1.KeySet.verify(message.keys); + var error = $root.google.spanner.executor.v1.KeySet.verify(message.keys, long + 1); if (error) return "keys." + error; } @@ -51789,9 +53796,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ReadAction} ReadAction */ - ReadAction.fromObject = function fromObject(object) { + ReadAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ReadAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ReadAction(); if (object.table != null) message.table = String(object.table); @@ -51807,7 +53818,7 @@ if (object.keys != null) { if (typeof object.keys !== "object") throw TypeError(".google.spanner.executor.v1.ReadAction.keys: object expected"); - message.keys = $root.google.spanner.executor.v1.KeySet.fromObject(object.keys); + message.keys = $root.google.spanner.executor.v1.KeySet.fromObject(object.keys, long + 1); } if (object.limit != null) message.limit = object.limit | 0; @@ -51904,7 +53915,7 @@ this.params = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -51980,9 +53991,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QueryAction.decode = function decode(reader, length, error) { + QueryAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.QueryAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -51996,11 +54011,11 @@ case 2: { if (!(message.params && message.params.length)) message.params = []; - message.params.push($root.google.spanner.executor.v1.QueryAction.Parameter.decode(reader, reader.uint32())); + message.params.push($root.google.spanner.executor.v1.QueryAction.Parameter.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52031,9 +54046,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - QueryAction.verify = function verify(message) { + QueryAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sql != null && message.hasOwnProperty("sql")) if (!$util.isString(message.sql)) return "sql: string expected"; @@ -52041,7 +54060,7 @@ if (!Array.isArray(message.params)) return "params: array expected"; for (var i = 0; i < message.params.length; ++i) { - var error = $root.google.spanner.executor.v1.QueryAction.Parameter.verify(message.params[i]); + var error = $root.google.spanner.executor.v1.QueryAction.Parameter.verify(message.params[i], long + 1); if (error) return "params." + error; } @@ -52057,9 +54076,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.QueryAction} QueryAction */ - QueryAction.fromObject = function fromObject(object) { + QueryAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.QueryAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.QueryAction(); if (object.sql != null) message.sql = String(object.sql); @@ -52070,7 +54093,7 @@ for (var i = 0; i < object.params.length; ++i) { if (typeof object.params[i] !== "object") throw TypeError(".google.spanner.executor.v1.QueryAction.params: object expected"); - message.params[i] = $root.google.spanner.executor.v1.QueryAction.Parameter.fromObject(object.params[i]); + message.params[i] = $root.google.spanner.executor.v1.QueryAction.Parameter.fromObject(object.params[i], long + 1); } } return message; @@ -52151,7 +54174,7 @@ function Parameter(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -52236,9 +54259,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Parameter.decode = function decode(reader, length, error) { + Parameter.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.QueryAction.Parameter(); while (reader.pos < end) { var tag = reader.uint32(); @@ -52250,15 +54277,15 @@ break; } case 2: { - message.type = $root.google.spanner.v1.Type.decode(reader, reader.uint32()); + message.type = $root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.value = $root.google.spanner.executor.v1.Value.decode(reader, reader.uint32()); + message.value = $root.google.spanner.executor.v1.Value.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52289,19 +54316,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Parameter.verify = function verify(message) { + Parameter.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.type != null && message.hasOwnProperty("type")) { - var error = $root.google.spanner.v1.Type.verify(message.type); + var error = $root.google.spanner.v1.Type.verify(message.type, long + 1); if (error) return "type." + error; } if (message.value != null && message.hasOwnProperty("value")) { - var error = $root.google.spanner.executor.v1.Value.verify(message.value); + var error = $root.google.spanner.executor.v1.Value.verify(message.value, long + 1); if (error) return "value." + error; } @@ -52316,21 +54347,25 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.QueryAction.Parameter} Parameter */ - Parameter.fromObject = function fromObject(object) { + Parameter.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.QueryAction.Parameter) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.QueryAction.Parameter(); if (object.name != null) message.name = String(object.name); if (object.type != null) { if (typeof object.type !== "object") throw TypeError(".google.spanner.executor.v1.QueryAction.Parameter.type: object expected"); - message.type = $root.google.spanner.v1.Type.fromObject(object.type); + message.type = $root.google.spanner.v1.Type.fromObject(object.type, long + 1); } if (object.value != null) { if (typeof object.value !== "object") throw TypeError(".google.spanner.executor.v1.QueryAction.Parameter.value: object expected"); - message.value = $root.google.spanner.executor.v1.Value.fromObject(object.value); + message.value = $root.google.spanner.executor.v1.Value.fromObject(object.value, long + 1); } return message; }; @@ -52416,7 +54451,7 @@ function DmlAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -52516,9 +54551,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DmlAction.decode = function decode(reader, length, error) { + DmlAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.DmlAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -52526,7 +54565,7 @@ break; switch (tag >>> 3) { case 1: { - message.update = $root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32()); + message.update = $root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -52538,7 +54577,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52569,12 +54608,16 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DmlAction.verify = function verify(message) { + DmlAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.update != null && message.hasOwnProperty("update")) { - var error = $root.google.spanner.executor.v1.QueryAction.verify(message.update); + var error = $root.google.spanner.executor.v1.QueryAction.verify(message.update, long + 1); if (error) return "update." + error; } @@ -52599,14 +54642,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.DmlAction} DmlAction */ - DmlAction.fromObject = function fromObject(object) { + DmlAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.DmlAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.DmlAction(); if (object.update != null) { if (typeof object.update !== "object") throw TypeError(".google.spanner.executor.v1.DmlAction.update: object expected"); - message.update = $root.google.spanner.executor.v1.QueryAction.fromObject(object.update); + message.update = $root.google.spanner.executor.v1.QueryAction.fromObject(object.update, long + 1); } if (object.autocommitIfSupported != null) message.autocommitIfSupported = Boolean(object.autocommitIfSupported); @@ -52696,7 +54743,7 @@ this.updates = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -52781,9 +54828,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchDmlAction.decode = function decode(reader, length, error) { + BatchDmlAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.BatchDmlAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -52793,7 +54844,7 @@ case 1: { if (!(message.updates && message.updates.length)) message.updates = []; - message.updates.push($root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32())); + message.updates.push($root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -52801,7 +54852,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -52832,15 +54883,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchDmlAction.verify = function verify(message) { + BatchDmlAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.updates != null && message.hasOwnProperty("updates")) { if (!Array.isArray(message.updates)) return "updates: array expected"; for (var i = 0; i < message.updates.length; ++i) { - var error = $root.google.spanner.executor.v1.QueryAction.verify(message.updates[i]); + var error = $root.google.spanner.executor.v1.QueryAction.verify(message.updates[i], long + 1); if (error) return "updates." + error; } @@ -52861,9 +54916,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.BatchDmlAction} BatchDmlAction */ - BatchDmlAction.fromObject = function fromObject(object) { + BatchDmlAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.BatchDmlAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.BatchDmlAction(); if (object.updates) { if (!Array.isArray(object.updates)) @@ -52872,7 +54931,7 @@ for (var i = 0; i < object.updates.length; ++i) { if (typeof object.updates[i] !== "object") throw TypeError(".google.spanner.executor.v1.BatchDmlAction.updates: object expected"); - message.updates[i] = $root.google.spanner.executor.v1.QueryAction.fromObject(object.updates[i]); + message.updates[i] = $root.google.spanner.executor.v1.QueryAction.fromObject(object.updates[i], long + 1); } } if (object.lastStatements != null) @@ -52968,7 +55027,7 @@ function Value(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53163,9 +55222,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Value.decode = function decode(reader, length, error) { + Value.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.Value(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53197,11 +55260,11 @@ break; } case 7: { - message.structValue = $root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32()); + message.structValue = $root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.timestampValue = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.timestampValue = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { @@ -53213,15 +55276,15 @@ break; } case 11: { - message.arrayValue = $root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32()); + message.arrayValue = $root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { - message.arrayType = $root.google.spanner.v1.Type.decode(reader, reader.uint32()); + message.arrayType = $root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -53252,9 +55315,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Value.verify = function verify(message) { + Value.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.isNull != null && message.hasOwnProperty("isNull")) { properties.valueType = 1; @@ -53301,7 +55368,7 @@ return "valueType: multiple values"; properties.valueType = 1; { - var error = $root.google.spanner.executor.v1.ValueList.verify(message.structValue); + var error = $root.google.spanner.executor.v1.ValueList.verify(message.structValue, long + 1); if (error) return "structValue." + error; } @@ -53311,7 +55378,7 @@ return "valueType: multiple values"; properties.valueType = 1; { - var error = $root.google.protobuf.Timestamp.verify(message.timestampValue); + var error = $root.google.protobuf.Timestamp.verify(message.timestampValue, long + 1); if (error) return "timestampValue." + error; } @@ -53335,7 +55402,7 @@ return "valueType: multiple values"; properties.valueType = 1; { - var error = $root.google.spanner.executor.v1.ValueList.verify(message.arrayValue); + var error = $root.google.spanner.executor.v1.ValueList.verify(message.arrayValue, long + 1); if (error) return "arrayValue." + error; } @@ -53343,7 +55410,7 @@ if (message.arrayType != null && message.hasOwnProperty("arrayType")) { properties._arrayType = 1; { - var error = $root.google.spanner.v1.Type.verify(message.arrayType); + var error = $root.google.spanner.v1.Type.verify(message.arrayType, long + 1); if (error) return "arrayType." + error; } @@ -53359,9 +55426,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.Value} Value */ - Value.fromObject = function fromObject(object) { + Value.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.Value) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.Value(); if (object.isNull != null) message.isNull = Boolean(object.isNull); @@ -53388,12 +55459,12 @@ if (object.structValue != null) { if (typeof object.structValue !== "object") throw TypeError(".google.spanner.executor.v1.Value.structValue: object expected"); - message.structValue = $root.google.spanner.executor.v1.ValueList.fromObject(object.structValue); + message.structValue = $root.google.spanner.executor.v1.ValueList.fromObject(object.structValue, long + 1); } if (object.timestampValue != null) { if (typeof object.timestampValue !== "object") throw TypeError(".google.spanner.executor.v1.Value.timestampValue: object expected"); - message.timestampValue = $root.google.protobuf.Timestamp.fromObject(object.timestampValue); + message.timestampValue = $root.google.protobuf.Timestamp.fromObject(object.timestampValue, long + 1); } if (object.dateDaysValue != null) message.dateDaysValue = object.dateDaysValue | 0; @@ -53402,12 +55473,12 @@ if (object.arrayValue != null) { if (typeof object.arrayValue !== "object") throw TypeError(".google.spanner.executor.v1.Value.arrayValue: object expected"); - message.arrayValue = $root.google.spanner.executor.v1.ValueList.fromObject(object.arrayValue); + message.arrayValue = $root.google.spanner.executor.v1.ValueList.fromObject(object.arrayValue, long + 1); } if (object.arrayType != null) { if (typeof object.arrayType !== "object") throw TypeError(".google.spanner.executor.v1.Value.arrayType: object expected"); - message.arrayType = $root.google.spanner.v1.Type.fromObject(object.arrayType); + message.arrayType = $root.google.spanner.v1.Type.fromObject(object.arrayType, long + 1); } return message; }; @@ -53542,7 +55613,7 @@ function KeyRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53636,9 +55707,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeyRange.decode = function decode(reader, length, error) { + KeyRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.KeyRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53646,11 +55721,11 @@ break; switch (tag >>> 3) { case 1: { - message.start = $root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32()); + message.start = $root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.limit = $root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32()); + message.limit = $root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -53658,7 +55733,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -53689,17 +55764,21 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - KeyRange.verify = function verify(message) { + KeyRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.start != null && message.hasOwnProperty("start")) { - var error = $root.google.spanner.executor.v1.ValueList.verify(message.start); + var error = $root.google.spanner.executor.v1.ValueList.verify(message.start, long + 1); if (error) return "start." + error; } if (message.limit != null && message.hasOwnProperty("limit")) { - var error = $root.google.spanner.executor.v1.ValueList.verify(message.limit); + var error = $root.google.spanner.executor.v1.ValueList.verify(message.limit, long + 1); if (error) return "limit." + error; } @@ -53727,19 +55806,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.KeyRange} KeyRange */ - KeyRange.fromObject = function fromObject(object) { + KeyRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.KeyRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.KeyRange(); if (object.start != null) { if (typeof object.start !== "object") throw TypeError(".google.spanner.executor.v1.KeyRange.start: object expected"); - message.start = $root.google.spanner.executor.v1.ValueList.fromObject(object.start); + message.start = $root.google.spanner.executor.v1.ValueList.fromObject(object.start, long + 1); } if (object.limit != null) { if (typeof object.limit !== "object") throw TypeError(".google.spanner.executor.v1.KeyRange.limit: object expected"); - message.limit = $root.google.spanner.executor.v1.ValueList.fromObject(object.limit); + message.limit = $root.google.spanner.executor.v1.ValueList.fromObject(object.limit, long + 1); } switch (object.type) { default: @@ -53874,7 +55957,7 @@ this.range = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -53961,9 +56044,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeySet.decode = function decode(reader, length, error) { + KeySet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.KeySet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -53973,13 +56060,13 @@ case 1: { if (!(message.point && message.point.length)) message.point = []; - message.point.push($root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32())); + message.point.push($root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.range && message.range.length)) message.range = []; - message.range.push($root.google.spanner.executor.v1.KeyRange.decode(reader, reader.uint32())); + message.range.push($root.google.spanner.executor.v1.KeyRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -53987,7 +56074,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -54018,14 +56105,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - KeySet.verify = function verify(message) { + KeySet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.point != null && message.hasOwnProperty("point")) { if (!Array.isArray(message.point)) return "point: array expected"; for (var i = 0; i < message.point.length; ++i) { - var error = $root.google.spanner.executor.v1.ValueList.verify(message.point[i]); + var error = $root.google.spanner.executor.v1.ValueList.verify(message.point[i], long + 1); if (error) return "point." + error; } @@ -54034,7 +56125,7 @@ if (!Array.isArray(message.range)) return "range: array expected"; for (var i = 0; i < message.range.length; ++i) { - var error = $root.google.spanner.executor.v1.KeyRange.verify(message.range[i]); + var error = $root.google.spanner.executor.v1.KeyRange.verify(message.range[i], long + 1); if (error) return "range." + error; } @@ -54053,9 +56144,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.KeySet} KeySet */ - KeySet.fromObject = function fromObject(object) { + KeySet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.KeySet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.KeySet(); if (object.point) { if (!Array.isArray(object.point)) @@ -54064,7 +56159,7 @@ for (var i = 0; i < object.point.length; ++i) { if (typeof object.point[i] !== "object") throw TypeError(".google.spanner.executor.v1.KeySet.point: object expected"); - message.point[i] = $root.google.spanner.executor.v1.ValueList.fromObject(object.point[i]); + message.point[i] = $root.google.spanner.executor.v1.ValueList.fromObject(object.point[i], long + 1); } } if (object.range) { @@ -54074,7 +56169,7 @@ for (var i = 0; i < object.range.length; ++i) { if (typeof object.range[i] !== "object") throw TypeError(".google.spanner.executor.v1.KeySet.range: object expected"); - message.range[i] = $root.google.spanner.executor.v1.KeyRange.fromObject(object.range[i]); + message.range[i] = $root.google.spanner.executor.v1.KeyRange.fromObject(object.range[i], long + 1); } } if (object.all != null) @@ -54166,7 +56261,7 @@ this.value = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -54232,9 +56327,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ValueList.decode = function decode(reader, length, error) { + ValueList.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ValueList(); while (reader.pos < end) { var tag = reader.uint32(); @@ -54244,11 +56343,11 @@ case 1: { if (!(message.value && message.value.length)) message.value = []; - message.value.push($root.google.spanner.executor.v1.Value.decode(reader, reader.uint32())); + message.value.push($root.google.spanner.executor.v1.Value.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -54279,14 +56378,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ValueList.verify = function verify(message) { + ValueList.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.value != null && message.hasOwnProperty("value")) { if (!Array.isArray(message.value)) return "value: array expected"; for (var i = 0; i < message.value.length; ++i) { - var error = $root.google.spanner.executor.v1.Value.verify(message.value[i]); + var error = $root.google.spanner.executor.v1.Value.verify(message.value[i], long + 1); if (error) return "value." + error; } @@ -54302,9 +56405,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ValueList} ValueList */ - ValueList.fromObject = function fromObject(object) { + ValueList.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ValueList) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ValueList(); if (object.value) { if (!Array.isArray(object.value)) @@ -54313,7 +56420,7 @@ for (var i = 0; i < object.value.length; ++i) { if (typeof object.value[i] !== "object") throw TypeError(".google.spanner.executor.v1.ValueList.value: object expected"); - message.value[i] = $root.google.spanner.executor.v1.Value.fromObject(object.value[i]); + message.value[i] = $root.google.spanner.executor.v1.Value.fromObject(object.value[i], long + 1); } } return message; @@ -54392,7 +56499,7 @@ this.mod = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -54458,9 +56565,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutationAction.decode = function decode(reader, length, error) { + MutationAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.MutationAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -54470,11 +56581,11 @@ case 1: { if (!(message.mod && message.mod.length)) message.mod = []; - message.mod.push($root.google.spanner.executor.v1.MutationAction.Mod.decode(reader, reader.uint32())); + message.mod.push($root.google.spanner.executor.v1.MutationAction.Mod.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -54505,14 +56616,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MutationAction.verify = function verify(message) { + MutationAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.mod != null && message.hasOwnProperty("mod")) { if (!Array.isArray(message.mod)) return "mod: array expected"; for (var i = 0; i < message.mod.length; ++i) { - var error = $root.google.spanner.executor.v1.MutationAction.Mod.verify(message.mod[i]); + var error = $root.google.spanner.executor.v1.MutationAction.Mod.verify(message.mod[i], long + 1); if (error) return "mod." + error; } @@ -54528,9 +56643,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.MutationAction} MutationAction */ - MutationAction.fromObject = function fromObject(object) { + MutationAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.MutationAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.MutationAction(); if (object.mod) { if (!Array.isArray(object.mod)) @@ -54539,7 +56658,7 @@ for (var i = 0; i < object.mod.length; ++i) { if (typeof object.mod[i] !== "object") throw TypeError(".google.spanner.executor.v1.MutationAction.mod: object expected"); - message.mod[i] = $root.google.spanner.executor.v1.MutationAction.Mod.fromObject(object.mod[i]); + message.mod[i] = $root.google.spanner.executor.v1.MutationAction.Mod.fromObject(object.mod[i], long + 1); } } return message; @@ -54619,7 +56738,7 @@ this.values = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -54707,9 +56826,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - InsertArgs.decode = function decode(reader, length, error) { + InsertArgs.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.MutationAction.InsertArgs(); while (reader.pos < end) { var tag = reader.uint32(); @@ -54725,17 +56848,17 @@ case 2: { if (!(message.type && message.type.length)) message.type = []; - message.type.push($root.google.spanner.v1.Type.decode(reader, reader.uint32())); + message.type.push($root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.values && message.values.length)) message.values = []; - message.values.push($root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32())); + message.values.push($root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -54766,9 +56889,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - InsertArgs.verify = function verify(message) { + InsertArgs.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.column != null && message.hasOwnProperty("column")) { if (!Array.isArray(message.column)) return "column: array expected"; @@ -54780,7 +56907,7 @@ if (!Array.isArray(message.type)) return "type: array expected"; for (var i = 0; i < message.type.length; ++i) { - var error = $root.google.spanner.v1.Type.verify(message.type[i]); + var error = $root.google.spanner.v1.Type.verify(message.type[i], long + 1); if (error) return "type." + error; } @@ -54789,7 +56916,7 @@ if (!Array.isArray(message.values)) return "values: array expected"; for (var i = 0; i < message.values.length; ++i) { - var error = $root.google.spanner.executor.v1.ValueList.verify(message.values[i]); + var error = $root.google.spanner.executor.v1.ValueList.verify(message.values[i], long + 1); if (error) return "values." + error; } @@ -54805,9 +56932,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.MutationAction.InsertArgs} InsertArgs */ - InsertArgs.fromObject = function fromObject(object) { + InsertArgs.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.MutationAction.InsertArgs) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.MutationAction.InsertArgs(); if (object.column) { if (!Array.isArray(object.column)) @@ -54823,7 +56954,7 @@ for (var i = 0; i < object.type.length; ++i) { if (typeof object.type[i] !== "object") throw TypeError(".google.spanner.executor.v1.MutationAction.InsertArgs.type: object expected"); - message.type[i] = $root.google.spanner.v1.Type.fromObject(object.type[i]); + message.type[i] = $root.google.spanner.v1.Type.fromObject(object.type[i], long + 1); } } if (object.values) { @@ -54833,7 +56964,7 @@ for (var i = 0; i < object.values.length; ++i) { if (typeof object.values[i] !== "object") throw TypeError(".google.spanner.executor.v1.MutationAction.InsertArgs.values: object expected"); - message.values[i] = $root.google.spanner.executor.v1.ValueList.fromObject(object.values[i]); + message.values[i] = $root.google.spanner.executor.v1.ValueList.fromObject(object.values[i], long + 1); } } return message; @@ -54929,7 +57060,7 @@ this.values = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55017,9 +57148,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateArgs.decode = function decode(reader, length, error) { + UpdateArgs.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.MutationAction.UpdateArgs(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55035,17 +57170,17 @@ case 2: { if (!(message.type && message.type.length)) message.type = []; - message.type.push($root.google.spanner.v1.Type.decode(reader, reader.uint32())); + message.type.push($root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.values && message.values.length)) message.values = []; - message.values.push($root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32())); + message.values.push($root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55076,9 +57211,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateArgs.verify = function verify(message) { + UpdateArgs.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.column != null && message.hasOwnProperty("column")) { if (!Array.isArray(message.column)) return "column: array expected"; @@ -55090,7 +57229,7 @@ if (!Array.isArray(message.type)) return "type: array expected"; for (var i = 0; i < message.type.length; ++i) { - var error = $root.google.spanner.v1.Type.verify(message.type[i]); + var error = $root.google.spanner.v1.Type.verify(message.type[i], long + 1); if (error) return "type." + error; } @@ -55099,7 +57238,7 @@ if (!Array.isArray(message.values)) return "values: array expected"; for (var i = 0; i < message.values.length; ++i) { - var error = $root.google.spanner.executor.v1.ValueList.verify(message.values[i]); + var error = $root.google.spanner.executor.v1.ValueList.verify(message.values[i], long + 1); if (error) return "values." + error; } @@ -55115,9 +57254,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.MutationAction.UpdateArgs} UpdateArgs */ - UpdateArgs.fromObject = function fromObject(object) { + UpdateArgs.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.MutationAction.UpdateArgs) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.MutationAction.UpdateArgs(); if (object.column) { if (!Array.isArray(object.column)) @@ -55133,7 +57276,7 @@ for (var i = 0; i < object.type.length; ++i) { if (typeof object.type[i] !== "object") throw TypeError(".google.spanner.executor.v1.MutationAction.UpdateArgs.type: object expected"); - message.type[i] = $root.google.spanner.v1.Type.fromObject(object.type[i]); + message.type[i] = $root.google.spanner.v1.Type.fromObject(object.type[i], long + 1); } } if (object.values) { @@ -55143,7 +57286,7 @@ for (var i = 0; i < object.values.length; ++i) { if (typeof object.values[i] !== "object") throw TypeError(".google.spanner.executor.v1.MutationAction.UpdateArgs.values: object expected"); - message.values[i] = $root.google.spanner.executor.v1.ValueList.fromObject(object.values[i]); + message.values[i] = $root.google.spanner.executor.v1.ValueList.fromObject(object.values[i], long + 1); } } return message; @@ -55239,7 +57382,7 @@ function Mod(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55354,9 +57497,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Mod.decode = function decode(reader, length, error) { + Mod.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.MutationAction.Mod(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55368,27 +57515,27 @@ break; } case 2: { - message.insert = $root.google.spanner.executor.v1.MutationAction.InsertArgs.decode(reader, reader.uint32()); + message.insert = $root.google.spanner.executor.v1.MutationAction.InsertArgs.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.update = $root.google.spanner.executor.v1.MutationAction.UpdateArgs.decode(reader, reader.uint32()); + message.update = $root.google.spanner.executor.v1.MutationAction.UpdateArgs.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.insertOrUpdate = $root.google.spanner.executor.v1.MutationAction.InsertArgs.decode(reader, reader.uint32()); + message.insertOrUpdate = $root.google.spanner.executor.v1.MutationAction.InsertArgs.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.replace = $root.google.spanner.executor.v1.MutationAction.InsertArgs.decode(reader, reader.uint32()); + message.replace = $root.google.spanner.executor.v1.MutationAction.InsertArgs.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.deleteKeys = $root.google.spanner.executor.v1.KeySet.decode(reader, reader.uint32()); + message.deleteKeys = $root.google.spanner.executor.v1.KeySet.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55419,34 +57566,38 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Mod.verify = function verify(message) { + Mod.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.table != null && message.hasOwnProperty("table")) if (!$util.isString(message.table)) return "table: string expected"; if (message.insert != null && message.hasOwnProperty("insert")) { - var error = $root.google.spanner.executor.v1.MutationAction.InsertArgs.verify(message.insert); + var error = $root.google.spanner.executor.v1.MutationAction.InsertArgs.verify(message.insert, long + 1); if (error) return "insert." + error; } if (message.update != null && message.hasOwnProperty("update")) { - var error = $root.google.spanner.executor.v1.MutationAction.UpdateArgs.verify(message.update); + var error = $root.google.spanner.executor.v1.MutationAction.UpdateArgs.verify(message.update, long + 1); if (error) return "update." + error; } if (message.insertOrUpdate != null && message.hasOwnProperty("insertOrUpdate")) { - var error = $root.google.spanner.executor.v1.MutationAction.InsertArgs.verify(message.insertOrUpdate); + var error = $root.google.spanner.executor.v1.MutationAction.InsertArgs.verify(message.insertOrUpdate, long + 1); if (error) return "insertOrUpdate." + error; } if (message.replace != null && message.hasOwnProperty("replace")) { - var error = $root.google.spanner.executor.v1.MutationAction.InsertArgs.verify(message.replace); + var error = $root.google.spanner.executor.v1.MutationAction.InsertArgs.verify(message.replace, long + 1); if (error) return "replace." + error; } if (message.deleteKeys != null && message.hasOwnProperty("deleteKeys")) { - var error = $root.google.spanner.executor.v1.KeySet.verify(message.deleteKeys); + var error = $root.google.spanner.executor.v1.KeySet.verify(message.deleteKeys, long + 1); if (error) return "deleteKeys." + error; } @@ -55461,36 +57612,40 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.MutationAction.Mod} Mod */ - Mod.fromObject = function fromObject(object) { + Mod.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.MutationAction.Mod) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.MutationAction.Mod(); if (object.table != null) message.table = String(object.table); if (object.insert != null) { if (typeof object.insert !== "object") throw TypeError(".google.spanner.executor.v1.MutationAction.Mod.insert: object expected"); - message.insert = $root.google.spanner.executor.v1.MutationAction.InsertArgs.fromObject(object.insert); + message.insert = $root.google.spanner.executor.v1.MutationAction.InsertArgs.fromObject(object.insert, long + 1); } if (object.update != null) { if (typeof object.update !== "object") throw TypeError(".google.spanner.executor.v1.MutationAction.Mod.update: object expected"); - message.update = $root.google.spanner.executor.v1.MutationAction.UpdateArgs.fromObject(object.update); + message.update = $root.google.spanner.executor.v1.MutationAction.UpdateArgs.fromObject(object.update, long + 1); } if (object.insertOrUpdate != null) { if (typeof object.insertOrUpdate !== "object") throw TypeError(".google.spanner.executor.v1.MutationAction.Mod.insertOrUpdate: object expected"); - message.insertOrUpdate = $root.google.spanner.executor.v1.MutationAction.InsertArgs.fromObject(object.insertOrUpdate); + message.insertOrUpdate = $root.google.spanner.executor.v1.MutationAction.InsertArgs.fromObject(object.insertOrUpdate, long + 1); } if (object.replace != null) { if (typeof object.replace !== "object") throw TypeError(".google.spanner.executor.v1.MutationAction.Mod.replace: object expected"); - message.replace = $root.google.spanner.executor.v1.MutationAction.InsertArgs.fromObject(object.replace); + message.replace = $root.google.spanner.executor.v1.MutationAction.InsertArgs.fromObject(object.replace, long + 1); } if (object.deleteKeys != null) { if (typeof object.deleteKeys !== "object") throw TypeError(".google.spanner.executor.v1.MutationAction.Mod.deleteKeys: object expected"); - message.deleteKeys = $root.google.spanner.executor.v1.KeySet.fromObject(object.deleteKeys); + message.deleteKeys = $root.google.spanner.executor.v1.KeySet.fromObject(object.deleteKeys, long + 1); } return message; }; @@ -55583,7 +57738,7 @@ function WriteMutationsAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55648,9 +57803,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WriteMutationsAction.decode = function decode(reader, length, error) { + WriteMutationsAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.WriteMutationsAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55658,11 +57817,11 @@ break; switch (tag >>> 3) { case 1: { - message.mutation = $root.google.spanner.executor.v1.MutationAction.decode(reader, reader.uint32()); + message.mutation = $root.google.spanner.executor.v1.MutationAction.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55693,11 +57852,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WriteMutationsAction.verify = function verify(message) { + WriteMutationsAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.mutation != null && message.hasOwnProperty("mutation")) { - var error = $root.google.spanner.executor.v1.MutationAction.verify(message.mutation); + var error = $root.google.spanner.executor.v1.MutationAction.verify(message.mutation, long + 1); if (error) return "mutation." + error; } @@ -55712,14 +57875,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.WriteMutationsAction} WriteMutationsAction */ - WriteMutationsAction.fromObject = function fromObject(object) { + WriteMutationsAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.WriteMutationsAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.WriteMutationsAction(); if (object.mutation != null) { if (typeof object.mutation !== "object") throw TypeError(".google.spanner.executor.v1.WriteMutationsAction.mutation: object expected"); - message.mutation = $root.google.spanner.executor.v1.MutationAction.fromObject(object.mutation); + message.mutation = $root.google.spanner.executor.v1.MutationAction.fromObject(object.mutation, long + 1); } return message; }; @@ -55794,7 +57961,7 @@ function PartitionedUpdateAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -55878,9 +58045,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartitionedUpdateAction.decode = function decode(reader, length, error) { + PartitionedUpdateAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.PartitionedUpdateAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -55888,15 +58059,15 @@ break; switch (tag >>> 3) { case 1: { - message.options = $root.google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptions.decode(reader, reader.uint32()); + message.options = $root.google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.update = $root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32()); + message.update = $root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -55927,20 +58098,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PartitionedUpdateAction.verify = function verify(message) { + PartitionedUpdateAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.options != null && message.hasOwnProperty("options")) { properties._options = 1; { - var error = $root.google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptions.verify(message.options); + var error = $root.google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptions.verify(message.options, long + 1); if (error) return "options." + error; } } if (message.update != null && message.hasOwnProperty("update")) { - var error = $root.google.spanner.executor.v1.QueryAction.verify(message.update); + var error = $root.google.spanner.executor.v1.QueryAction.verify(message.update, long + 1); if (error) return "update." + error; } @@ -55955,19 +58130,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.PartitionedUpdateAction} PartitionedUpdateAction */ - PartitionedUpdateAction.fromObject = function fromObject(object) { + PartitionedUpdateAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.PartitionedUpdateAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.PartitionedUpdateAction(); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.spanner.executor.v1.PartitionedUpdateAction.options: object expected"); - message.options = $root.google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptions.fromObject(object.options); + message.options = $root.google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptions.fromObject(object.options, long + 1); } if (object.update != null) { if (typeof object.update !== "object") throw TypeError(".google.spanner.executor.v1.PartitionedUpdateAction.update: object expected"); - message.update = $root.google.spanner.executor.v1.QueryAction.fromObject(object.update); + message.update = $root.google.spanner.executor.v1.QueryAction.fromObject(object.update, long + 1); } return message; }; @@ -56044,7 +58223,7 @@ function ExecutePartitionedUpdateOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56134,9 +58313,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExecutePartitionedUpdateOptions.decode = function decode(reader, length, error) { + ExecutePartitionedUpdateOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56152,7 +58335,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56183,9 +58366,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExecutePartitionedUpdateOptions.verify = function verify(message) { + ExecutePartitionedUpdateOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.rpcPriority != null && message.hasOwnProperty("rpcPriority")) { properties._rpcPriority = 1; @@ -56215,9 +58402,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptions} ExecutePartitionedUpdateOptions */ - ExecutePartitionedUpdateOptions.fromObject = function fromObject(object) { + ExecutePartitionedUpdateOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.PartitionedUpdateAction.ExecutePartitionedUpdateOptions(); switch (object.rpcPriority) { default: @@ -56330,7 +58521,7 @@ this.table = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56441,9 +58632,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartTransactionAction.decode = function decode(reader, length, error) { + StartTransactionAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.StartTransactionAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56451,13 +58646,13 @@ break; switch (tag >>> 3) { case 1: { - message.concurrency = $root.google.spanner.executor.v1.Concurrency.decode(reader, reader.uint32()); + message.concurrency = $root.google.spanner.executor.v1.Concurrency.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { if (!(message.table && message.table.length)) message.table = []; - message.table.push($root.google.spanner.executor.v1.TableMetadata.decode(reader, reader.uint32())); + message.table.push($root.google.spanner.executor.v1.TableMetadata.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -56465,11 +58660,11 @@ break; } case 4: { - message.executionOptions = $root.google.spanner.executor.v1.TransactionExecutionOptions.decode(reader, reader.uint32()); + message.executionOptions = $root.google.spanner.executor.v1.TransactionExecutionOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56500,14 +58695,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StartTransactionAction.verify = function verify(message) { + StartTransactionAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.concurrency != null && message.hasOwnProperty("concurrency")) { properties._concurrency = 1; { - var error = $root.google.spanner.executor.v1.Concurrency.verify(message.concurrency); + var error = $root.google.spanner.executor.v1.Concurrency.verify(message.concurrency, long + 1); if (error) return "concurrency." + error; } @@ -56516,7 +58715,7 @@ if (!Array.isArray(message.table)) return "table: array expected"; for (var i = 0; i < message.table.length; ++i) { - var error = $root.google.spanner.executor.v1.TableMetadata.verify(message.table[i]); + var error = $root.google.spanner.executor.v1.TableMetadata.verify(message.table[i], long + 1); if (error) return "table." + error; } @@ -56527,7 +58726,7 @@ if (message.executionOptions != null && message.hasOwnProperty("executionOptions")) { properties._executionOptions = 1; { - var error = $root.google.spanner.executor.v1.TransactionExecutionOptions.verify(message.executionOptions); + var error = $root.google.spanner.executor.v1.TransactionExecutionOptions.verify(message.executionOptions, long + 1); if (error) return "executionOptions." + error; } @@ -56543,14 +58742,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.StartTransactionAction} StartTransactionAction */ - StartTransactionAction.fromObject = function fromObject(object) { + StartTransactionAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.StartTransactionAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.StartTransactionAction(); if (object.concurrency != null) { if (typeof object.concurrency !== "object") throw TypeError(".google.spanner.executor.v1.StartTransactionAction.concurrency: object expected"); - message.concurrency = $root.google.spanner.executor.v1.Concurrency.fromObject(object.concurrency); + message.concurrency = $root.google.spanner.executor.v1.Concurrency.fromObject(object.concurrency, long + 1); } if (object.table) { if (!Array.isArray(object.table)) @@ -56559,7 +58762,7 @@ for (var i = 0; i < object.table.length; ++i) { if (typeof object.table[i] !== "object") throw TypeError(".google.spanner.executor.v1.StartTransactionAction.table: object expected"); - message.table[i] = $root.google.spanner.executor.v1.TableMetadata.fromObject(object.table[i]); + message.table[i] = $root.google.spanner.executor.v1.TableMetadata.fromObject(object.table[i], long + 1); } } if (object.transactionSeed != null) @@ -56567,7 +58770,7 @@ if (object.executionOptions != null) { if (typeof object.executionOptions !== "object") throw TypeError(".google.spanner.executor.v1.StartTransactionAction.executionOptions: object expected"); - message.executionOptions = $root.google.spanner.executor.v1.TransactionExecutionOptions.fromObject(object.executionOptions); + message.executionOptions = $root.google.spanner.executor.v1.TransactionExecutionOptions.fromObject(object.executionOptions, long + 1); } return message; }; @@ -56666,7 +58869,7 @@ function Concurrency(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -56825,9 +59028,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Concurrency.decode = function decode(reader, length, error) { + Concurrency.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.Concurrency(); while (reader.pos < end) { var tag = reader.uint32(); @@ -56871,7 +59078,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -56902,9 +59109,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Concurrency.verify = function verify(message) { + Concurrency.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.stalenessSeconds != null && message.hasOwnProperty("stalenessSeconds")) { properties.concurrencyMode = 1; @@ -56966,9 +59177,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.Concurrency} Concurrency */ - Concurrency.fromObject = function fromObject(object) { + Concurrency.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.Concurrency) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.Concurrency(); if (object.stalenessSeconds != null) message.stalenessSeconds = Number(object.stalenessSeconds); @@ -57135,7 +59350,7 @@ this.keyColumn = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57222,9 +59437,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TableMetadata.decode = function decode(reader, length, error) { + TableMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.TableMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57238,17 +59457,17 @@ case 2: { if (!(message.column && message.column.length)) message.column = []; - message.column.push($root.google.spanner.executor.v1.ColumnMetadata.decode(reader, reader.uint32())); + message.column.push($root.google.spanner.executor.v1.ColumnMetadata.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.keyColumn && message.keyColumn.length)) message.keyColumn = []; - message.keyColumn.push($root.google.spanner.executor.v1.ColumnMetadata.decode(reader, reader.uint32())); + message.keyColumn.push($root.google.spanner.executor.v1.ColumnMetadata.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57279,9 +59498,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TableMetadata.verify = function verify(message) { + TableMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -57289,7 +59512,7 @@ if (!Array.isArray(message.column)) return "column: array expected"; for (var i = 0; i < message.column.length; ++i) { - var error = $root.google.spanner.executor.v1.ColumnMetadata.verify(message.column[i]); + var error = $root.google.spanner.executor.v1.ColumnMetadata.verify(message.column[i], long + 1); if (error) return "column." + error; } @@ -57298,7 +59521,7 @@ if (!Array.isArray(message.keyColumn)) return "keyColumn: array expected"; for (var i = 0; i < message.keyColumn.length; ++i) { - var error = $root.google.spanner.executor.v1.ColumnMetadata.verify(message.keyColumn[i]); + var error = $root.google.spanner.executor.v1.ColumnMetadata.verify(message.keyColumn[i], long + 1); if (error) return "keyColumn." + error; } @@ -57314,9 +59537,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.TableMetadata} TableMetadata */ - TableMetadata.fromObject = function fromObject(object) { + TableMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.TableMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.TableMetadata(); if (object.name != null) message.name = String(object.name); @@ -57327,7 +59554,7 @@ for (var i = 0; i < object.column.length; ++i) { if (typeof object.column[i] !== "object") throw TypeError(".google.spanner.executor.v1.TableMetadata.column: object expected"); - message.column[i] = $root.google.spanner.executor.v1.ColumnMetadata.fromObject(object.column[i]); + message.column[i] = $root.google.spanner.executor.v1.ColumnMetadata.fromObject(object.column[i], long + 1); } } if (object.keyColumn) { @@ -57337,7 +59564,7 @@ for (var i = 0; i < object.keyColumn.length; ++i) { if (typeof object.keyColumn[i] !== "object") throw TypeError(".google.spanner.executor.v1.TableMetadata.keyColumn: object expected"); - message.keyColumn[i] = $root.google.spanner.executor.v1.ColumnMetadata.fromObject(object.keyColumn[i]); + message.keyColumn[i] = $root.google.spanner.executor.v1.ColumnMetadata.fromObject(object.keyColumn[i], long + 1); } } return message; @@ -57427,7 +59654,7 @@ function ColumnMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57502,9 +59729,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColumnMetadata.decode = function decode(reader, length, error) { + ColumnMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ColumnMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57516,11 +59747,11 @@ break; } case 2: { - message.type = $root.google.spanner.v1.Type.decode(reader, reader.uint32()); + message.type = $root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57551,14 +59782,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ColumnMetadata.verify = function verify(message) { + ColumnMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.type != null && message.hasOwnProperty("type")) { - var error = $root.google.spanner.v1.Type.verify(message.type); + var error = $root.google.spanner.v1.Type.verify(message.type, long + 1); if (error) return "type." + error; } @@ -57573,16 +59808,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ColumnMetadata} ColumnMetadata */ - ColumnMetadata.fromObject = function fromObject(object) { + ColumnMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ColumnMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ColumnMetadata(); if (object.name != null) message.name = String(object.name); if (object.type != null) { if (typeof object.type !== "object") throw TypeError(".google.spanner.executor.v1.ColumnMetadata.type: object expected"); - message.type = $root.google.spanner.v1.Type.fromObject(object.type); + message.type = $root.google.spanner.v1.Type.fromObject(object.type, long + 1); } return message; }; @@ -57665,7 +59904,7 @@ function TransactionExecutionOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -57780,9 +60019,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TransactionExecutionOptions.decode = function decode(reader, length, error) { + TransactionExecutionOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.TransactionExecutionOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -57814,7 +60057,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -57845,9 +60088,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TransactionExecutionOptions.verify = function verify(message) { + TransactionExecutionOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.optimistic != null && message.hasOwnProperty("optimistic")) if (typeof message.optimistic !== "boolean") return "optimistic: boolean expected"; @@ -57877,9 +60124,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.TransactionExecutionOptions} TransactionExecutionOptions */ - TransactionExecutionOptions.fromObject = function fromObject(object) { + TransactionExecutionOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.TransactionExecutionOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.TransactionExecutionOptions(); if (object.optimistic != null) message.optimistic = Boolean(object.optimistic); @@ -57981,7 +60232,7 @@ function FinishTransactionAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -58046,9 +60297,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - FinishTransactionAction.decode = function decode(reader, length, error) { + FinishTransactionAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.FinishTransactionAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58060,7 +60315,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58091,9 +60346,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - FinishTransactionAction.verify = function verify(message) { + FinishTransactionAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.mode != null && message.hasOwnProperty("mode")) switch (message.mode) { default: @@ -58114,9 +60373,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.FinishTransactionAction} FinishTransactionAction */ - FinishTransactionAction.fromObject = function fromObject(object) { + FinishTransactionAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.FinishTransactionAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.FinishTransactionAction(); switch (object.mode) { default: @@ -58254,7 +60517,7 @@ function AdminAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -58613,9 +60876,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdminAction.decode = function decode(reader, length, error) { + AdminAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.AdminAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -58623,123 +60890,123 @@ break; switch (tag >>> 3) { case 1: { - message.createUserInstanceConfig = $root.google.spanner.executor.v1.CreateUserInstanceConfigAction.decode(reader, reader.uint32()); + message.createUserInstanceConfig = $root.google.spanner.executor.v1.CreateUserInstanceConfigAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.updateUserInstanceConfig = $root.google.spanner.executor.v1.UpdateUserInstanceConfigAction.decode(reader, reader.uint32()); + message.updateUserInstanceConfig = $root.google.spanner.executor.v1.UpdateUserInstanceConfigAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.deleteUserInstanceConfig = $root.google.spanner.executor.v1.DeleteUserInstanceConfigAction.decode(reader, reader.uint32()); + message.deleteUserInstanceConfig = $root.google.spanner.executor.v1.DeleteUserInstanceConfigAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.getCloudInstanceConfig = $root.google.spanner.executor.v1.GetCloudInstanceConfigAction.decode(reader, reader.uint32()); + message.getCloudInstanceConfig = $root.google.spanner.executor.v1.GetCloudInstanceConfigAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.listInstanceConfigs = $root.google.spanner.executor.v1.ListCloudInstanceConfigsAction.decode(reader, reader.uint32()); + message.listInstanceConfigs = $root.google.spanner.executor.v1.ListCloudInstanceConfigsAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.createCloudInstance = $root.google.spanner.executor.v1.CreateCloudInstanceAction.decode(reader, reader.uint32()); + message.createCloudInstance = $root.google.spanner.executor.v1.CreateCloudInstanceAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.updateCloudInstance = $root.google.spanner.executor.v1.UpdateCloudInstanceAction.decode(reader, reader.uint32()); + message.updateCloudInstance = $root.google.spanner.executor.v1.UpdateCloudInstanceAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.deleteCloudInstance = $root.google.spanner.executor.v1.DeleteCloudInstanceAction.decode(reader, reader.uint32()); + message.deleteCloudInstance = $root.google.spanner.executor.v1.DeleteCloudInstanceAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.listCloudInstances = $root.google.spanner.executor.v1.ListCloudInstancesAction.decode(reader, reader.uint32()); + message.listCloudInstances = $root.google.spanner.executor.v1.ListCloudInstancesAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 10: { - message.getCloudInstance = $root.google.spanner.executor.v1.GetCloudInstanceAction.decode(reader, reader.uint32()); + message.getCloudInstance = $root.google.spanner.executor.v1.GetCloudInstanceAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.createCloudDatabase = $root.google.spanner.executor.v1.CreateCloudDatabaseAction.decode(reader, reader.uint32()); + message.createCloudDatabase = $root.google.spanner.executor.v1.CreateCloudDatabaseAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 12: { - message.updateCloudDatabaseDdl = $root.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction.decode(reader, reader.uint32()); + message.updateCloudDatabaseDdl = $root.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 27: { - message.updateCloudDatabase = $root.google.spanner.executor.v1.UpdateCloudDatabaseAction.decode(reader, reader.uint32()); + message.updateCloudDatabase = $root.google.spanner.executor.v1.UpdateCloudDatabaseAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 13: { - message.dropCloudDatabase = $root.google.spanner.executor.v1.DropCloudDatabaseAction.decode(reader, reader.uint32()); + message.dropCloudDatabase = $root.google.spanner.executor.v1.DropCloudDatabaseAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 14: { - message.listCloudDatabases = $root.google.spanner.executor.v1.ListCloudDatabasesAction.decode(reader, reader.uint32()); + message.listCloudDatabases = $root.google.spanner.executor.v1.ListCloudDatabasesAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 15: { - message.listCloudDatabaseOperations = $root.google.spanner.executor.v1.ListCloudDatabaseOperationsAction.decode(reader, reader.uint32()); + message.listCloudDatabaseOperations = $root.google.spanner.executor.v1.ListCloudDatabaseOperationsAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 16: { - message.restoreCloudDatabase = $root.google.spanner.executor.v1.RestoreCloudDatabaseAction.decode(reader, reader.uint32()); + message.restoreCloudDatabase = $root.google.spanner.executor.v1.RestoreCloudDatabaseAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 17: { - message.getCloudDatabase = $root.google.spanner.executor.v1.GetCloudDatabaseAction.decode(reader, reader.uint32()); + message.getCloudDatabase = $root.google.spanner.executor.v1.GetCloudDatabaseAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 18: { - message.createCloudBackup = $root.google.spanner.executor.v1.CreateCloudBackupAction.decode(reader, reader.uint32()); + message.createCloudBackup = $root.google.spanner.executor.v1.CreateCloudBackupAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 19: { - message.copyCloudBackup = $root.google.spanner.executor.v1.CopyCloudBackupAction.decode(reader, reader.uint32()); + message.copyCloudBackup = $root.google.spanner.executor.v1.CopyCloudBackupAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 20: { - message.getCloudBackup = $root.google.spanner.executor.v1.GetCloudBackupAction.decode(reader, reader.uint32()); + message.getCloudBackup = $root.google.spanner.executor.v1.GetCloudBackupAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 21: { - message.updateCloudBackup = $root.google.spanner.executor.v1.UpdateCloudBackupAction.decode(reader, reader.uint32()); + message.updateCloudBackup = $root.google.spanner.executor.v1.UpdateCloudBackupAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.deleteCloudBackup = $root.google.spanner.executor.v1.DeleteCloudBackupAction.decode(reader, reader.uint32()); + message.deleteCloudBackup = $root.google.spanner.executor.v1.DeleteCloudBackupAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.listCloudBackups = $root.google.spanner.executor.v1.ListCloudBackupsAction.decode(reader, reader.uint32()); + message.listCloudBackups = $root.google.spanner.executor.v1.ListCloudBackupsAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.listCloudBackupOperations = $root.google.spanner.executor.v1.ListCloudBackupOperationsAction.decode(reader, reader.uint32()); + message.listCloudBackupOperations = $root.google.spanner.executor.v1.ListCloudBackupOperationsAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.getOperation = $root.google.spanner.executor.v1.GetOperationAction.decode(reader, reader.uint32()); + message.getOperation = $root.google.spanner.executor.v1.GetOperationAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.cancelOperation = $root.google.spanner.executor.v1.CancelOperationAction.decode(reader, reader.uint32()); + message.cancelOperation = $root.google.spanner.executor.v1.CancelOperationAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 28: { - message.changeQuorumCloudDatabase = $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction.decode(reader, reader.uint32()); + message.changeQuorumCloudDatabase = $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 29: { - message.addSplitPoints = $root.google.spanner.executor.v1.AddSplitPointsAction.decode(reader, reader.uint32()); + message.addSplitPoints = $root.google.spanner.executor.v1.AddSplitPointsAction.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -58770,14 +61037,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AdminAction.verify = function verify(message) { + AdminAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.createUserInstanceConfig != null && message.hasOwnProperty("createUserInstanceConfig")) { properties.action = 1; { - var error = $root.google.spanner.executor.v1.CreateUserInstanceConfigAction.verify(message.createUserInstanceConfig); + var error = $root.google.spanner.executor.v1.CreateUserInstanceConfigAction.verify(message.createUserInstanceConfig, long + 1); if (error) return "createUserInstanceConfig." + error; } @@ -58787,7 +61058,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.UpdateUserInstanceConfigAction.verify(message.updateUserInstanceConfig); + var error = $root.google.spanner.executor.v1.UpdateUserInstanceConfigAction.verify(message.updateUserInstanceConfig, long + 1); if (error) return "updateUserInstanceConfig." + error; } @@ -58797,7 +61068,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.DeleteUserInstanceConfigAction.verify(message.deleteUserInstanceConfig); + var error = $root.google.spanner.executor.v1.DeleteUserInstanceConfigAction.verify(message.deleteUserInstanceConfig, long + 1); if (error) return "deleteUserInstanceConfig." + error; } @@ -58807,7 +61078,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.GetCloudInstanceConfigAction.verify(message.getCloudInstanceConfig); + var error = $root.google.spanner.executor.v1.GetCloudInstanceConfigAction.verify(message.getCloudInstanceConfig, long + 1); if (error) return "getCloudInstanceConfig." + error; } @@ -58817,7 +61088,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.ListCloudInstanceConfigsAction.verify(message.listInstanceConfigs); + var error = $root.google.spanner.executor.v1.ListCloudInstanceConfigsAction.verify(message.listInstanceConfigs, long + 1); if (error) return "listInstanceConfigs." + error; } @@ -58827,7 +61098,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.CreateCloudInstanceAction.verify(message.createCloudInstance); + var error = $root.google.spanner.executor.v1.CreateCloudInstanceAction.verify(message.createCloudInstance, long + 1); if (error) return "createCloudInstance." + error; } @@ -58837,7 +61108,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.UpdateCloudInstanceAction.verify(message.updateCloudInstance); + var error = $root.google.spanner.executor.v1.UpdateCloudInstanceAction.verify(message.updateCloudInstance, long + 1); if (error) return "updateCloudInstance." + error; } @@ -58847,7 +61118,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.DeleteCloudInstanceAction.verify(message.deleteCloudInstance); + var error = $root.google.spanner.executor.v1.DeleteCloudInstanceAction.verify(message.deleteCloudInstance, long + 1); if (error) return "deleteCloudInstance." + error; } @@ -58857,7 +61128,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.ListCloudInstancesAction.verify(message.listCloudInstances); + var error = $root.google.spanner.executor.v1.ListCloudInstancesAction.verify(message.listCloudInstances, long + 1); if (error) return "listCloudInstances." + error; } @@ -58867,7 +61138,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.GetCloudInstanceAction.verify(message.getCloudInstance); + var error = $root.google.spanner.executor.v1.GetCloudInstanceAction.verify(message.getCloudInstance, long + 1); if (error) return "getCloudInstance." + error; } @@ -58877,7 +61148,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.CreateCloudDatabaseAction.verify(message.createCloudDatabase); + var error = $root.google.spanner.executor.v1.CreateCloudDatabaseAction.verify(message.createCloudDatabase, long + 1); if (error) return "createCloudDatabase." + error; } @@ -58887,7 +61158,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction.verify(message.updateCloudDatabaseDdl); + var error = $root.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction.verify(message.updateCloudDatabaseDdl, long + 1); if (error) return "updateCloudDatabaseDdl." + error; } @@ -58897,7 +61168,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.UpdateCloudDatabaseAction.verify(message.updateCloudDatabase); + var error = $root.google.spanner.executor.v1.UpdateCloudDatabaseAction.verify(message.updateCloudDatabase, long + 1); if (error) return "updateCloudDatabase." + error; } @@ -58907,7 +61178,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.DropCloudDatabaseAction.verify(message.dropCloudDatabase); + var error = $root.google.spanner.executor.v1.DropCloudDatabaseAction.verify(message.dropCloudDatabase, long + 1); if (error) return "dropCloudDatabase." + error; } @@ -58917,7 +61188,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.ListCloudDatabasesAction.verify(message.listCloudDatabases); + var error = $root.google.spanner.executor.v1.ListCloudDatabasesAction.verify(message.listCloudDatabases, long + 1); if (error) return "listCloudDatabases." + error; } @@ -58927,7 +61198,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.ListCloudDatabaseOperationsAction.verify(message.listCloudDatabaseOperations); + var error = $root.google.spanner.executor.v1.ListCloudDatabaseOperationsAction.verify(message.listCloudDatabaseOperations, long + 1); if (error) return "listCloudDatabaseOperations." + error; } @@ -58937,7 +61208,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.RestoreCloudDatabaseAction.verify(message.restoreCloudDatabase); + var error = $root.google.spanner.executor.v1.RestoreCloudDatabaseAction.verify(message.restoreCloudDatabase, long + 1); if (error) return "restoreCloudDatabase." + error; } @@ -58947,7 +61218,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.GetCloudDatabaseAction.verify(message.getCloudDatabase); + var error = $root.google.spanner.executor.v1.GetCloudDatabaseAction.verify(message.getCloudDatabase, long + 1); if (error) return "getCloudDatabase." + error; } @@ -58957,7 +61228,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.CreateCloudBackupAction.verify(message.createCloudBackup); + var error = $root.google.spanner.executor.v1.CreateCloudBackupAction.verify(message.createCloudBackup, long + 1); if (error) return "createCloudBackup." + error; } @@ -58967,7 +61238,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.CopyCloudBackupAction.verify(message.copyCloudBackup); + var error = $root.google.spanner.executor.v1.CopyCloudBackupAction.verify(message.copyCloudBackup, long + 1); if (error) return "copyCloudBackup." + error; } @@ -58977,7 +61248,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.GetCloudBackupAction.verify(message.getCloudBackup); + var error = $root.google.spanner.executor.v1.GetCloudBackupAction.verify(message.getCloudBackup, long + 1); if (error) return "getCloudBackup." + error; } @@ -58987,7 +61258,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.UpdateCloudBackupAction.verify(message.updateCloudBackup); + var error = $root.google.spanner.executor.v1.UpdateCloudBackupAction.verify(message.updateCloudBackup, long + 1); if (error) return "updateCloudBackup." + error; } @@ -58997,7 +61268,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.DeleteCloudBackupAction.verify(message.deleteCloudBackup); + var error = $root.google.spanner.executor.v1.DeleteCloudBackupAction.verify(message.deleteCloudBackup, long + 1); if (error) return "deleteCloudBackup." + error; } @@ -59007,7 +61278,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.ListCloudBackupsAction.verify(message.listCloudBackups); + var error = $root.google.spanner.executor.v1.ListCloudBackupsAction.verify(message.listCloudBackups, long + 1); if (error) return "listCloudBackups." + error; } @@ -59017,7 +61288,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.ListCloudBackupOperationsAction.verify(message.listCloudBackupOperations); + var error = $root.google.spanner.executor.v1.ListCloudBackupOperationsAction.verify(message.listCloudBackupOperations, long + 1); if (error) return "listCloudBackupOperations." + error; } @@ -59027,7 +61298,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.GetOperationAction.verify(message.getOperation); + var error = $root.google.spanner.executor.v1.GetOperationAction.verify(message.getOperation, long + 1); if (error) return "getOperation." + error; } @@ -59037,7 +61308,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.CancelOperationAction.verify(message.cancelOperation); + var error = $root.google.spanner.executor.v1.CancelOperationAction.verify(message.cancelOperation, long + 1); if (error) return "cancelOperation." + error; } @@ -59047,7 +61318,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction.verify(message.changeQuorumCloudDatabase); + var error = $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction.verify(message.changeQuorumCloudDatabase, long + 1); if (error) return "changeQuorumCloudDatabase." + error; } @@ -59057,7 +61328,7 @@ return "action: multiple values"; properties.action = 1; { - var error = $root.google.spanner.executor.v1.AddSplitPointsAction.verify(message.addSplitPoints); + var error = $root.google.spanner.executor.v1.AddSplitPointsAction.verify(message.addSplitPoints, long + 1); if (error) return "addSplitPoints." + error; } @@ -59073,154 +61344,158 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.AdminAction} AdminAction */ - AdminAction.fromObject = function fromObject(object) { + AdminAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.AdminAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.AdminAction(); if (object.createUserInstanceConfig != null) { if (typeof object.createUserInstanceConfig !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.createUserInstanceConfig: object expected"); - message.createUserInstanceConfig = $root.google.spanner.executor.v1.CreateUserInstanceConfigAction.fromObject(object.createUserInstanceConfig); + message.createUserInstanceConfig = $root.google.spanner.executor.v1.CreateUserInstanceConfigAction.fromObject(object.createUserInstanceConfig, long + 1); } if (object.updateUserInstanceConfig != null) { if (typeof object.updateUserInstanceConfig !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.updateUserInstanceConfig: object expected"); - message.updateUserInstanceConfig = $root.google.spanner.executor.v1.UpdateUserInstanceConfigAction.fromObject(object.updateUserInstanceConfig); + message.updateUserInstanceConfig = $root.google.spanner.executor.v1.UpdateUserInstanceConfigAction.fromObject(object.updateUserInstanceConfig, long + 1); } if (object.deleteUserInstanceConfig != null) { if (typeof object.deleteUserInstanceConfig !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.deleteUserInstanceConfig: object expected"); - message.deleteUserInstanceConfig = $root.google.spanner.executor.v1.DeleteUserInstanceConfigAction.fromObject(object.deleteUserInstanceConfig); + message.deleteUserInstanceConfig = $root.google.spanner.executor.v1.DeleteUserInstanceConfigAction.fromObject(object.deleteUserInstanceConfig, long + 1); } if (object.getCloudInstanceConfig != null) { if (typeof object.getCloudInstanceConfig !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.getCloudInstanceConfig: object expected"); - message.getCloudInstanceConfig = $root.google.spanner.executor.v1.GetCloudInstanceConfigAction.fromObject(object.getCloudInstanceConfig); + message.getCloudInstanceConfig = $root.google.spanner.executor.v1.GetCloudInstanceConfigAction.fromObject(object.getCloudInstanceConfig, long + 1); } if (object.listInstanceConfigs != null) { if (typeof object.listInstanceConfigs !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.listInstanceConfigs: object expected"); - message.listInstanceConfigs = $root.google.spanner.executor.v1.ListCloudInstanceConfigsAction.fromObject(object.listInstanceConfigs); + message.listInstanceConfigs = $root.google.spanner.executor.v1.ListCloudInstanceConfigsAction.fromObject(object.listInstanceConfigs, long + 1); } if (object.createCloudInstance != null) { if (typeof object.createCloudInstance !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.createCloudInstance: object expected"); - message.createCloudInstance = $root.google.spanner.executor.v1.CreateCloudInstanceAction.fromObject(object.createCloudInstance); + message.createCloudInstance = $root.google.spanner.executor.v1.CreateCloudInstanceAction.fromObject(object.createCloudInstance, long + 1); } if (object.updateCloudInstance != null) { if (typeof object.updateCloudInstance !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.updateCloudInstance: object expected"); - message.updateCloudInstance = $root.google.spanner.executor.v1.UpdateCloudInstanceAction.fromObject(object.updateCloudInstance); + message.updateCloudInstance = $root.google.spanner.executor.v1.UpdateCloudInstanceAction.fromObject(object.updateCloudInstance, long + 1); } if (object.deleteCloudInstance != null) { if (typeof object.deleteCloudInstance !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.deleteCloudInstance: object expected"); - message.deleteCloudInstance = $root.google.spanner.executor.v1.DeleteCloudInstanceAction.fromObject(object.deleteCloudInstance); + message.deleteCloudInstance = $root.google.spanner.executor.v1.DeleteCloudInstanceAction.fromObject(object.deleteCloudInstance, long + 1); } if (object.listCloudInstances != null) { if (typeof object.listCloudInstances !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.listCloudInstances: object expected"); - message.listCloudInstances = $root.google.spanner.executor.v1.ListCloudInstancesAction.fromObject(object.listCloudInstances); + message.listCloudInstances = $root.google.spanner.executor.v1.ListCloudInstancesAction.fromObject(object.listCloudInstances, long + 1); } if (object.getCloudInstance != null) { if (typeof object.getCloudInstance !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.getCloudInstance: object expected"); - message.getCloudInstance = $root.google.spanner.executor.v1.GetCloudInstanceAction.fromObject(object.getCloudInstance); + message.getCloudInstance = $root.google.spanner.executor.v1.GetCloudInstanceAction.fromObject(object.getCloudInstance, long + 1); } if (object.createCloudDatabase != null) { if (typeof object.createCloudDatabase !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.createCloudDatabase: object expected"); - message.createCloudDatabase = $root.google.spanner.executor.v1.CreateCloudDatabaseAction.fromObject(object.createCloudDatabase); + message.createCloudDatabase = $root.google.spanner.executor.v1.CreateCloudDatabaseAction.fromObject(object.createCloudDatabase, long + 1); } if (object.updateCloudDatabaseDdl != null) { if (typeof object.updateCloudDatabaseDdl !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.updateCloudDatabaseDdl: object expected"); - message.updateCloudDatabaseDdl = $root.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction.fromObject(object.updateCloudDatabaseDdl); + message.updateCloudDatabaseDdl = $root.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction.fromObject(object.updateCloudDatabaseDdl, long + 1); } if (object.updateCloudDatabase != null) { if (typeof object.updateCloudDatabase !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.updateCloudDatabase: object expected"); - message.updateCloudDatabase = $root.google.spanner.executor.v1.UpdateCloudDatabaseAction.fromObject(object.updateCloudDatabase); + message.updateCloudDatabase = $root.google.spanner.executor.v1.UpdateCloudDatabaseAction.fromObject(object.updateCloudDatabase, long + 1); } if (object.dropCloudDatabase != null) { if (typeof object.dropCloudDatabase !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.dropCloudDatabase: object expected"); - message.dropCloudDatabase = $root.google.spanner.executor.v1.DropCloudDatabaseAction.fromObject(object.dropCloudDatabase); + message.dropCloudDatabase = $root.google.spanner.executor.v1.DropCloudDatabaseAction.fromObject(object.dropCloudDatabase, long + 1); } if (object.listCloudDatabases != null) { if (typeof object.listCloudDatabases !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.listCloudDatabases: object expected"); - message.listCloudDatabases = $root.google.spanner.executor.v1.ListCloudDatabasesAction.fromObject(object.listCloudDatabases); + message.listCloudDatabases = $root.google.spanner.executor.v1.ListCloudDatabasesAction.fromObject(object.listCloudDatabases, long + 1); } if (object.listCloudDatabaseOperations != null) { if (typeof object.listCloudDatabaseOperations !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.listCloudDatabaseOperations: object expected"); - message.listCloudDatabaseOperations = $root.google.spanner.executor.v1.ListCloudDatabaseOperationsAction.fromObject(object.listCloudDatabaseOperations); + message.listCloudDatabaseOperations = $root.google.spanner.executor.v1.ListCloudDatabaseOperationsAction.fromObject(object.listCloudDatabaseOperations, long + 1); } if (object.restoreCloudDatabase != null) { if (typeof object.restoreCloudDatabase !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.restoreCloudDatabase: object expected"); - message.restoreCloudDatabase = $root.google.spanner.executor.v1.RestoreCloudDatabaseAction.fromObject(object.restoreCloudDatabase); + message.restoreCloudDatabase = $root.google.spanner.executor.v1.RestoreCloudDatabaseAction.fromObject(object.restoreCloudDatabase, long + 1); } if (object.getCloudDatabase != null) { if (typeof object.getCloudDatabase !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.getCloudDatabase: object expected"); - message.getCloudDatabase = $root.google.spanner.executor.v1.GetCloudDatabaseAction.fromObject(object.getCloudDatabase); + message.getCloudDatabase = $root.google.spanner.executor.v1.GetCloudDatabaseAction.fromObject(object.getCloudDatabase, long + 1); } if (object.createCloudBackup != null) { if (typeof object.createCloudBackup !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.createCloudBackup: object expected"); - message.createCloudBackup = $root.google.spanner.executor.v1.CreateCloudBackupAction.fromObject(object.createCloudBackup); + message.createCloudBackup = $root.google.spanner.executor.v1.CreateCloudBackupAction.fromObject(object.createCloudBackup, long + 1); } if (object.copyCloudBackup != null) { if (typeof object.copyCloudBackup !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.copyCloudBackup: object expected"); - message.copyCloudBackup = $root.google.spanner.executor.v1.CopyCloudBackupAction.fromObject(object.copyCloudBackup); + message.copyCloudBackup = $root.google.spanner.executor.v1.CopyCloudBackupAction.fromObject(object.copyCloudBackup, long + 1); } if (object.getCloudBackup != null) { if (typeof object.getCloudBackup !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.getCloudBackup: object expected"); - message.getCloudBackup = $root.google.spanner.executor.v1.GetCloudBackupAction.fromObject(object.getCloudBackup); + message.getCloudBackup = $root.google.spanner.executor.v1.GetCloudBackupAction.fromObject(object.getCloudBackup, long + 1); } if (object.updateCloudBackup != null) { if (typeof object.updateCloudBackup !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.updateCloudBackup: object expected"); - message.updateCloudBackup = $root.google.spanner.executor.v1.UpdateCloudBackupAction.fromObject(object.updateCloudBackup); + message.updateCloudBackup = $root.google.spanner.executor.v1.UpdateCloudBackupAction.fromObject(object.updateCloudBackup, long + 1); } if (object.deleteCloudBackup != null) { if (typeof object.deleteCloudBackup !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.deleteCloudBackup: object expected"); - message.deleteCloudBackup = $root.google.spanner.executor.v1.DeleteCloudBackupAction.fromObject(object.deleteCloudBackup); + message.deleteCloudBackup = $root.google.spanner.executor.v1.DeleteCloudBackupAction.fromObject(object.deleteCloudBackup, long + 1); } if (object.listCloudBackups != null) { if (typeof object.listCloudBackups !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.listCloudBackups: object expected"); - message.listCloudBackups = $root.google.spanner.executor.v1.ListCloudBackupsAction.fromObject(object.listCloudBackups); + message.listCloudBackups = $root.google.spanner.executor.v1.ListCloudBackupsAction.fromObject(object.listCloudBackups, long + 1); } if (object.listCloudBackupOperations != null) { if (typeof object.listCloudBackupOperations !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.listCloudBackupOperations: object expected"); - message.listCloudBackupOperations = $root.google.spanner.executor.v1.ListCloudBackupOperationsAction.fromObject(object.listCloudBackupOperations); + message.listCloudBackupOperations = $root.google.spanner.executor.v1.ListCloudBackupOperationsAction.fromObject(object.listCloudBackupOperations, long + 1); } if (object.getOperation != null) { if (typeof object.getOperation !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.getOperation: object expected"); - message.getOperation = $root.google.spanner.executor.v1.GetOperationAction.fromObject(object.getOperation); + message.getOperation = $root.google.spanner.executor.v1.GetOperationAction.fromObject(object.getOperation, long + 1); } if (object.cancelOperation != null) { if (typeof object.cancelOperation !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.cancelOperation: object expected"); - message.cancelOperation = $root.google.spanner.executor.v1.CancelOperationAction.fromObject(object.cancelOperation); + message.cancelOperation = $root.google.spanner.executor.v1.CancelOperationAction.fromObject(object.cancelOperation, long + 1); } if (object.changeQuorumCloudDatabase != null) { if (typeof object.changeQuorumCloudDatabase !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.changeQuorumCloudDatabase: object expected"); - message.changeQuorumCloudDatabase = $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction.fromObject(object.changeQuorumCloudDatabase); + message.changeQuorumCloudDatabase = $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction.fromObject(object.changeQuorumCloudDatabase, long + 1); } if (object.addSplitPoints != null) { if (typeof object.addSplitPoints !== "object") throw TypeError(".google.spanner.executor.v1.AdminAction.addSplitPoints: object expected"); - message.addSplitPoints = $root.google.spanner.executor.v1.AddSplitPointsAction.fromObject(object.addSplitPoints); + message.addSplitPoints = $root.google.spanner.executor.v1.AddSplitPointsAction.fromObject(object.addSplitPoints, long + 1); } return message; }; @@ -59439,7 +61714,7 @@ this.replicas = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -59535,9 +61810,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateUserInstanceConfigAction.decode = function decode(reader, length, error) { + CreateUserInstanceConfigAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CreateUserInstanceConfigAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -59559,11 +61838,11 @@ case 4: { if (!(message.replicas && message.replicas.length)) message.replicas = []; - message.replicas.push($root.google.spanner.admin.instance.v1.ReplicaInfo.decode(reader, reader.uint32())); + message.replicas.push($root.google.spanner.admin.instance.v1.ReplicaInfo.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -59594,9 +61873,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateUserInstanceConfigAction.verify = function verify(message) { + CreateUserInstanceConfigAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.userConfigId != null && message.hasOwnProperty("userConfigId")) if (!$util.isString(message.userConfigId)) return "userConfigId: string expected"; @@ -59610,7 +61893,7 @@ if (!Array.isArray(message.replicas)) return "replicas: array expected"; for (var i = 0; i < message.replicas.length; ++i) { - var error = $root.google.spanner.admin.instance.v1.ReplicaInfo.verify(message.replicas[i]); + var error = $root.google.spanner.admin.instance.v1.ReplicaInfo.verify(message.replicas[i], long + 1); if (error) return "replicas." + error; } @@ -59626,9 +61909,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CreateUserInstanceConfigAction} CreateUserInstanceConfigAction */ - CreateUserInstanceConfigAction.fromObject = function fromObject(object) { + CreateUserInstanceConfigAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CreateUserInstanceConfigAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CreateUserInstanceConfigAction(); if (object.userConfigId != null) message.userConfigId = String(object.userConfigId); @@ -59643,7 +61930,7 @@ for (var i = 0; i < object.replicas.length; ++i) { if (typeof object.replicas[i] !== "object") throw TypeError(".google.spanner.executor.v1.CreateUserInstanceConfigAction.replicas: object expected"); - message.replicas[i] = $root.google.spanner.admin.instance.v1.ReplicaInfo.fromObject(object.replicas[i]); + message.replicas[i] = $root.google.spanner.admin.instance.v1.ReplicaInfo.fromObject(object.replicas[i], long + 1); } } return message; @@ -59736,7 +62023,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -59841,9 +62128,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateUserInstanceConfigAction.decode = function decode(reader, length, error) { + UpdateUserInstanceConfigAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.UpdateUserInstanceConfigAction(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -59878,15 +62169,17 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -59917,9 +62210,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateUserInstanceConfigAction.verify = function verify(message) { + UpdateUserInstanceConfigAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.userConfigId != null && message.hasOwnProperty("userConfigId")) if (!$util.isString(message.userConfigId)) @@ -59951,9 +62248,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.UpdateUserInstanceConfigAction} UpdateUserInstanceConfigAction */ - UpdateUserInstanceConfigAction.fromObject = function fromObject(object) { + UpdateUserInstanceConfigAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.UpdateUserInstanceConfigAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.UpdateUserInstanceConfigAction(); if (object.userConfigId != null) message.userConfigId = String(object.userConfigId); @@ -59965,8 +62266,11 @@ if (typeof object.labels !== "object") throw TypeError(".google.spanner.executor.v1.UpdateUserInstanceConfigAction.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } return message; }; @@ -60002,8 +62306,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } return object; }; @@ -60058,7 +62365,7 @@ function GetCloudInstanceConfigAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60133,9 +62440,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCloudInstanceConfigAction.decode = function decode(reader, length, error) { + GetCloudInstanceConfigAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.GetCloudInstanceConfigAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60151,7 +62462,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60182,9 +62493,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetCloudInstanceConfigAction.verify = function verify(message) { + GetCloudInstanceConfigAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instanceConfigId != null && message.hasOwnProperty("instanceConfigId")) if (!$util.isString(message.instanceConfigId)) return "instanceConfigId: string expected"; @@ -60202,9 +62517,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.GetCloudInstanceConfigAction} GetCloudInstanceConfigAction */ - GetCloudInstanceConfigAction.fromObject = function fromObject(object) { + GetCloudInstanceConfigAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.GetCloudInstanceConfigAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.GetCloudInstanceConfigAction(); if (object.instanceConfigId != null) message.instanceConfigId = String(object.instanceConfigId); @@ -60287,7 +62606,7 @@ function DeleteUserInstanceConfigAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60362,9 +62681,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteUserInstanceConfigAction.decode = function decode(reader, length, error) { + DeleteUserInstanceConfigAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.DeleteUserInstanceConfigAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60380,7 +62703,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60411,9 +62734,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteUserInstanceConfigAction.verify = function verify(message) { + DeleteUserInstanceConfigAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.userConfigId != null && message.hasOwnProperty("userConfigId")) if (!$util.isString(message.userConfigId)) return "userConfigId: string expected"; @@ -60431,9 +62758,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.DeleteUserInstanceConfigAction} DeleteUserInstanceConfigAction */ - DeleteUserInstanceConfigAction.fromObject = function fromObject(object) { + DeleteUserInstanceConfigAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.DeleteUserInstanceConfigAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.DeleteUserInstanceConfigAction(); if (object.userConfigId != null) message.userConfigId = String(object.userConfigId); @@ -60517,7 +62848,7 @@ function ListCloudInstanceConfigsAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60617,9 +62948,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListCloudInstanceConfigsAction.decode = function decode(reader, length, error) { + ListCloudInstanceConfigsAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ListCloudInstanceConfigsAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -60639,7 +62974,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -60670,9 +63005,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListCloudInstanceConfigsAction.verify = function verify(message) { + ListCloudInstanceConfigsAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) @@ -60698,9 +63037,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ListCloudInstanceConfigsAction} ListCloudInstanceConfigsAction */ - ListCloudInstanceConfigsAction.fromObject = function fromObject(object) { + ListCloudInstanceConfigsAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ListCloudInstanceConfigsAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ListCloudInstanceConfigsAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -60798,7 +63141,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -60955,9 +63298,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateCloudInstanceAction.decode = function decode(reader, length, error) { + CreateCloudInstanceAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CreateCloudInstanceAction(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -60985,7 +63332,7 @@ break; } case 7: { - message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.decode(reader, reader.uint32()); + message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -61004,10 +63351,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } @@ -61016,7 +63365,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -61047,9 +63396,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateCloudInstanceAction.verify = function verify(message) { + CreateCloudInstanceAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.instanceId != null && message.hasOwnProperty("instanceId")) if (!$util.isString(message.instanceId)) @@ -61073,7 +63426,7 @@ if (message.autoscalingConfig != null && message.hasOwnProperty("autoscalingConfig")) { properties._autoscalingConfig = 1; { - var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.verify(message.autoscalingConfig); + var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.verify(message.autoscalingConfig, long + 1); if (error) return "autoscalingConfig." + error; } @@ -61107,9 +63460,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CreateCloudInstanceAction} CreateCloudInstanceAction */ - CreateCloudInstanceAction.fromObject = function fromObject(object) { + CreateCloudInstanceAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CreateCloudInstanceAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CreateCloudInstanceAction(); if (object.instanceId != null) message.instanceId = String(object.instanceId); @@ -61124,14 +63481,17 @@ if (object.autoscalingConfig != null) { if (typeof object.autoscalingConfig !== "object") throw TypeError(".google.spanner.executor.v1.CreateCloudInstanceAction.autoscalingConfig: object expected"); - message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.fromObject(object.autoscalingConfig); + message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.fromObject(object.autoscalingConfig, long + 1); } if (object.labels) { if (typeof object.labels !== "object") throw TypeError(".google.spanner.executor.v1.CreateCloudInstanceAction.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } switch (object.edition) { default: @@ -61195,8 +63555,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.processingUnits != null && message.hasOwnProperty("processingUnits")) { object.processingUnits = message.processingUnits; @@ -61270,7 +63633,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -61433,9 +63796,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateCloudInstanceAction.decode = function decode(reader, length, error) { + UpdateCloudInstanceAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.UpdateCloudInstanceAction(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -61463,7 +63830,7 @@ break; } case 7: { - message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.decode(reader, reader.uint32()); + message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -61482,10 +63849,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } @@ -61494,7 +63863,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -61525,9 +63894,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateCloudInstanceAction.verify = function verify(message) { + UpdateCloudInstanceAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.instanceId != null && message.hasOwnProperty("instanceId")) if (!$util.isString(message.instanceId)) @@ -61553,7 +63926,7 @@ if (message.autoscalingConfig != null && message.hasOwnProperty("autoscalingConfig")) { properties._autoscalingConfig = 1; { - var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.verify(message.autoscalingConfig); + var error = $root.google.spanner.admin.instance.v1.AutoscalingConfig.verify(message.autoscalingConfig, long + 1); if (error) return "autoscalingConfig." + error; } @@ -61587,9 +63960,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.UpdateCloudInstanceAction} UpdateCloudInstanceAction */ - UpdateCloudInstanceAction.fromObject = function fromObject(object) { + UpdateCloudInstanceAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.UpdateCloudInstanceAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.UpdateCloudInstanceAction(); if (object.instanceId != null) message.instanceId = String(object.instanceId); @@ -61604,14 +63981,17 @@ if (object.autoscalingConfig != null) { if (typeof object.autoscalingConfig !== "object") throw TypeError(".google.spanner.executor.v1.UpdateCloudInstanceAction.autoscalingConfig: object expected"); - message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.fromObject(object.autoscalingConfig); + message.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.fromObject(object.autoscalingConfig, long + 1); } if (object.labels) { if (typeof object.labels !== "object") throw TypeError(".google.spanner.executor.v1.UpdateCloudInstanceAction.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } switch (object.edition) { default: @@ -61682,8 +64062,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.autoscalingConfig != null && message.hasOwnProperty("autoscalingConfig")) { object.autoscalingConfig = $root.google.spanner.admin.instance.v1.AutoscalingConfig.toObject(message.autoscalingConfig, options); @@ -61745,7 +64128,7 @@ function DeleteCloudInstanceAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -61820,9 +64203,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteCloudInstanceAction.decode = function decode(reader, length, error) { + DeleteCloudInstanceAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.DeleteCloudInstanceAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -61838,7 +64225,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -61869,9 +64256,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteCloudInstanceAction.verify = function verify(message) { + DeleteCloudInstanceAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instanceId != null && message.hasOwnProperty("instanceId")) if (!$util.isString(message.instanceId)) return "instanceId: string expected"; @@ -61889,9 +64280,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.DeleteCloudInstanceAction} DeleteCloudInstanceAction */ - DeleteCloudInstanceAction.fromObject = function fromObject(object) { + DeleteCloudInstanceAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.DeleteCloudInstanceAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.DeleteCloudInstanceAction(); if (object.instanceId != null) message.instanceId = String(object.instanceId); @@ -61980,7 +64375,7 @@ this.sdlStatement = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -62121,9 +64516,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateCloudDatabaseAction.decode = function decode(reader, length, error) { + CreateCloudDatabaseAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CreateCloudDatabaseAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -62149,7 +64548,7 @@ break; } case 5: { - message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.decode(reader, reader.uint32()); + message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -62161,7 +64560,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62192,9 +64591,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateCloudDatabaseAction.verify = function verify(message) { + CreateCloudDatabaseAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.instanceId != null && message.hasOwnProperty("instanceId")) if (!$util.isString(message.instanceId)) @@ -62213,7 +64616,7 @@ return "sdlStatement: string[] expected"; } if (message.encryptionConfig != null && message.hasOwnProperty("encryptionConfig")) { - var error = $root.google.spanner.admin.database.v1.EncryptionConfig.verify(message.encryptionConfig); + var error = $root.google.spanner.admin.database.v1.EncryptionConfig.verify(message.encryptionConfig, long + 1); if (error) return "encryptionConfig." + error; } @@ -62238,9 +64641,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CreateCloudDatabaseAction} CreateCloudDatabaseAction */ - CreateCloudDatabaseAction.fromObject = function fromObject(object) { + CreateCloudDatabaseAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CreateCloudDatabaseAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CreateCloudDatabaseAction(); if (object.instanceId != null) message.instanceId = String(object.instanceId); @@ -62258,7 +64665,7 @@ if (object.encryptionConfig != null) { if (typeof object.encryptionConfig !== "object") throw TypeError(".google.spanner.executor.v1.CreateCloudDatabaseAction.encryptionConfig: object expected"); - message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.fromObject(object.encryptionConfig); + message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.fromObject(object.encryptionConfig, long + 1); } if (object.dialect != null) message.dialect = String(object.dialect); @@ -62372,7 +64779,7 @@ this.sdlStatement = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -62497,9 +64904,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateCloudDatabaseDdlAction.decode = function decode(reader, length, error) { + UpdateCloudDatabaseDdlAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -62533,7 +64944,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62564,9 +64975,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateCloudDatabaseDdlAction.verify = function verify(message) { + UpdateCloudDatabaseDdlAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.instanceId != null && message.hasOwnProperty("instanceId")) if (!$util.isString(message.instanceId)) @@ -62603,9 +65018,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.UpdateCloudDatabaseDdlAction} UpdateCloudDatabaseDdlAction */ - UpdateCloudDatabaseDdlAction.fromObject = function fromObject(object) { + UpdateCloudDatabaseDdlAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.UpdateCloudDatabaseDdlAction(); if (object.instanceId != null) message.instanceId = String(object.instanceId); @@ -62724,7 +65143,7 @@ function UpdateCloudDatabaseAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -62819,9 +65238,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateCloudDatabaseAction.decode = function decode(reader, length, error) { + UpdateCloudDatabaseAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.UpdateCloudDatabaseAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -62845,7 +65268,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -62876,9 +65299,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateCloudDatabaseAction.verify = function verify(message) { + UpdateCloudDatabaseAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instanceId != null && message.hasOwnProperty("instanceId")) if (!$util.isString(message.instanceId)) return "instanceId: string expected"; @@ -62902,9 +65329,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.UpdateCloudDatabaseAction} UpdateCloudDatabaseAction */ - UpdateCloudDatabaseAction.fromObject = function fromObject(object) { + UpdateCloudDatabaseAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.UpdateCloudDatabaseAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.UpdateCloudDatabaseAction(); if (object.instanceId != null) message.instanceId = String(object.instanceId); @@ -62998,7 +65429,7 @@ function DropCloudDatabaseAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -63083,9 +65514,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DropCloudDatabaseAction.decode = function decode(reader, length, error) { + DropCloudDatabaseAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.DropCloudDatabaseAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -63105,7 +65540,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -63136,9 +65571,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DropCloudDatabaseAction.verify = function verify(message) { + DropCloudDatabaseAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.instanceId != null && message.hasOwnProperty("instanceId")) if (!$util.isString(message.instanceId)) return "instanceId: string expected"; @@ -63159,9 +65598,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.DropCloudDatabaseAction} DropCloudDatabaseAction */ - DropCloudDatabaseAction.fromObject = function fromObject(object) { + DropCloudDatabaseAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.DropCloudDatabaseAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.DropCloudDatabaseAction(); if (object.instanceId != null) message.instanceId = String(object.instanceId); @@ -63250,7 +65693,7 @@ this.servingLocations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -63335,9 +65778,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeQuorumCloudDatabaseAction.decode = function decode(reader, length, error) { + ChangeQuorumCloudDatabaseAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -63355,7 +65802,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -63386,9 +65833,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ChangeQuorumCloudDatabaseAction.verify = function verify(message) { + ChangeQuorumCloudDatabaseAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.databaseUri != null && message.hasOwnProperty("databaseUri")) { properties._databaseUri = 1; @@ -63413,9 +65864,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction} ChangeQuorumCloudDatabaseAction */ - ChangeQuorumCloudDatabaseAction.fromObject = function fromObject(object) { + ChangeQuorumCloudDatabaseAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ChangeQuorumCloudDatabaseAction(); if (object.databaseUri != null) message.databaseUri = String(object.databaseUri); @@ -63512,7 +65967,7 @@ this.attachments = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -63628,9 +66083,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdaptMessageAction.decode = function decode(reader, length, error) { + AdaptMessageAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.AdaptMessageAction(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -63665,10 +66124,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.attachments, key); message.attachments[key] = value; break; } @@ -63681,7 +66142,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -63712,9 +66173,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AdaptMessageAction.verify = function verify(message) { + AdaptMessageAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.databaseUri != null && message.hasOwnProperty("databaseUri")) if (!$util.isString(message.databaseUri)) return "databaseUri: string expected"; @@ -63749,9 +66214,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.AdaptMessageAction} AdaptMessageAction */ - AdaptMessageAction.fromObject = function fromObject(object) { + AdaptMessageAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.AdaptMessageAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.AdaptMessageAction(); if (object.databaseUri != null) message.databaseUri = String(object.databaseUri); @@ -63766,8 +66235,11 @@ if (typeof object.attachments !== "object") throw TypeError(".google.spanner.executor.v1.AdaptMessageAction.attachments: object expected"); message.attachments = {}; - for (var keys = Object.keys(object.attachments), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.attachments), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.attachments, keys[i]); message.attachments[keys[i]] = String(object.attachments[keys[i]]); + } } if (object.query != null) message.query = String(object.query); @@ -63813,8 +66285,11 @@ var keys2; if (message.attachments && (keys2 = Object.keys(message.attachments)).length) { object.attachments = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.attachments, keys2[j]); object.attachments[keys2[j]] = message.attachments[keys2[j]]; + } } if (message.query != null && message.hasOwnProperty("query")) object.query = message.query; @@ -63875,7 +66350,7 @@ function ListCloudDatabasesAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -63970,9 +66445,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListCloudDatabasesAction.decode = function decode(reader, length, error) { + ListCloudDatabasesAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ListCloudDatabasesAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -63996,7 +66475,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -64027,9 +66506,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListCloudDatabasesAction.verify = function verify(message) { + ListCloudDatabasesAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -64053,9 +66536,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ListCloudDatabasesAction} ListCloudDatabasesAction */ - ListCloudDatabasesAction.fromObject = function fromObject(object) { + ListCloudDatabasesAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ListCloudDatabasesAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ListCloudDatabasesAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -64150,7 +66637,7 @@ function ListCloudInstancesAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -64266,9 +66753,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListCloudInstancesAction.decode = function decode(reader, length, error) { + ListCloudInstancesAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ListCloudInstancesAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -64292,7 +66783,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -64323,9 +66814,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListCloudInstancesAction.verify = function verify(message) { + ListCloudInstancesAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) @@ -64356,9 +66851,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ListCloudInstancesAction} ListCloudInstancesAction */ - ListCloudInstancesAction.fromObject = function fromObject(object) { + ListCloudInstancesAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ListCloudInstancesAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ListCloudInstancesAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -64456,7 +66955,7 @@ function GetCloudInstanceAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -64531,9 +67030,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCloudInstanceAction.decode = function decode(reader, length, error) { + GetCloudInstanceAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.GetCloudInstanceAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -64549,7 +67052,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -64580,9 +67083,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetCloudInstanceAction.verify = function verify(message) { + GetCloudInstanceAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -64600,9 +67107,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.GetCloudInstanceAction} GetCloudInstanceAction */ - GetCloudInstanceAction.fromObject = function fromObject(object) { + GetCloudInstanceAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.GetCloudInstanceAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.GetCloudInstanceAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -64688,7 +67199,7 @@ function ListCloudDatabaseOperationsAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -64793,9 +67304,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListCloudDatabaseOperationsAction.decode = function decode(reader, length, error) { + ListCloudDatabaseOperationsAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ListCloudDatabaseOperationsAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -64823,7 +67338,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -64854,9 +67369,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListCloudDatabaseOperationsAction.verify = function verify(message) { + ListCloudDatabaseOperationsAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -64883,9 +67402,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ListCloudDatabaseOperationsAction} ListCloudDatabaseOperationsAction */ - ListCloudDatabaseOperationsAction.fromObject = function fromObject(object) { + ListCloudDatabaseOperationsAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ListCloudDatabaseOperationsAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ListCloudDatabaseOperationsAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -64987,7 +67510,7 @@ function RestoreCloudDatabaseAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -65102,9 +67625,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RestoreCloudDatabaseAction.decode = function decode(reader, length, error) { + RestoreCloudDatabaseAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.RestoreCloudDatabaseAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65132,11 +67659,11 @@ break; } case 7: { - message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.decode(reader, reader.uint32()); + message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -65167,9 +67694,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RestoreCloudDatabaseAction.verify = function verify(message) { + RestoreCloudDatabaseAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -65186,7 +67717,7 @@ if (!$util.isString(message.databaseId)) return "databaseId: string expected"; if (message.encryptionConfig != null && message.hasOwnProperty("encryptionConfig")) { - var error = $root.google.spanner.admin.database.v1.EncryptionConfig.verify(message.encryptionConfig); + var error = $root.google.spanner.admin.database.v1.EncryptionConfig.verify(message.encryptionConfig, long + 1); if (error) return "encryptionConfig." + error; } @@ -65201,9 +67732,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.RestoreCloudDatabaseAction} RestoreCloudDatabaseAction */ - RestoreCloudDatabaseAction.fromObject = function fromObject(object) { + RestoreCloudDatabaseAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.RestoreCloudDatabaseAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.RestoreCloudDatabaseAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -65218,7 +67753,7 @@ if (object.encryptionConfig != null) { if (typeof object.encryptionConfig !== "object") throw TypeError(".google.spanner.executor.v1.RestoreCloudDatabaseAction.encryptionConfig: object expected"); - message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.fromObject(object.encryptionConfig); + message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.fromObject(object.encryptionConfig, long + 1); } return message; }; @@ -65310,7 +67845,7 @@ function GetCloudDatabaseAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -65395,9 +67930,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCloudDatabaseAction.decode = function decode(reader, length, error) { + GetCloudDatabaseAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.GetCloudDatabaseAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65417,7 +67956,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -65448,9 +67987,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetCloudDatabaseAction.verify = function verify(message) { + GetCloudDatabaseAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -65471,9 +68014,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.GetCloudDatabaseAction} GetCloudDatabaseAction */ - GetCloudDatabaseAction.fromObject = function fromObject(object) { + GetCloudDatabaseAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.GetCloudDatabaseAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.GetCloudDatabaseAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -65566,7 +68113,7 @@ function CreateCloudBackupAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -65700,9 +68247,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateCloudBackupAction.decode = function decode(reader, length, error) { + CreateCloudBackupAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CreateCloudBackupAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -65726,19 +68277,19 @@ break; } case 5: { - message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.versionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.versionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.decode(reader, reader.uint32()); + message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -65769,9 +68320,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateCloudBackupAction.verify = function verify(message) { + CreateCloudBackupAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) @@ -65786,20 +68341,20 @@ if (!$util.isString(message.databaseId)) return "databaseId: string expected"; if (message.expireTime != null && message.hasOwnProperty("expireTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + var error = $root.google.protobuf.Timestamp.verify(message.expireTime, long + 1); if (error) return "expireTime." + error; } if (message.versionTime != null && message.hasOwnProperty("versionTime")) { properties._versionTime = 1; { - var error = $root.google.protobuf.Timestamp.verify(message.versionTime); + var error = $root.google.protobuf.Timestamp.verify(message.versionTime, long + 1); if (error) return "versionTime." + error; } } if (message.encryptionConfig != null && message.hasOwnProperty("encryptionConfig")) { - var error = $root.google.spanner.admin.database.v1.EncryptionConfig.verify(message.encryptionConfig); + var error = $root.google.spanner.admin.database.v1.EncryptionConfig.verify(message.encryptionConfig, long + 1); if (error) return "encryptionConfig." + error; } @@ -65814,9 +68369,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CreateCloudBackupAction} CreateCloudBackupAction */ - CreateCloudBackupAction.fromObject = function fromObject(object) { + CreateCloudBackupAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CreateCloudBackupAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CreateCloudBackupAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -65829,17 +68388,17 @@ if (object.expireTime != null) { if (typeof object.expireTime !== "object") throw TypeError(".google.spanner.executor.v1.CreateCloudBackupAction.expireTime: object expected"); - message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime, long + 1); } if (object.versionTime != null) { if (typeof object.versionTime !== "object") throw TypeError(".google.spanner.executor.v1.CreateCloudBackupAction.versionTime: object expected"); - message.versionTime = $root.google.protobuf.Timestamp.fromObject(object.versionTime); + message.versionTime = $root.google.protobuf.Timestamp.fromObject(object.versionTime, long + 1); } if (object.encryptionConfig != null) { if (typeof object.encryptionConfig !== "object") throw TypeError(".google.spanner.executor.v1.CreateCloudBackupAction.encryptionConfig: object expected"); - message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.fromObject(object.encryptionConfig); + message.encryptionConfig = $root.google.spanner.admin.database.v1.EncryptionConfig.fromObject(object.encryptionConfig, long + 1); } return message; }; @@ -65938,7 +68497,7 @@ function CopyCloudBackupAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -66043,9 +68602,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CopyCloudBackupAction.decode = function decode(reader, length, error) { + CopyCloudBackupAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CopyCloudBackupAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -66069,11 +68632,11 @@ break; } case 5: { - message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66104,9 +68667,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CopyCloudBackupAction.verify = function verify(message) { + CopyCloudBackupAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -66120,7 +68687,7 @@ if (!$util.isString(message.sourceBackup)) return "sourceBackup: string expected"; if (message.expireTime != null && message.hasOwnProperty("expireTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + var error = $root.google.protobuf.Timestamp.verify(message.expireTime, long + 1); if (error) return "expireTime." + error; } @@ -66135,9 +68702,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CopyCloudBackupAction} CopyCloudBackupAction */ - CopyCloudBackupAction.fromObject = function fromObject(object) { + CopyCloudBackupAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CopyCloudBackupAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CopyCloudBackupAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -66150,7 +68721,7 @@ if (object.expireTime != null) { if (typeof object.expireTime !== "object") throw TypeError(".google.spanner.executor.v1.CopyCloudBackupAction.expireTime: object expected"); - message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime, long + 1); } return message; }; @@ -66239,7 +68810,7 @@ function GetCloudBackupAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -66324,9 +68895,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetCloudBackupAction.decode = function decode(reader, length, error) { + GetCloudBackupAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.GetCloudBackupAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -66346,7 +68921,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66377,9 +68952,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetCloudBackupAction.verify = function verify(message) { + GetCloudBackupAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -66400,9 +68979,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.GetCloudBackupAction} GetCloudBackupAction */ - GetCloudBackupAction.fromObject = function fromObject(object) { + GetCloudBackupAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.GetCloudBackupAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.GetCloudBackupAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -66492,7 +69075,7 @@ function UpdateCloudBackupAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -66587,9 +69170,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - UpdateCloudBackupAction.decode = function decode(reader, length, error) { + UpdateCloudBackupAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.UpdateCloudBackupAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -66609,11 +69196,11 @@ break; } case 4: { - message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66644,9 +69231,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - UpdateCloudBackupAction.verify = function verify(message) { + UpdateCloudBackupAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -66657,7 +69248,7 @@ if (!$util.isString(message.backupId)) return "backupId: string expected"; if (message.expireTime != null && message.hasOwnProperty("expireTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + var error = $root.google.protobuf.Timestamp.verify(message.expireTime, long + 1); if (error) return "expireTime." + error; } @@ -66672,9 +69263,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.UpdateCloudBackupAction} UpdateCloudBackupAction */ - UpdateCloudBackupAction.fromObject = function fromObject(object) { + UpdateCloudBackupAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.UpdateCloudBackupAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.UpdateCloudBackupAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -66685,7 +69280,7 @@ if (object.expireTime != null) { if (typeof object.expireTime !== "object") throw TypeError(".google.spanner.executor.v1.UpdateCloudBackupAction.expireTime: object expected"); - message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime, long + 1); } return message; }; @@ -66771,7 +69366,7 @@ function DeleteCloudBackupAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -66856,9 +69451,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteCloudBackupAction.decode = function decode(reader, length, error) { + DeleteCloudBackupAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.DeleteCloudBackupAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -66878,7 +69477,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -66909,9 +69508,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteCloudBackupAction.verify = function verify(message) { + DeleteCloudBackupAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -66932,9 +69535,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.DeleteCloudBackupAction} DeleteCloudBackupAction */ - DeleteCloudBackupAction.fromObject = function fromObject(object) { + DeleteCloudBackupAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.DeleteCloudBackupAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.DeleteCloudBackupAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -67025,7 +69632,7 @@ function ListCloudBackupsAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -67130,9 +69737,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListCloudBackupsAction.decode = function decode(reader, length, error) { + ListCloudBackupsAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ListCloudBackupsAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -67160,7 +69771,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -67191,9 +69802,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListCloudBackupsAction.verify = function verify(message) { + ListCloudBackupsAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -67220,9 +69835,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ListCloudBackupsAction} ListCloudBackupsAction */ - ListCloudBackupsAction.fromObject = function fromObject(object) { + ListCloudBackupsAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ListCloudBackupsAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ListCloudBackupsAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -67323,7 +69942,7 @@ function ListCloudBackupOperationsAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -67428,9 +70047,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListCloudBackupOperationsAction.decode = function decode(reader, length, error) { + ListCloudBackupOperationsAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ListCloudBackupOperationsAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -67458,7 +70081,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -67489,9 +70112,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListCloudBackupOperationsAction.verify = function verify(message) { + ListCloudBackupOperationsAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -67518,9 +70145,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ListCloudBackupOperationsAction} ListCloudBackupOperationsAction */ - ListCloudBackupOperationsAction.fromObject = function fromObject(object) { + ListCloudBackupOperationsAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ListCloudBackupOperationsAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ListCloudBackupOperationsAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -67617,7 +70248,7 @@ function GetOperationAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -67682,9 +70313,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetOperationAction.decode = function decode(reader, length, error) { + GetOperationAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.GetOperationAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -67696,7 +70331,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -67727,9 +70362,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetOperationAction.verify = function verify(message) { + GetOperationAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.operation != null && message.hasOwnProperty("operation")) if (!$util.isString(message.operation)) return "operation: string expected"; @@ -67744,9 +70383,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.GetOperationAction} GetOperationAction */ - GetOperationAction.fromObject = function fromObject(object) { + GetOperationAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.GetOperationAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.GetOperationAction(); if (object.operation != null) message.operation = String(object.operation); @@ -67823,7 +70466,7 @@ function QueryCancellationAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -67898,9 +70541,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QueryCancellationAction.decode = function decode(reader, length, error) { + QueryCancellationAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.QueryCancellationAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -67916,7 +70563,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -67947,9 +70594,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - QueryCancellationAction.verify = function verify(message) { + QueryCancellationAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.longRunningSql != null && message.hasOwnProperty("longRunningSql")) if (!$util.isString(message.longRunningSql)) return "longRunningSql: string expected"; @@ -67967,9 +70618,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.QueryCancellationAction} QueryCancellationAction */ - QueryCancellationAction.fromObject = function fromObject(object) { + QueryCancellationAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.QueryCancellationAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.QueryCancellationAction(); if (object.longRunningSql != null) message.longRunningSql = String(object.longRunningSql); @@ -68051,7 +70706,7 @@ function CancelOperationAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68116,9 +70771,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CancelOperationAction.decode = function decode(reader, length, error) { + CancelOperationAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CancelOperationAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -68130,7 +70789,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68161,9 +70820,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CancelOperationAction.verify = function verify(message) { + CancelOperationAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.operation != null && message.hasOwnProperty("operation")) if (!$util.isString(message.operation)) return "operation: string expected"; @@ -68178,9 +70841,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CancelOperationAction} CancelOperationAction */ - CancelOperationAction.fromObject = function fromObject(object) { + CancelOperationAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CancelOperationAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CancelOperationAction(); if (object.operation != null) message.operation = String(object.operation); @@ -68260,7 +70927,7 @@ this.splitPoints = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68356,9 +71023,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AddSplitPointsAction.decode = function decode(reader, length, error) { + AddSplitPointsAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.AddSplitPointsAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -68380,11 +71051,11 @@ case 4: { if (!(message.splitPoints && message.splitPoints.length)) message.splitPoints = []; - message.splitPoints.push($root.google.spanner.admin.database.v1.SplitPoints.decode(reader, reader.uint32())); + message.splitPoints.push($root.google.spanner.admin.database.v1.SplitPoints.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68415,9 +71086,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AddSplitPointsAction.verify = function verify(message) { + AddSplitPointsAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.projectId != null && message.hasOwnProperty("projectId")) if (!$util.isString(message.projectId)) return "projectId: string expected"; @@ -68431,7 +71106,7 @@ if (!Array.isArray(message.splitPoints)) return "splitPoints: array expected"; for (var i = 0; i < message.splitPoints.length; ++i) { - var error = $root.google.spanner.admin.database.v1.SplitPoints.verify(message.splitPoints[i]); + var error = $root.google.spanner.admin.database.v1.SplitPoints.verify(message.splitPoints[i], long + 1); if (error) return "splitPoints." + error; } @@ -68447,9 +71122,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.AddSplitPointsAction} AddSplitPointsAction */ - AddSplitPointsAction.fromObject = function fromObject(object) { + AddSplitPointsAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.AddSplitPointsAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.AddSplitPointsAction(); if (object.projectId != null) message.projectId = String(object.projectId); @@ -68464,7 +71143,7 @@ for (var i = 0; i < object.splitPoints.length; ++i) { if (typeof object.splitPoints[i] !== "object") throw TypeError(".google.spanner.executor.v1.AddSplitPointsAction.splitPoints: object expected"); - message.splitPoints[i] = $root.google.spanner.admin.database.v1.SplitPoints.fromObject(object.splitPoints[i]); + message.splitPoints[i] = $root.google.spanner.admin.database.v1.SplitPoints.fromObject(object.splitPoints[i], long + 1); } } return message; @@ -68555,7 +71234,7 @@ function StartBatchTransactionAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68654,9 +71333,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StartBatchTransactionAction.decode = function decode(reader, length, error) { + StartBatchTransactionAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.StartBatchTransactionAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -68664,7 +71347,7 @@ break; switch (tag >>> 3) { case 1: { - message.batchTxnTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.batchTxnTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -68676,7 +71359,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68707,14 +71390,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StartBatchTransactionAction.verify = function verify(message) { + StartBatchTransactionAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.batchTxnTime != null && message.hasOwnProperty("batchTxnTime")) { properties.param = 1; { - var error = $root.google.protobuf.Timestamp.verify(message.batchTxnTime); + var error = $root.google.protobuf.Timestamp.verify(message.batchTxnTime, long + 1); if (error) return "batchTxnTime." + error; } @@ -68740,14 +71427,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.StartBatchTransactionAction} StartBatchTransactionAction */ - StartBatchTransactionAction.fromObject = function fromObject(object) { + StartBatchTransactionAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.StartBatchTransactionAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.StartBatchTransactionAction(); if (object.batchTxnTime != null) { if (typeof object.batchTxnTime !== "object") throw TypeError(".google.spanner.executor.v1.StartBatchTransactionAction.batchTxnTime: object expected"); - message.batchTxnTime = $root.google.protobuf.Timestamp.fromObject(object.batchTxnTime); + message.batchTxnTime = $root.google.protobuf.Timestamp.fromObject(object.batchTxnTime, long + 1); } if (object.tid != null) if (typeof object.tid === "string") @@ -68838,7 +71529,7 @@ function CloseBatchTransactionAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -68903,9 +71594,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloseBatchTransactionAction.decode = function decode(reader, length, error) { + CloseBatchTransactionAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CloseBatchTransactionAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -68917,7 +71612,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -68948,9 +71643,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloseBatchTransactionAction.verify = function verify(message) { + CloseBatchTransactionAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.cleanup != null && message.hasOwnProperty("cleanup")) if (typeof message.cleanup !== "boolean") return "cleanup: boolean expected"; @@ -68965,9 +71664,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CloseBatchTransactionAction} CloseBatchTransactionAction */ - CloseBatchTransactionAction.fromObject = function fromObject(object) { + CloseBatchTransactionAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CloseBatchTransactionAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CloseBatchTransactionAction(); if (object.cleanup != null) message.cleanup = Boolean(object.cleanup); @@ -69047,7 +71750,7 @@ this.table = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -69158,9 +71861,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateDbPartitionsForReadAction.decode = function decode(reader, length, error) { + GenerateDbPartitionsForReadAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.GenerateDbPartitionsForReadAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -69168,13 +71875,13 @@ break; switch (tag >>> 3) { case 1: { - message.read = $root.google.spanner.executor.v1.ReadAction.decode(reader, reader.uint32()); + message.read = $root.google.spanner.executor.v1.ReadAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { if (!(message.table && message.table.length)) message.table = []; - message.table.push($root.google.spanner.executor.v1.TableMetadata.decode(reader, reader.uint32())); + message.table.push($root.google.spanner.executor.v1.TableMetadata.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -69186,7 +71893,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -69217,12 +71924,16 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GenerateDbPartitionsForReadAction.verify = function verify(message) { + GenerateDbPartitionsForReadAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.read != null && message.hasOwnProperty("read")) { - var error = $root.google.spanner.executor.v1.ReadAction.verify(message.read); + var error = $root.google.spanner.executor.v1.ReadAction.verify(message.read, long + 1); if (error) return "read." + error; } @@ -69230,7 +71941,7 @@ if (!Array.isArray(message.table)) return "table: array expected"; for (var i = 0; i < message.table.length; ++i) { - var error = $root.google.spanner.executor.v1.TableMetadata.verify(message.table[i]); + var error = $root.google.spanner.executor.v1.TableMetadata.verify(message.table[i], long + 1); if (error) return "table." + error; } @@ -69256,14 +71967,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.GenerateDbPartitionsForReadAction} GenerateDbPartitionsForReadAction */ - GenerateDbPartitionsForReadAction.fromObject = function fromObject(object) { + GenerateDbPartitionsForReadAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.GenerateDbPartitionsForReadAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.GenerateDbPartitionsForReadAction(); if (object.read != null) { if (typeof object.read !== "object") throw TypeError(".google.spanner.executor.v1.GenerateDbPartitionsForReadAction.read: object expected"); - message.read = $root.google.spanner.executor.v1.ReadAction.fromObject(object.read); + message.read = $root.google.spanner.executor.v1.ReadAction.fromObject(object.read, long + 1); } if (object.table) { if (!Array.isArray(object.table)) @@ -69272,7 +71987,7 @@ for (var i = 0; i < object.table.length; ++i) { if (typeof object.table[i] !== "object") throw TypeError(".google.spanner.executor.v1.GenerateDbPartitionsForReadAction.table: object expected"); - message.table[i] = $root.google.spanner.executor.v1.TableMetadata.fromObject(object.table[i]); + message.table[i] = $root.google.spanner.executor.v1.TableMetadata.fromObject(object.table[i], long + 1); } } if (object.desiredBytesPerPartition != null) @@ -69389,7 +72104,7 @@ function GenerateDbPartitionsForQueryAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -69473,9 +72188,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GenerateDbPartitionsForQueryAction.decode = function decode(reader, length, error) { + GenerateDbPartitionsForQueryAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.GenerateDbPartitionsForQueryAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -69483,7 +72202,7 @@ break; switch (tag >>> 3) { case 1: { - message.query = $root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32()); + message.query = $root.google.spanner.executor.v1.QueryAction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -69491,7 +72210,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -69522,12 +72241,16 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GenerateDbPartitionsForQueryAction.verify = function verify(message) { + GenerateDbPartitionsForQueryAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.query != null && message.hasOwnProperty("query")) { - var error = $root.google.spanner.executor.v1.QueryAction.verify(message.query); + var error = $root.google.spanner.executor.v1.QueryAction.verify(message.query, long + 1); if (error) return "query." + error; } @@ -69547,14 +72270,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.GenerateDbPartitionsForQueryAction} GenerateDbPartitionsForQueryAction */ - GenerateDbPartitionsForQueryAction.fromObject = function fromObject(object) { + GenerateDbPartitionsForQueryAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.GenerateDbPartitionsForQueryAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.GenerateDbPartitionsForQueryAction(); if (object.query != null) { if (typeof object.query !== "object") throw TypeError(".google.spanner.executor.v1.GenerateDbPartitionsForQueryAction.query: object expected"); - message.query = $root.google.spanner.executor.v1.QueryAction.fromObject(object.query); + message.query = $root.google.spanner.executor.v1.QueryAction.fromObject(object.query, long + 1); } if (object.desiredBytesPerPartition != null) if ($util.Long) @@ -69648,7 +72375,7 @@ function BatchPartition(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -69758,9 +72485,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchPartition.decode = function decode(reader, length, error) { + BatchPartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.BatchPartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -69784,7 +72515,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -69815,9 +72546,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchPartition.verify = function verify(message) { + BatchPartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.partition != null && message.hasOwnProperty("partition")) if (!(message.partition && typeof message.partition.length === "number" || $util.isString(message.partition))) @@ -69846,9 +72581,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.BatchPartition} BatchPartition */ - BatchPartition.fromObject = function fromObject(object) { + BatchPartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.BatchPartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.BatchPartition(); if (object.partition != null) if (typeof object.partition === "string") @@ -69962,7 +72701,7 @@ function ExecutePartitionAction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -70027,9 +72766,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExecutePartitionAction.decode = function decode(reader, length, error) { + ExecutePartitionAction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ExecutePartitionAction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -70037,11 +72780,11 @@ break; switch (tag >>> 3) { case 1: { - message.partition = $root.google.spanner.executor.v1.BatchPartition.decode(reader, reader.uint32()); + message.partition = $root.google.spanner.executor.v1.BatchPartition.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -70072,11 +72815,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExecutePartitionAction.verify = function verify(message) { + ExecutePartitionAction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partition != null && message.hasOwnProperty("partition")) { - var error = $root.google.spanner.executor.v1.BatchPartition.verify(message.partition); + var error = $root.google.spanner.executor.v1.BatchPartition.verify(message.partition, long + 1); if (error) return "partition." + error; } @@ -70091,14 +72838,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ExecutePartitionAction} ExecutePartitionAction */ - ExecutePartitionAction.fromObject = function fromObject(object) { + ExecutePartitionAction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ExecutePartitionAction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ExecutePartitionAction(); if (object.partition != null) { if (typeof object.partition !== "object") throw TypeError(".google.spanner.executor.v1.ExecutePartitionAction.partition: object expected"); - message.partition = $root.google.spanner.executor.v1.BatchPartition.fromObject(object.partition); + message.partition = $root.google.spanner.executor.v1.BatchPartition.fromObject(object.partition, long + 1); } return message; }; @@ -70180,7 +72931,7 @@ this.readOptions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -70349,9 +73100,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExecuteChangeStreamQuery.decode = function decode(reader, length, error) { + ExecuteChangeStreamQuery.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ExecuteChangeStreamQuery(); while (reader.pos < end) { var tag = reader.uint32(); @@ -70363,11 +73118,11 @@ break; } case 2: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -70393,7 +73148,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -70424,22 +73179,26 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExecuteChangeStreamQuery.verify = function verify(message) { + ExecuteChangeStreamQuery.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } if (message.endTime != null && message.hasOwnProperty("endTime")) { properties._endTime = 1; { - var error = $root.google.protobuf.Timestamp.verify(message.endTime); + var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1); if (error) return "endTime." + error; } @@ -70482,21 +73241,25 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ExecuteChangeStreamQuery} ExecuteChangeStreamQuery */ - ExecuteChangeStreamQuery.fromObject = function fromObject(object) { + ExecuteChangeStreamQuery.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ExecuteChangeStreamQuery) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ExecuteChangeStreamQuery(); if (object.name != null) message.name = String(object.name); if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.spanner.executor.v1.ExecuteChangeStreamQuery.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.endTime != null) { if (typeof object.endTime !== "object") throw TypeError(".google.spanner.executor.v1.ExecuteChangeStreamQuery.endTime: object expected"); - message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1); } if (object.partitionToken != null) message.partitionToken = String(object.partitionToken); @@ -70644,7 +73407,7 @@ this.changeStreamRecords = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -70866,9 +73629,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SpannerActionOutcome.decode = function decode(reader, length, error) { + SpannerActionOutcome.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.SpannerActionOutcome(); while (reader.pos < end) { var tag = reader.uint32(); @@ -70876,19 +73643,19 @@ break; switch (tag >>> 3) { case 1: { - message.status = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.status = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.commitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.commitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.readResult = $root.google.spanner.executor.v1.ReadResult.decode(reader, reader.uint32()); + message.readResult = $root.google.spanner.executor.v1.ReadResult.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.queryResult = $root.google.spanner.executor.v1.QueryResult.decode(reader, reader.uint32()); + message.queryResult = $root.google.spanner.executor.v1.QueryResult.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -70902,11 +73669,11 @@ case 7: { if (!(message.dbPartition && message.dbPartition.length)) message.dbPartition = []; - message.dbPartition.push($root.google.spanner.executor.v1.BatchPartition.decode(reader, reader.uint32())); + message.dbPartition.push($root.google.spanner.executor.v1.BatchPartition.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { - message.adminResult = $root.google.spanner.executor.v1.AdminResult.decode(reader, reader.uint32()); + message.adminResult = $root.google.spanner.executor.v1.AdminResult.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { @@ -70923,7 +73690,7 @@ case 10: { if (!(message.changeStreamRecords && message.changeStreamRecords.length)) message.changeStreamRecords = []; - message.changeStreamRecords.push($root.google.spanner.executor.v1.ChangeStreamRecord.decode(reader, reader.uint32())); + message.changeStreamRecords.push($root.google.spanner.executor.v1.ChangeStreamRecord.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 11: { @@ -70931,7 +73698,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -70962,14 +73729,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SpannerActionOutcome.verify = function verify(message) { + SpannerActionOutcome.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.status != null && message.hasOwnProperty("status")) { properties._status = 1; { - var error = $root.google.rpc.Status.verify(message.status); + var error = $root.google.rpc.Status.verify(message.status, long + 1); if (error) return "status." + error; } @@ -70977,7 +73748,7 @@ if (message.commitTime != null && message.hasOwnProperty("commitTime")) { properties._commitTime = 1; { - var error = $root.google.protobuf.Timestamp.verify(message.commitTime); + var error = $root.google.protobuf.Timestamp.verify(message.commitTime, long + 1); if (error) return "commitTime." + error; } @@ -70985,7 +73756,7 @@ if (message.readResult != null && message.hasOwnProperty("readResult")) { properties._readResult = 1; { - var error = $root.google.spanner.executor.v1.ReadResult.verify(message.readResult); + var error = $root.google.spanner.executor.v1.ReadResult.verify(message.readResult, long + 1); if (error) return "readResult." + error; } @@ -70993,7 +73764,7 @@ if (message.queryResult != null && message.hasOwnProperty("queryResult")) { properties._queryResult = 1; { - var error = $root.google.spanner.executor.v1.QueryResult.verify(message.queryResult); + var error = $root.google.spanner.executor.v1.QueryResult.verify(message.queryResult, long + 1); if (error) return "queryResult." + error; } @@ -71012,7 +73783,7 @@ if (!Array.isArray(message.dbPartition)) return "dbPartition: array expected"; for (var i = 0; i < message.dbPartition.length; ++i) { - var error = $root.google.spanner.executor.v1.BatchPartition.verify(message.dbPartition[i]); + var error = $root.google.spanner.executor.v1.BatchPartition.verify(message.dbPartition[i], long + 1); if (error) return "dbPartition." + error; } @@ -71020,7 +73791,7 @@ if (message.adminResult != null && message.hasOwnProperty("adminResult")) { properties._adminResult = 1; { - var error = $root.google.spanner.executor.v1.AdminResult.verify(message.adminResult); + var error = $root.google.spanner.executor.v1.AdminResult.verify(message.adminResult, long + 1); if (error) return "adminResult." + error; } @@ -71036,7 +73807,7 @@ if (!Array.isArray(message.changeStreamRecords)) return "changeStreamRecords: array expected"; for (var i = 0; i < message.changeStreamRecords.length; ++i) { - var error = $root.google.spanner.executor.v1.ChangeStreamRecord.verify(message.changeStreamRecords[i]); + var error = $root.google.spanner.executor.v1.ChangeStreamRecord.verify(message.changeStreamRecords[i], long + 1); if (error) return "changeStreamRecords." + error; } @@ -71057,29 +73828,33 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.SpannerActionOutcome} SpannerActionOutcome */ - SpannerActionOutcome.fromObject = function fromObject(object) { + SpannerActionOutcome.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.SpannerActionOutcome) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.SpannerActionOutcome(); if (object.status != null) { if (typeof object.status !== "object") throw TypeError(".google.spanner.executor.v1.SpannerActionOutcome.status: object expected"); - message.status = $root.google.rpc.Status.fromObject(object.status); + message.status = $root.google.rpc.Status.fromObject(object.status, long + 1); } if (object.commitTime != null) { if (typeof object.commitTime !== "object") throw TypeError(".google.spanner.executor.v1.SpannerActionOutcome.commitTime: object expected"); - message.commitTime = $root.google.protobuf.Timestamp.fromObject(object.commitTime); + message.commitTime = $root.google.protobuf.Timestamp.fromObject(object.commitTime, long + 1); } if (object.readResult != null) { if (typeof object.readResult !== "object") throw TypeError(".google.spanner.executor.v1.SpannerActionOutcome.readResult: object expected"); - message.readResult = $root.google.spanner.executor.v1.ReadResult.fromObject(object.readResult); + message.readResult = $root.google.spanner.executor.v1.ReadResult.fromObject(object.readResult, long + 1); } if (object.queryResult != null) { if (typeof object.queryResult !== "object") throw TypeError(".google.spanner.executor.v1.SpannerActionOutcome.queryResult: object expected"); - message.queryResult = $root.google.spanner.executor.v1.QueryResult.fromObject(object.queryResult); + message.queryResult = $root.google.spanner.executor.v1.QueryResult.fromObject(object.queryResult, long + 1); } if (object.transactionRestarted != null) message.transactionRestarted = Boolean(object.transactionRestarted); @@ -71095,13 +73870,13 @@ for (var i = 0; i < object.dbPartition.length; ++i) { if (typeof object.dbPartition[i] !== "object") throw TypeError(".google.spanner.executor.v1.SpannerActionOutcome.dbPartition: object expected"); - message.dbPartition[i] = $root.google.spanner.executor.v1.BatchPartition.fromObject(object.dbPartition[i]); + message.dbPartition[i] = $root.google.spanner.executor.v1.BatchPartition.fromObject(object.dbPartition[i], long + 1); } } if (object.adminResult != null) { if (typeof object.adminResult !== "object") throw TypeError(".google.spanner.executor.v1.SpannerActionOutcome.adminResult: object expected"); - message.adminResult = $root.google.spanner.executor.v1.AdminResult.fromObject(object.adminResult); + message.adminResult = $root.google.spanner.executor.v1.AdminResult.fromObject(object.adminResult, long + 1); } if (object.dmlRowsModified) { if (!Array.isArray(object.dmlRowsModified)) @@ -71124,7 +73899,7 @@ for (var i = 0; i < object.changeStreamRecords.length; ++i) { if (typeof object.changeStreamRecords[i] !== "object") throw TypeError(".google.spanner.executor.v1.SpannerActionOutcome.changeStreamRecords: object expected"); - message.changeStreamRecords[i] = $root.google.spanner.executor.v1.ChangeStreamRecord.fromObject(object.changeStreamRecords[i]); + message.changeStreamRecords[i] = $root.google.spanner.executor.v1.ChangeStreamRecord.fromObject(object.changeStreamRecords[i], long + 1); } } if (object.snapshotIsolationTxnReadTimestamp != null) @@ -71274,7 +74049,7 @@ function AdminResult(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -71379,9 +74154,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AdminResult.decode = function decode(reader, length, error) { + AdminResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.AdminResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -71389,27 +74168,27 @@ break; switch (tag >>> 3) { case 1: { - message.backupResponse = $root.google.spanner.executor.v1.CloudBackupResponse.decode(reader, reader.uint32()); + message.backupResponse = $root.google.spanner.executor.v1.CloudBackupResponse.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.operationResponse = $root.google.spanner.executor.v1.OperationResponse.decode(reader, reader.uint32()); + message.operationResponse = $root.google.spanner.executor.v1.OperationResponse.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.databaseResponse = $root.google.spanner.executor.v1.CloudDatabaseResponse.decode(reader, reader.uint32()); + message.databaseResponse = $root.google.spanner.executor.v1.CloudDatabaseResponse.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.instanceResponse = $root.google.spanner.executor.v1.CloudInstanceResponse.decode(reader, reader.uint32()); + message.instanceResponse = $root.google.spanner.executor.v1.CloudInstanceResponse.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.instanceConfigResponse = $root.google.spanner.executor.v1.CloudInstanceConfigResponse.decode(reader, reader.uint32()); + message.instanceConfigResponse = $root.google.spanner.executor.v1.CloudInstanceConfigResponse.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -71440,31 +74219,35 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AdminResult.verify = function verify(message) { + AdminResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.backupResponse != null && message.hasOwnProperty("backupResponse")) { - var error = $root.google.spanner.executor.v1.CloudBackupResponse.verify(message.backupResponse); + var error = $root.google.spanner.executor.v1.CloudBackupResponse.verify(message.backupResponse, long + 1); if (error) return "backupResponse." + error; } if (message.operationResponse != null && message.hasOwnProperty("operationResponse")) { - var error = $root.google.spanner.executor.v1.OperationResponse.verify(message.operationResponse); + var error = $root.google.spanner.executor.v1.OperationResponse.verify(message.operationResponse, long + 1); if (error) return "operationResponse." + error; } if (message.databaseResponse != null && message.hasOwnProperty("databaseResponse")) { - var error = $root.google.spanner.executor.v1.CloudDatabaseResponse.verify(message.databaseResponse); + var error = $root.google.spanner.executor.v1.CloudDatabaseResponse.verify(message.databaseResponse, long + 1); if (error) return "databaseResponse." + error; } if (message.instanceResponse != null && message.hasOwnProperty("instanceResponse")) { - var error = $root.google.spanner.executor.v1.CloudInstanceResponse.verify(message.instanceResponse); + var error = $root.google.spanner.executor.v1.CloudInstanceResponse.verify(message.instanceResponse, long + 1); if (error) return "instanceResponse." + error; } if (message.instanceConfigResponse != null && message.hasOwnProperty("instanceConfigResponse")) { - var error = $root.google.spanner.executor.v1.CloudInstanceConfigResponse.verify(message.instanceConfigResponse); + var error = $root.google.spanner.executor.v1.CloudInstanceConfigResponse.verify(message.instanceConfigResponse, long + 1); if (error) return "instanceConfigResponse." + error; } @@ -71479,34 +74262,38 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.AdminResult} AdminResult */ - AdminResult.fromObject = function fromObject(object) { + AdminResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.AdminResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.AdminResult(); if (object.backupResponse != null) { if (typeof object.backupResponse !== "object") throw TypeError(".google.spanner.executor.v1.AdminResult.backupResponse: object expected"); - message.backupResponse = $root.google.spanner.executor.v1.CloudBackupResponse.fromObject(object.backupResponse); + message.backupResponse = $root.google.spanner.executor.v1.CloudBackupResponse.fromObject(object.backupResponse, long + 1); } if (object.operationResponse != null) { if (typeof object.operationResponse !== "object") throw TypeError(".google.spanner.executor.v1.AdminResult.operationResponse: object expected"); - message.operationResponse = $root.google.spanner.executor.v1.OperationResponse.fromObject(object.operationResponse); + message.operationResponse = $root.google.spanner.executor.v1.OperationResponse.fromObject(object.operationResponse, long + 1); } if (object.databaseResponse != null) { if (typeof object.databaseResponse !== "object") throw TypeError(".google.spanner.executor.v1.AdminResult.databaseResponse: object expected"); - message.databaseResponse = $root.google.spanner.executor.v1.CloudDatabaseResponse.fromObject(object.databaseResponse); + message.databaseResponse = $root.google.spanner.executor.v1.CloudDatabaseResponse.fromObject(object.databaseResponse, long + 1); } if (object.instanceResponse != null) { if (typeof object.instanceResponse !== "object") throw TypeError(".google.spanner.executor.v1.AdminResult.instanceResponse: object expected"); - message.instanceResponse = $root.google.spanner.executor.v1.CloudInstanceResponse.fromObject(object.instanceResponse); + message.instanceResponse = $root.google.spanner.executor.v1.CloudInstanceResponse.fromObject(object.instanceResponse, long + 1); } if (object.instanceConfigResponse != null) { if (typeof object.instanceConfigResponse !== "object") throw TypeError(".google.spanner.executor.v1.AdminResult.instanceConfigResponse: object expected"); - message.instanceConfigResponse = $root.google.spanner.executor.v1.CloudInstanceConfigResponse.fromObject(object.instanceConfigResponse); + message.instanceConfigResponse = $root.google.spanner.executor.v1.CloudInstanceConfigResponse.fromObject(object.instanceConfigResponse, long + 1); } return message; }; @@ -71598,7 +74385,7 @@ this.listedBackupOperations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -71695,9 +74482,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudBackupResponse.decode = function decode(reader, length, error) { + CloudBackupResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CloudBackupResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -71707,13 +74498,13 @@ case 1: { if (!(message.listedBackups && message.listedBackups.length)) message.listedBackups = []; - message.listedBackups.push($root.google.spanner.admin.database.v1.Backup.decode(reader, reader.uint32())); + message.listedBackups.push($root.google.spanner.admin.database.v1.Backup.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.listedBackupOperations && message.listedBackupOperations.length)) message.listedBackupOperations = []; - message.listedBackupOperations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.listedBackupOperations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -71721,11 +74512,11 @@ break; } case 4: { - message.backup = $root.google.spanner.admin.database.v1.Backup.decode(reader, reader.uint32()); + message.backup = $root.google.spanner.admin.database.v1.Backup.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -71756,14 +74547,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudBackupResponse.verify = function verify(message) { + CloudBackupResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listedBackups != null && message.hasOwnProperty("listedBackups")) { if (!Array.isArray(message.listedBackups)) return "listedBackups: array expected"; for (var i = 0; i < message.listedBackups.length; ++i) { - var error = $root.google.spanner.admin.database.v1.Backup.verify(message.listedBackups[i]); + var error = $root.google.spanner.admin.database.v1.Backup.verify(message.listedBackups[i], long + 1); if (error) return "listedBackups." + error; } @@ -71772,7 +74567,7 @@ if (!Array.isArray(message.listedBackupOperations)) return "listedBackupOperations: array expected"; for (var i = 0; i < message.listedBackupOperations.length; ++i) { - var error = $root.google.longrunning.Operation.verify(message.listedBackupOperations[i]); + var error = $root.google.longrunning.Operation.verify(message.listedBackupOperations[i], long + 1); if (error) return "listedBackupOperations." + error; } @@ -71781,7 +74576,7 @@ if (!$util.isString(message.nextPageToken)) return "nextPageToken: string expected"; if (message.backup != null && message.hasOwnProperty("backup")) { - var error = $root.google.spanner.admin.database.v1.Backup.verify(message.backup); + var error = $root.google.spanner.admin.database.v1.Backup.verify(message.backup, long + 1); if (error) return "backup." + error; } @@ -71796,9 +74591,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CloudBackupResponse} CloudBackupResponse */ - CloudBackupResponse.fromObject = function fromObject(object) { + CloudBackupResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CloudBackupResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CloudBackupResponse(); if (object.listedBackups) { if (!Array.isArray(object.listedBackups)) @@ -71807,7 +74606,7 @@ for (var i = 0; i < object.listedBackups.length; ++i) { if (typeof object.listedBackups[i] !== "object") throw TypeError(".google.spanner.executor.v1.CloudBackupResponse.listedBackups: object expected"); - message.listedBackups[i] = $root.google.spanner.admin.database.v1.Backup.fromObject(object.listedBackups[i]); + message.listedBackups[i] = $root.google.spanner.admin.database.v1.Backup.fromObject(object.listedBackups[i], long + 1); } } if (object.listedBackupOperations) { @@ -71817,7 +74616,7 @@ for (var i = 0; i < object.listedBackupOperations.length; ++i) { if (typeof object.listedBackupOperations[i] !== "object") throw TypeError(".google.spanner.executor.v1.CloudBackupResponse.listedBackupOperations: object expected"); - message.listedBackupOperations[i] = $root.google.longrunning.Operation.fromObject(object.listedBackupOperations[i]); + message.listedBackupOperations[i] = $root.google.longrunning.Operation.fromObject(object.listedBackupOperations[i], long + 1); } } if (object.nextPageToken != null) @@ -71825,7 +74624,7 @@ if (object.backup != null) { if (typeof object.backup !== "object") throw TypeError(".google.spanner.executor.v1.CloudBackupResponse.backup: object expected"); - message.backup = $root.google.spanner.admin.database.v1.Backup.fromObject(object.backup); + message.backup = $root.google.spanner.admin.database.v1.Backup.fromObject(object.backup, long + 1); } return message; }; @@ -71920,7 +74719,7 @@ this.listedOperations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -72006,9 +74805,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationResponse.decode = function decode(reader, length, error) { + OperationResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.OperationResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -72018,7 +74821,7 @@ case 1: { if (!(message.listedOperations && message.listedOperations.length)) message.listedOperations = []; - message.listedOperations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.listedOperations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -72026,11 +74829,11 @@ break; } case 3: { - message.operation = $root.google.longrunning.Operation.decode(reader, reader.uint32()); + message.operation = $root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -72061,14 +74864,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationResponse.verify = function verify(message) { + OperationResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listedOperations != null && message.hasOwnProperty("listedOperations")) { if (!Array.isArray(message.listedOperations)) return "listedOperations: array expected"; for (var i = 0; i < message.listedOperations.length; ++i) { - var error = $root.google.longrunning.Operation.verify(message.listedOperations[i]); + var error = $root.google.longrunning.Operation.verify(message.listedOperations[i], long + 1); if (error) return "listedOperations." + error; } @@ -72077,7 +74884,7 @@ if (!$util.isString(message.nextPageToken)) return "nextPageToken: string expected"; if (message.operation != null && message.hasOwnProperty("operation")) { - var error = $root.google.longrunning.Operation.verify(message.operation); + var error = $root.google.longrunning.Operation.verify(message.operation, long + 1); if (error) return "operation." + error; } @@ -72092,9 +74899,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.OperationResponse} OperationResponse */ - OperationResponse.fromObject = function fromObject(object) { + OperationResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.OperationResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.OperationResponse(); if (object.listedOperations) { if (!Array.isArray(object.listedOperations)) @@ -72103,7 +74914,7 @@ for (var i = 0; i < object.listedOperations.length; ++i) { if (typeof object.listedOperations[i] !== "object") throw TypeError(".google.spanner.executor.v1.OperationResponse.listedOperations: object expected"); - message.listedOperations[i] = $root.google.longrunning.Operation.fromObject(object.listedOperations[i]); + message.listedOperations[i] = $root.google.longrunning.Operation.fromObject(object.listedOperations[i], long + 1); } } if (object.nextPageToken != null) @@ -72111,7 +74922,7 @@ if (object.operation != null) { if (typeof object.operation !== "object") throw TypeError(".google.spanner.executor.v1.OperationResponse.operation: object expected"); - message.operation = $root.google.longrunning.Operation.fromObject(object.operation); + message.operation = $root.google.longrunning.Operation.fromObject(object.operation, long + 1); } return message; }; @@ -72199,7 +75010,7 @@ this.listedInstances = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -72285,9 +75096,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudInstanceResponse.decode = function decode(reader, length, error) { + CloudInstanceResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CloudInstanceResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -72297,7 +75112,7 @@ case 1: { if (!(message.listedInstances && message.listedInstances.length)) message.listedInstances = []; - message.listedInstances.push($root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32())); + message.listedInstances.push($root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -72305,11 +75120,11 @@ break; } case 3: { - message.instance = $root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32()); + message.instance = $root.google.spanner.admin.instance.v1.Instance.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -72340,14 +75155,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudInstanceResponse.verify = function verify(message) { + CloudInstanceResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listedInstances != null && message.hasOwnProperty("listedInstances")) { if (!Array.isArray(message.listedInstances)) return "listedInstances: array expected"; for (var i = 0; i < message.listedInstances.length; ++i) { - var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.listedInstances[i]); + var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.listedInstances[i], long + 1); if (error) return "listedInstances." + error; } @@ -72356,7 +75175,7 @@ if (!$util.isString(message.nextPageToken)) return "nextPageToken: string expected"; if (message.instance != null && message.hasOwnProperty("instance")) { - var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instance); + var error = $root.google.spanner.admin.instance.v1.Instance.verify(message.instance, long + 1); if (error) return "instance." + error; } @@ -72371,9 +75190,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CloudInstanceResponse} CloudInstanceResponse */ - CloudInstanceResponse.fromObject = function fromObject(object) { + CloudInstanceResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CloudInstanceResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CloudInstanceResponse(); if (object.listedInstances) { if (!Array.isArray(object.listedInstances)) @@ -72382,7 +75205,7 @@ for (var i = 0; i < object.listedInstances.length; ++i) { if (typeof object.listedInstances[i] !== "object") throw TypeError(".google.spanner.executor.v1.CloudInstanceResponse.listedInstances: object expected"); - message.listedInstances[i] = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.listedInstances[i]); + message.listedInstances[i] = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.listedInstances[i], long + 1); } } if (object.nextPageToken != null) @@ -72390,7 +75213,7 @@ if (object.instance != null) { if (typeof object.instance !== "object") throw TypeError(".google.spanner.executor.v1.CloudInstanceResponse.instance: object expected"); - message.instance = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instance); + message.instance = $root.google.spanner.admin.instance.v1.Instance.fromObject(object.instance, long + 1); } return message; }; @@ -72478,7 +75301,7 @@ this.listedInstanceConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -72564,9 +75387,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudInstanceConfigResponse.decode = function decode(reader, length, error) { + CloudInstanceConfigResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CloudInstanceConfigResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -72576,7 +75403,7 @@ case 1: { if (!(message.listedInstanceConfigs && message.listedInstanceConfigs.length)) message.listedInstanceConfigs = []; - message.listedInstanceConfigs.push($root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32())); + message.listedInstanceConfigs.push($root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -72584,11 +75411,11 @@ break; } case 3: { - message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32()); + message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -72619,14 +75446,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudInstanceConfigResponse.verify = function verify(message) { + CloudInstanceConfigResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listedInstanceConfigs != null && message.hasOwnProperty("listedInstanceConfigs")) { if (!Array.isArray(message.listedInstanceConfigs)) return "listedInstanceConfigs: array expected"; for (var i = 0; i < message.listedInstanceConfigs.length; ++i) { - var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.listedInstanceConfigs[i]); + var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.listedInstanceConfigs[i], long + 1); if (error) return "listedInstanceConfigs." + error; } @@ -72635,7 +75466,7 @@ if (!$util.isString(message.nextPageToken)) return "nextPageToken: string expected"; if (message.instanceConfig != null && message.hasOwnProperty("instanceConfig")) { - var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfig); + var error = $root.google.spanner.admin.instance.v1.InstanceConfig.verify(message.instanceConfig, long + 1); if (error) return "instanceConfig." + error; } @@ -72650,9 +75481,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CloudInstanceConfigResponse} CloudInstanceConfigResponse */ - CloudInstanceConfigResponse.fromObject = function fromObject(object) { + CloudInstanceConfigResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CloudInstanceConfigResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CloudInstanceConfigResponse(); if (object.listedInstanceConfigs) { if (!Array.isArray(object.listedInstanceConfigs)) @@ -72661,7 +75496,7 @@ for (var i = 0; i < object.listedInstanceConfigs.length; ++i) { if (typeof object.listedInstanceConfigs[i] !== "object") throw TypeError(".google.spanner.executor.v1.CloudInstanceConfigResponse.listedInstanceConfigs: object expected"); - message.listedInstanceConfigs[i] = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.listedInstanceConfigs[i]); + message.listedInstanceConfigs[i] = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.listedInstanceConfigs[i], long + 1); } } if (object.nextPageToken != null) @@ -72669,7 +75504,7 @@ if (object.instanceConfig != null) { if (typeof object.instanceConfig !== "object") throw TypeError(".google.spanner.executor.v1.CloudInstanceConfigResponse.instanceConfig: object expected"); - message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfig); + message.instanceConfig = $root.google.spanner.admin.instance.v1.InstanceConfig.fromObject(object.instanceConfig, long + 1); } return message; }; @@ -72759,7 +75594,7 @@ this.listedDatabaseOperations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -72856,9 +75691,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CloudDatabaseResponse.decode = function decode(reader, length, error) { + CloudDatabaseResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.CloudDatabaseResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -72868,13 +75707,13 @@ case 1: { if (!(message.listedDatabases && message.listedDatabases.length)) message.listedDatabases = []; - message.listedDatabases.push($root.google.spanner.admin.database.v1.Database.decode(reader, reader.uint32())); + message.listedDatabases.push($root.google.spanner.admin.database.v1.Database.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.listedDatabaseOperations && message.listedDatabaseOperations.length)) message.listedDatabaseOperations = []; - message.listedDatabaseOperations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.listedDatabaseOperations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -72882,11 +75721,11 @@ break; } case 4: { - message.database = $root.google.spanner.admin.database.v1.Database.decode(reader, reader.uint32()); + message.database = $root.google.spanner.admin.database.v1.Database.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -72917,14 +75756,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CloudDatabaseResponse.verify = function verify(message) { + CloudDatabaseResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.listedDatabases != null && message.hasOwnProperty("listedDatabases")) { if (!Array.isArray(message.listedDatabases)) return "listedDatabases: array expected"; for (var i = 0; i < message.listedDatabases.length; ++i) { - var error = $root.google.spanner.admin.database.v1.Database.verify(message.listedDatabases[i]); + var error = $root.google.spanner.admin.database.v1.Database.verify(message.listedDatabases[i], long + 1); if (error) return "listedDatabases." + error; } @@ -72933,7 +75776,7 @@ if (!Array.isArray(message.listedDatabaseOperations)) return "listedDatabaseOperations: array expected"; for (var i = 0; i < message.listedDatabaseOperations.length; ++i) { - var error = $root.google.longrunning.Operation.verify(message.listedDatabaseOperations[i]); + var error = $root.google.longrunning.Operation.verify(message.listedDatabaseOperations[i], long + 1); if (error) return "listedDatabaseOperations." + error; } @@ -72942,7 +75785,7 @@ if (!$util.isString(message.nextPageToken)) return "nextPageToken: string expected"; if (message.database != null && message.hasOwnProperty("database")) { - var error = $root.google.spanner.admin.database.v1.Database.verify(message.database); + var error = $root.google.spanner.admin.database.v1.Database.verify(message.database, long + 1); if (error) return "database." + error; } @@ -72957,9 +75800,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.CloudDatabaseResponse} CloudDatabaseResponse */ - CloudDatabaseResponse.fromObject = function fromObject(object) { + CloudDatabaseResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.CloudDatabaseResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.CloudDatabaseResponse(); if (object.listedDatabases) { if (!Array.isArray(object.listedDatabases)) @@ -72968,7 +75815,7 @@ for (var i = 0; i < object.listedDatabases.length; ++i) { if (typeof object.listedDatabases[i] !== "object") throw TypeError(".google.spanner.executor.v1.CloudDatabaseResponse.listedDatabases: object expected"); - message.listedDatabases[i] = $root.google.spanner.admin.database.v1.Database.fromObject(object.listedDatabases[i]); + message.listedDatabases[i] = $root.google.spanner.admin.database.v1.Database.fromObject(object.listedDatabases[i], long + 1); } } if (object.listedDatabaseOperations) { @@ -72978,7 +75825,7 @@ for (var i = 0; i < object.listedDatabaseOperations.length; ++i) { if (typeof object.listedDatabaseOperations[i] !== "object") throw TypeError(".google.spanner.executor.v1.CloudDatabaseResponse.listedDatabaseOperations: object expected"); - message.listedDatabaseOperations[i] = $root.google.longrunning.Operation.fromObject(object.listedDatabaseOperations[i]); + message.listedDatabaseOperations[i] = $root.google.longrunning.Operation.fromObject(object.listedDatabaseOperations[i], long + 1); } } if (object.nextPageToken != null) @@ -72986,7 +75833,7 @@ if (object.database != null) { if (typeof object.database !== "object") throw TypeError(".google.spanner.executor.v1.CloudDatabaseResponse.database: object expected"); - message.database = $root.google.spanner.admin.database.v1.Database.fromObject(object.database); + message.database = $root.google.spanner.admin.database.v1.Database.fromObject(object.database, long + 1); } return message; }; @@ -73083,7 +75930,7 @@ this.row = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -73210,9 +76057,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReadResult.decode = function decode(reader, length, error) { + ReadResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ReadResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -73234,15 +76085,15 @@ case 4: { if (!(message.row && message.row.length)) message.row = []; - message.row.push($root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32())); + message.row.push($root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { - message.rowType = $root.google.spanner.v1.StructType.decode(reader, reader.uint32()); + message.rowType = $root.google.spanner.v1.StructType.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -73273,9 +76124,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReadResult.verify = function verify(message) { + ReadResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.table != null && message.hasOwnProperty("table")) if (!$util.isString(message.table)) @@ -73294,7 +76149,7 @@ if (!Array.isArray(message.row)) return "row: array expected"; for (var i = 0; i < message.row.length; ++i) { - var error = $root.google.spanner.executor.v1.ValueList.verify(message.row[i]); + var error = $root.google.spanner.executor.v1.ValueList.verify(message.row[i], long + 1); if (error) return "row." + error; } @@ -73302,7 +76157,7 @@ if (message.rowType != null && message.hasOwnProperty("rowType")) { properties._rowType = 1; { - var error = $root.google.spanner.v1.StructType.verify(message.rowType); + var error = $root.google.spanner.v1.StructType.verify(message.rowType, long + 1); if (error) return "rowType." + error; } @@ -73318,9 +76173,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ReadResult} ReadResult */ - ReadResult.fromObject = function fromObject(object) { + ReadResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ReadResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ReadResult(); if (object.table != null) message.table = String(object.table); @@ -73335,13 +76194,13 @@ for (var i = 0; i < object.row.length; ++i) { if (typeof object.row[i] !== "object") throw TypeError(".google.spanner.executor.v1.ReadResult.row: object expected"); - message.row[i] = $root.google.spanner.executor.v1.ValueList.fromObject(object.row[i]); + message.row[i] = $root.google.spanner.executor.v1.ValueList.fromObject(object.row[i], long + 1); } } if (object.rowType != null) { if (typeof object.rowType !== "object") throw TypeError(".google.spanner.executor.v1.ReadResult.rowType: object expected"); - message.rowType = $root.google.spanner.v1.StructType.fromObject(object.rowType); + message.rowType = $root.google.spanner.v1.StructType.fromObject(object.rowType, long + 1); } return message; }; @@ -73439,7 +76298,7 @@ this.row = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -73524,9 +76383,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QueryResult.decode = function decode(reader, length, error) { + QueryResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.QueryResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -73536,15 +76399,15 @@ case 1: { if (!(message.row && message.row.length)) message.row = []; - message.row.push($root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32())); + message.row.push($root.google.spanner.executor.v1.ValueList.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.rowType = $root.google.spanner.v1.StructType.decode(reader, reader.uint32()); + message.rowType = $root.google.spanner.v1.StructType.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -73575,15 +76438,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - QueryResult.verify = function verify(message) { + QueryResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.row != null && message.hasOwnProperty("row")) { if (!Array.isArray(message.row)) return "row: array expected"; for (var i = 0; i < message.row.length; ++i) { - var error = $root.google.spanner.executor.v1.ValueList.verify(message.row[i]); + var error = $root.google.spanner.executor.v1.ValueList.verify(message.row[i], long + 1); if (error) return "row." + error; } @@ -73591,7 +76458,7 @@ if (message.rowType != null && message.hasOwnProperty("rowType")) { properties._rowType = 1; { - var error = $root.google.spanner.v1.StructType.verify(message.rowType); + var error = $root.google.spanner.v1.StructType.verify(message.rowType, long + 1); if (error) return "rowType." + error; } @@ -73607,9 +76474,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.QueryResult} QueryResult */ - QueryResult.fromObject = function fromObject(object) { + QueryResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.QueryResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.QueryResult(); if (object.row) { if (!Array.isArray(object.row)) @@ -73618,13 +76489,13 @@ for (var i = 0; i < object.row.length; ++i) { if (typeof object.row[i] !== "object") throw TypeError(".google.spanner.executor.v1.QueryResult.row: object expected"); - message.row[i] = $root.google.spanner.executor.v1.ValueList.fromObject(object.row[i]); + message.row[i] = $root.google.spanner.executor.v1.ValueList.fromObject(object.row[i], long + 1); } } if (object.rowType != null) { if (typeof object.rowType !== "object") throw TypeError(".google.spanner.executor.v1.QueryResult.rowType: object expected"); - message.rowType = $root.google.spanner.v1.StructType.fromObject(object.rowType); + message.rowType = $root.google.spanner.v1.StructType.fromObject(object.rowType, long + 1); } return message; }; @@ -73708,7 +76579,7 @@ function ChangeStreamRecord(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -73807,9 +76678,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeStreamRecord.decode = function decode(reader, length, error) { + ChangeStreamRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ChangeStreamRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -73817,19 +76692,19 @@ break; switch (tag >>> 3) { case 1: { - message.dataChange = $root.google.spanner.executor.v1.DataChangeRecord.decode(reader, reader.uint32()); + message.dataChange = $root.google.spanner.executor.v1.DataChangeRecord.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.childPartition = $root.google.spanner.executor.v1.ChildPartitionsRecord.decode(reader, reader.uint32()); + message.childPartition = $root.google.spanner.executor.v1.ChildPartitionsRecord.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.heartbeat = $root.google.spanner.executor.v1.HeartbeatRecord.decode(reader, reader.uint32()); + message.heartbeat = $root.google.spanner.executor.v1.HeartbeatRecord.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -73860,14 +76735,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ChangeStreamRecord.verify = function verify(message) { + ChangeStreamRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.dataChange != null && message.hasOwnProperty("dataChange")) { properties.record = 1; { - var error = $root.google.spanner.executor.v1.DataChangeRecord.verify(message.dataChange); + var error = $root.google.spanner.executor.v1.DataChangeRecord.verify(message.dataChange, long + 1); if (error) return "dataChange." + error; } @@ -73877,7 +76756,7 @@ return "record: multiple values"; properties.record = 1; { - var error = $root.google.spanner.executor.v1.ChildPartitionsRecord.verify(message.childPartition); + var error = $root.google.spanner.executor.v1.ChildPartitionsRecord.verify(message.childPartition, long + 1); if (error) return "childPartition." + error; } @@ -73887,7 +76766,7 @@ return "record: multiple values"; properties.record = 1; { - var error = $root.google.spanner.executor.v1.HeartbeatRecord.verify(message.heartbeat); + var error = $root.google.spanner.executor.v1.HeartbeatRecord.verify(message.heartbeat, long + 1); if (error) return "heartbeat." + error; } @@ -73903,24 +76782,28 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ChangeStreamRecord} ChangeStreamRecord */ - ChangeStreamRecord.fromObject = function fromObject(object) { + ChangeStreamRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ChangeStreamRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ChangeStreamRecord(); if (object.dataChange != null) { if (typeof object.dataChange !== "object") throw TypeError(".google.spanner.executor.v1.ChangeStreamRecord.dataChange: object expected"); - message.dataChange = $root.google.spanner.executor.v1.DataChangeRecord.fromObject(object.dataChange); + message.dataChange = $root.google.spanner.executor.v1.DataChangeRecord.fromObject(object.dataChange, long + 1); } if (object.childPartition != null) { if (typeof object.childPartition !== "object") throw TypeError(".google.spanner.executor.v1.ChangeStreamRecord.childPartition: object expected"); - message.childPartition = $root.google.spanner.executor.v1.ChildPartitionsRecord.fromObject(object.childPartition); + message.childPartition = $root.google.spanner.executor.v1.ChildPartitionsRecord.fromObject(object.childPartition, long + 1); } if (object.heartbeat != null) { if (typeof object.heartbeat !== "object") throw TypeError(".google.spanner.executor.v1.ChangeStreamRecord.heartbeat: object expected"); - message.heartbeat = $root.google.spanner.executor.v1.HeartbeatRecord.fromObject(object.heartbeat); + message.heartbeat = $root.google.spanner.executor.v1.HeartbeatRecord.fromObject(object.heartbeat, long + 1); } return message; }; @@ -74019,7 +76902,7 @@ this.mods = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -74206,9 +77089,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataChangeRecord.decode = function decode(reader, length, error) { + DataChangeRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.DataChangeRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -74216,7 +77103,7 @@ break; switch (tag >>> 3) { case 1: { - message.commitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.commitTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -74238,13 +77125,13 @@ case 6: { if (!(message.columnTypes && message.columnTypes.length)) message.columnTypes = []; - message.columnTypes.push($root.google.spanner.executor.v1.DataChangeRecord.ColumnType.decode(reader, reader.uint32())); + message.columnTypes.push($root.google.spanner.executor.v1.DataChangeRecord.ColumnType.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.mods && message.mods.length)) message.mods = []; - message.mods.push($root.google.spanner.executor.v1.DataChangeRecord.Mod.decode(reader, reader.uint32())); + message.mods.push($root.google.spanner.executor.v1.DataChangeRecord.Mod.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { @@ -74272,7 +77159,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -74303,11 +77190,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataChangeRecord.verify = function verify(message) { + DataChangeRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.commitTime != null && message.hasOwnProperty("commitTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.commitTime); + var error = $root.google.protobuf.Timestamp.verify(message.commitTime, long + 1); if (error) return "commitTime." + error; } @@ -74327,7 +77218,7 @@ if (!Array.isArray(message.columnTypes)) return "columnTypes: array expected"; for (var i = 0; i < message.columnTypes.length; ++i) { - var error = $root.google.spanner.executor.v1.DataChangeRecord.ColumnType.verify(message.columnTypes[i]); + var error = $root.google.spanner.executor.v1.DataChangeRecord.ColumnType.verify(message.columnTypes[i], long + 1); if (error) return "columnTypes." + error; } @@ -74336,7 +77227,7 @@ if (!Array.isArray(message.mods)) return "mods: array expected"; for (var i = 0; i < message.mods.length; ++i) { - var error = $root.google.spanner.executor.v1.DataChangeRecord.Mod.verify(message.mods[i]); + var error = $root.google.spanner.executor.v1.DataChangeRecord.Mod.verify(message.mods[i], long + 1); if (error) return "mods." + error; } @@ -74370,14 +77261,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.DataChangeRecord} DataChangeRecord */ - DataChangeRecord.fromObject = function fromObject(object) { + DataChangeRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.DataChangeRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.DataChangeRecord(); if (object.commitTime != null) { if (typeof object.commitTime !== "object") throw TypeError(".google.spanner.executor.v1.DataChangeRecord.commitTime: object expected"); - message.commitTime = $root.google.protobuf.Timestamp.fromObject(object.commitTime); + message.commitTime = $root.google.protobuf.Timestamp.fromObject(object.commitTime, long + 1); } if (object.recordSequence != null) message.recordSequence = String(object.recordSequence); @@ -74394,7 +77289,7 @@ for (var i = 0; i < object.columnTypes.length; ++i) { if (typeof object.columnTypes[i] !== "object") throw TypeError(".google.spanner.executor.v1.DataChangeRecord.columnTypes: object expected"); - message.columnTypes[i] = $root.google.spanner.executor.v1.DataChangeRecord.ColumnType.fromObject(object.columnTypes[i]); + message.columnTypes[i] = $root.google.spanner.executor.v1.DataChangeRecord.ColumnType.fromObject(object.columnTypes[i], long + 1); } } if (object.mods) { @@ -74404,7 +77299,7 @@ for (var i = 0; i < object.mods.length; ++i) { if (typeof object.mods[i] !== "object") throw TypeError(".google.spanner.executor.v1.DataChangeRecord.mods: object expected"); - message.mods[i] = $root.google.spanner.executor.v1.DataChangeRecord.Mod.fromObject(object.mods[i]); + message.mods[i] = $root.google.spanner.executor.v1.DataChangeRecord.Mod.fromObject(object.mods[i], long + 1); } } if (object.modType != null) @@ -74564,7 +77459,7 @@ function ColumnType(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -74659,9 +77554,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColumnType.decode = function decode(reader, length, error) { + ColumnType.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.DataChangeRecord.ColumnType(); while (reader.pos < end) { var tag = reader.uint32(); @@ -74685,7 +77584,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -74716,9 +77615,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ColumnType.verify = function verify(message) { + ColumnType.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -74742,9 +77645,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.DataChangeRecord.ColumnType} ColumnType */ - ColumnType.fromObject = function fromObject(object) { + ColumnType.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.DataChangeRecord.ColumnType) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.DataChangeRecord.ColumnType(); if (object.name != null) message.name = String(object.name); @@ -74852,7 +77759,7 @@ function Mod(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -74937,9 +77844,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Mod.decode = function decode(reader, length, error) { + Mod.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.DataChangeRecord.Mod(); while (reader.pos < end) { var tag = reader.uint32(); @@ -74959,7 +77870,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -74990,9 +77901,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Mod.verify = function verify(message) { + Mod.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.keys != null && message.hasOwnProperty("keys")) if (!$util.isString(message.keys)) return "keys: string expected"; @@ -75013,9 +77928,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.DataChangeRecord.Mod} Mod */ - Mod.fromObject = function fromObject(object) { + Mod.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.DataChangeRecord.Mod) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.DataChangeRecord.Mod(); if (object.keys != null) message.keys = String(object.keys); @@ -75108,7 +78027,7 @@ this.childPartitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -75194,9 +78113,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChildPartitionsRecord.decode = function decode(reader, length, error) { + ChildPartitionsRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ChildPartitionsRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -75204,7 +78127,7 @@ break; switch (tag >>> 3) { case 1: { - message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -75214,11 +78137,11 @@ case 3: { if (!(message.childPartitions && message.childPartitions.length)) message.childPartitions = []; - message.childPartitions.push($root.google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition.decode(reader, reader.uint32())); + message.childPartitions.push($root.google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75249,11 +78172,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ChildPartitionsRecord.verify = function verify(message) { + ChildPartitionsRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.startTime != null && message.hasOwnProperty("startTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTime); + var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1); if (error) return "startTime." + error; } @@ -75264,7 +78191,7 @@ if (!Array.isArray(message.childPartitions)) return "childPartitions: array expected"; for (var i = 0; i < message.childPartitions.length; ++i) { - var error = $root.google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition.verify(message.childPartitions[i]); + var error = $root.google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition.verify(message.childPartitions[i], long + 1); if (error) return "childPartitions." + error; } @@ -75280,14 +78207,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ChildPartitionsRecord} ChildPartitionsRecord */ - ChildPartitionsRecord.fromObject = function fromObject(object) { + ChildPartitionsRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ChildPartitionsRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ChildPartitionsRecord(); if (object.startTime != null) { if (typeof object.startTime !== "object") throw TypeError(".google.spanner.executor.v1.ChildPartitionsRecord.startTime: object expected"); - message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime); + message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1); } if (object.recordSequence != null) message.recordSequence = String(object.recordSequence); @@ -75298,7 +78229,7 @@ for (var i = 0; i < object.childPartitions.length; ++i) { if (typeof object.childPartitions[i] !== "object") throw TypeError(".google.spanner.executor.v1.ChildPartitionsRecord.childPartitions: object expected"); - message.childPartitions[i] = $root.google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition.fromObject(object.childPartitions[i]); + message.childPartitions[i] = $root.google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition.fromObject(object.childPartitions[i], long + 1); } } return message; @@ -75383,7 +78314,7 @@ this.parentPartitionTokens = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -75459,9 +78390,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChildPartition.decode = function decode(reader, length, error) { + ChildPartition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -75479,7 +78414,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75510,9 +78445,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ChildPartition.verify = function verify(message) { + ChildPartition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.token != null && message.hasOwnProperty("token")) if (!$util.isString(message.token)) return "token: string expected"; @@ -75534,9 +78473,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition} ChildPartition */ - ChildPartition.fromObject = function fromObject(object) { + ChildPartition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.ChildPartitionsRecord.ChildPartition(); if (object.token != null) message.token = String(object.token); @@ -75629,7 +78572,7 @@ function HeartbeatRecord(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -75694,9 +78637,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HeartbeatRecord.decode = function decode(reader, length, error) { + HeartbeatRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.HeartbeatRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -75704,11 +78651,11 @@ break; switch (tag >>> 3) { case 1: { - message.heartbeatTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.heartbeatTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75739,11 +78686,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - HeartbeatRecord.verify = function verify(message) { + HeartbeatRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.heartbeatTime != null && message.hasOwnProperty("heartbeatTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.heartbeatTime); + var error = $root.google.protobuf.Timestamp.verify(message.heartbeatTime, long + 1); if (error) return "heartbeatTime." + error; } @@ -75758,14 +78709,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.HeartbeatRecord} HeartbeatRecord */ - HeartbeatRecord.fromObject = function fromObject(object) { + HeartbeatRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.HeartbeatRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.HeartbeatRecord(); if (object.heartbeatTime != null) { if (typeof object.heartbeatTime !== "object") throw TypeError(".google.spanner.executor.v1.HeartbeatRecord.heartbeatTime: object expected"); - message.heartbeatTime = $root.google.protobuf.Timestamp.fromObject(object.heartbeatTime); + message.heartbeatTime = $root.google.protobuf.Timestamp.fromObject(object.heartbeatTime, long + 1); } return message; }; @@ -75839,7 +78794,7 @@ function SpannerOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -75904,9 +78859,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SpannerOptions.decode = function decode(reader, length, error) { + SpannerOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.SpannerOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -75914,11 +78873,11 @@ break; switch (tag >>> 3) { case 1: { - message.sessionPoolOptions = $root.google.spanner.executor.v1.SessionPoolOptions.decode(reader, reader.uint32()); + message.sessionPoolOptions = $root.google.spanner.executor.v1.SessionPoolOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -75949,11 +78908,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SpannerOptions.verify = function verify(message) { + SpannerOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sessionPoolOptions != null && message.hasOwnProperty("sessionPoolOptions")) { - var error = $root.google.spanner.executor.v1.SessionPoolOptions.verify(message.sessionPoolOptions); + var error = $root.google.spanner.executor.v1.SessionPoolOptions.verify(message.sessionPoolOptions, long + 1); if (error) return "sessionPoolOptions." + error; } @@ -75968,14 +78931,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.SpannerOptions} SpannerOptions */ - SpannerOptions.fromObject = function fromObject(object) { + SpannerOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.SpannerOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.SpannerOptions(); if (object.sessionPoolOptions != null) { if (typeof object.sessionPoolOptions !== "object") throw TypeError(".google.spanner.executor.v1.SpannerOptions.sessionPoolOptions: object expected"); - message.sessionPoolOptions = $root.google.spanner.executor.v1.SessionPoolOptions.fromObject(object.sessionPoolOptions); + message.sessionPoolOptions = $root.google.spanner.executor.v1.SessionPoolOptions.fromObject(object.sessionPoolOptions, long + 1); } return message; }; @@ -76049,7 +79016,7 @@ function SessionPoolOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -76114,9 +79081,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SessionPoolOptions.decode = function decode(reader, length, error) { + SessionPoolOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.executor.v1.SessionPoolOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -76128,7 +79099,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -76159,9 +79130,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SessionPoolOptions.verify = function verify(message) { + SessionPoolOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.useMultiplexed != null && message.hasOwnProperty("useMultiplexed")) if (typeof message.useMultiplexed !== "boolean") return "useMultiplexed: boolean expected"; @@ -76176,9 +79151,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.executor.v1.SessionPoolOptions} SessionPoolOptions */ - SessionPoolOptions.fromObject = function fromObject(object) { + SessionPoolOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.executor.v1.SessionPoolOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.executor.v1.SessionPoolOptions(); if (object.useMultiplexed != null) message.useMultiplexed = Boolean(object.useMultiplexed); @@ -76833,7 +79812,7 @@ function CreateSessionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -76908,9 +79887,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CreateSessionRequest.decode = function decode(reader, length, error) { + CreateSessionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.CreateSessionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -76922,11 +79905,11 @@ break; } case 2: { - message.session = $root.google.spanner.v1.Session.decode(reader, reader.uint32()); + message.session = $root.google.spanner.v1.Session.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -76957,14 +79940,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CreateSessionRequest.verify = function verify(message) { + CreateSessionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; if (message.session != null && message.hasOwnProperty("session")) { - var error = $root.google.spanner.v1.Session.verify(message.session); + var error = $root.google.spanner.v1.Session.verify(message.session, long + 1); if (error) return "session." + error; } @@ -76979,16 +79966,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.CreateSessionRequest} CreateSessionRequest */ - CreateSessionRequest.fromObject = function fromObject(object) { + CreateSessionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.CreateSessionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.CreateSessionRequest(); if (object.database != null) message.database = String(object.database); if (object.session != null) { if (typeof object.session !== "object") throw TypeError(".google.spanner.v1.CreateSessionRequest.session: object expected"); - message.session = $root.google.spanner.v1.Session.fromObject(object.session); + message.session = $root.google.spanner.v1.Session.fromObject(object.session, long + 1); } return message; }; @@ -77068,7 +80059,7 @@ function BatchCreateSessionsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77153,9 +80144,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchCreateSessionsRequest.decode = function decode(reader, length, error) { + BatchCreateSessionsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.BatchCreateSessionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -77167,7 +80162,7 @@ break; } case 2: { - message.sessionTemplate = $root.google.spanner.v1.Session.decode(reader, reader.uint32()); + message.sessionTemplate = $root.google.spanner.v1.Session.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -77175,7 +80170,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -77206,14 +80201,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchCreateSessionsRequest.verify = function verify(message) { + BatchCreateSessionsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; if (message.sessionTemplate != null && message.hasOwnProperty("sessionTemplate")) { - var error = $root.google.spanner.v1.Session.verify(message.sessionTemplate); + var error = $root.google.spanner.v1.Session.verify(message.sessionTemplate, long + 1); if (error) return "sessionTemplate." + error; } @@ -77231,16 +80230,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.BatchCreateSessionsRequest} BatchCreateSessionsRequest */ - BatchCreateSessionsRequest.fromObject = function fromObject(object) { + BatchCreateSessionsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.BatchCreateSessionsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.BatchCreateSessionsRequest(); if (object.database != null) message.database = String(object.database); if (object.sessionTemplate != null) { if (typeof object.sessionTemplate !== "object") throw TypeError(".google.spanner.v1.BatchCreateSessionsRequest.sessionTemplate: object expected"); - message.sessionTemplate = $root.google.spanner.v1.Session.fromObject(object.sessionTemplate); + message.sessionTemplate = $root.google.spanner.v1.Session.fromObject(object.sessionTemplate, long + 1); } if (object.sessionCount != null) message.sessionCount = object.sessionCount | 0; @@ -77324,7 +80327,7 @@ this.session = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77390,9 +80393,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchCreateSessionsResponse.decode = function decode(reader, length, error) { + BatchCreateSessionsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.BatchCreateSessionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -77402,11 +80409,11 @@ case 1: { if (!(message.session && message.session.length)) message.session = []; - message.session.push($root.google.spanner.v1.Session.decode(reader, reader.uint32())); + message.session.push($root.google.spanner.v1.Session.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -77437,14 +80444,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchCreateSessionsResponse.verify = function verify(message) { + BatchCreateSessionsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.session != null && message.hasOwnProperty("session")) { if (!Array.isArray(message.session)) return "session: array expected"; for (var i = 0; i < message.session.length; ++i) { - var error = $root.google.spanner.v1.Session.verify(message.session[i]); + var error = $root.google.spanner.v1.Session.verify(message.session[i], long + 1); if (error) return "session." + error; } @@ -77460,9 +80471,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.BatchCreateSessionsResponse} BatchCreateSessionsResponse */ - BatchCreateSessionsResponse.fromObject = function fromObject(object) { + BatchCreateSessionsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.BatchCreateSessionsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.BatchCreateSessionsResponse(); if (object.session) { if (!Array.isArray(object.session)) @@ -77471,7 +80486,7 @@ for (var i = 0; i < object.session.length; ++i) { if (typeof object.session[i] !== "object") throw TypeError(".google.spanner.v1.BatchCreateSessionsResponse.session: object expected"); - message.session[i] = $root.google.spanner.v1.Session.fromObject(object.session[i]); + message.session[i] = $root.google.spanner.v1.Session.fromObject(object.session[i], long + 1); } } return message; @@ -77555,7 +80570,7 @@ this.labels = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77671,9 +80686,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Session.decode = function decode(reader, length, error) { + Session.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Session(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -77700,19 +80719,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.labels, key); message.labels[key] = value; break; } case 3: { - message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.approximateLastUseTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.approximateLastUseTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -77724,7 +80745,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -77755,9 +80776,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Session.verify = function verify(message) { + Session.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -77770,12 +80795,12 @@ return "labels: string{k:string} expected"; } if (message.createTime != null && message.hasOwnProperty("createTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.createTime); + var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1); if (error) return "createTime." + error; } if (message.approximateLastUseTime != null && message.hasOwnProperty("approximateLastUseTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.approximateLastUseTime); + var error = $root.google.protobuf.Timestamp.verify(message.approximateLastUseTime, long + 1); if (error) return "approximateLastUseTime." + error; } @@ -77796,9 +80821,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Session} Session */ - Session.fromObject = function fromObject(object) { + Session.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Session) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Session(); if (object.name != null) message.name = String(object.name); @@ -77806,18 +80835,21 @@ if (typeof object.labels !== "object") throw TypeError(".google.spanner.v1.Session.labels: object expected"); message.labels = {}; - for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.labels, keys[i]); message.labels[keys[i]] = String(object.labels[keys[i]]); + } } if (object.createTime != null) { if (typeof object.createTime !== "object") throw TypeError(".google.spanner.v1.Session.createTime: object expected"); - message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1); } if (object.approximateLastUseTime != null) { if (typeof object.approximateLastUseTime !== "object") throw TypeError(".google.spanner.v1.Session.approximateLastUseTime: object expected"); - message.approximateLastUseTime = $root.google.protobuf.Timestamp.fromObject(object.approximateLastUseTime); + message.approximateLastUseTime = $root.google.protobuf.Timestamp.fromObject(object.approximateLastUseTime, long + 1); } if (object.creatorRole != null) message.creatorRole = String(object.creatorRole); @@ -77853,8 +80885,11 @@ var keys2; if (message.labels && (keys2 = Object.keys(message.labels)).length) { object.labels = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.labels, keys2[j]); object.labels[keys2[j]] = message.labels[keys2[j]]; + } } if (message.createTime != null && message.hasOwnProperty("createTime")) object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); @@ -77916,7 +80951,7 @@ function GetSessionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -77981,9 +81016,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetSessionRequest.decode = function decode(reader, length, error) { + GetSessionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.GetSessionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -77995,7 +81034,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -78026,9 +81065,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetSessionRequest.verify = function verify(message) { + GetSessionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -78043,9 +81086,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.GetSessionRequest} GetSessionRequest */ - GetSessionRequest.fromObject = function fromObject(object) { + GetSessionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.GetSessionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.GetSessionRequest(); if (object.name != null) message.name = String(object.name); @@ -78124,7 +81171,7 @@ function ListSessionsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -78219,9 +81266,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSessionsRequest.decode = function decode(reader, length, error) { + ListSessionsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ListSessionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -78245,7 +81296,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -78276,9 +81327,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSessionsRequest.verify = function verify(message) { + ListSessionsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.database != null && message.hasOwnProperty("database")) if (!$util.isString(message.database)) return "database: string expected"; @@ -78302,9 +81357,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ListSessionsRequest} ListSessionsRequest */ - ListSessionsRequest.fromObject = function fromObject(object) { + ListSessionsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ListSessionsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ListSessionsRequest(); if (object.database != null) message.database = String(object.database); @@ -78398,7 +81457,7 @@ this.sessions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -78474,9 +81533,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListSessionsResponse.decode = function decode(reader, length, error) { + ListSessionsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ListSessionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -78486,7 +81549,7 @@ case 1: { if (!(message.sessions && message.sessions.length)) message.sessions = []; - message.sessions.push($root.google.spanner.v1.Session.decode(reader, reader.uint32())); + message.sessions.push($root.google.spanner.v1.Session.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -78494,7 +81557,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -78525,14 +81588,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListSessionsResponse.verify = function verify(message) { + ListSessionsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sessions != null && message.hasOwnProperty("sessions")) { if (!Array.isArray(message.sessions)) return "sessions: array expected"; for (var i = 0; i < message.sessions.length; ++i) { - var error = $root.google.spanner.v1.Session.verify(message.sessions[i]); + var error = $root.google.spanner.v1.Session.verify(message.sessions[i], long + 1); if (error) return "sessions." + error; } @@ -78551,9 +81618,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ListSessionsResponse} ListSessionsResponse */ - ListSessionsResponse.fromObject = function fromObject(object) { + ListSessionsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ListSessionsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ListSessionsResponse(); if (object.sessions) { if (!Array.isArray(object.sessions)) @@ -78562,7 +81633,7 @@ for (var i = 0; i < object.sessions.length; ++i) { if (typeof object.sessions[i] !== "object") throw TypeError(".google.spanner.v1.ListSessionsResponse.sessions: object expected"); - message.sessions[i] = $root.google.spanner.v1.Session.fromObject(object.sessions[i]); + message.sessions[i] = $root.google.spanner.v1.Session.fromObject(object.sessions[i], long + 1); } } if (object.nextPageToken != null) @@ -78646,7 +81717,7 @@ function DeleteSessionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -78711,9 +81782,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteSessionRequest.decode = function decode(reader, length, error) { + DeleteSessionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.DeleteSessionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -78725,7 +81800,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -78756,9 +81831,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteSessionRequest.verify = function verify(message) { + DeleteSessionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -78773,9 +81852,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.DeleteSessionRequest} DeleteSessionRequest */ - DeleteSessionRequest.fromObject = function fromObject(object) { + DeleteSessionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.DeleteSessionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.DeleteSessionRequest(); if (object.name != null) message.name = String(object.name); @@ -78854,7 +81937,7 @@ function RequestOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -78949,9 +82032,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RequestOptions.decode = function decode(reader, length, error) { + RequestOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.RequestOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -78971,11 +82058,11 @@ break; } case 4: { - message.clientContext = $root.google.spanner.v1.RequestOptions.ClientContext.decode(reader, reader.uint32()); + message.clientContext = $root.google.spanner.v1.RequestOptions.ClientContext.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -79006,9 +82093,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RequestOptions.verify = function verify(message) { + RequestOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.priority != null && message.hasOwnProperty("priority")) switch (message.priority) { default: @@ -79026,7 +82117,7 @@ if (!$util.isString(message.transactionTag)) return "transactionTag: string expected"; if (message.clientContext != null && message.hasOwnProperty("clientContext")) { - var error = $root.google.spanner.v1.RequestOptions.ClientContext.verify(message.clientContext); + var error = $root.google.spanner.v1.RequestOptions.ClientContext.verify(message.clientContext, long + 1); if (error) return "clientContext." + error; } @@ -79041,9 +82132,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.RequestOptions} RequestOptions */ - RequestOptions.fromObject = function fromObject(object) { + RequestOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.RequestOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.RequestOptions(); switch (object.priority) { default: @@ -79076,7 +82171,7 @@ if (object.clientContext != null) { if (typeof object.clientContext !== "object") throw TypeError(".google.spanner.v1.RequestOptions.clientContext: object expected"); - message.clientContext = $root.google.spanner.v1.RequestOptions.ClientContext.fromObject(object.clientContext); + message.clientContext = $root.google.spanner.v1.RequestOptions.ClientContext.fromObject(object.clientContext, long + 1); } return message; }; @@ -79176,7 +82271,7 @@ this.secureContext = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -79244,9 +82339,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClientContext.decode = function decode(reader, length, error) { + ClientContext.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.RequestOptions.ClientContext(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -79266,18 +82365,20 @@ key = reader.string(); break; case 2: - value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.secureContext, key); message.secureContext[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -79308,15 +82409,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ClientContext.verify = function verify(message) { + ClientContext.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.secureContext != null && message.hasOwnProperty("secureContext")) { if (!$util.isObject(message.secureContext)) return "secureContext: object expected"; var key = Object.keys(message.secureContext); for (var i = 0; i < key.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.secureContext[key[i]]); + var error = $root.google.protobuf.Value.verify(message.secureContext[key[i]], long + 1); if (error) return "secureContext." + error; } @@ -79332,18 +82437,24 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.RequestOptions.ClientContext} ClientContext */ - ClientContext.fromObject = function fromObject(object) { + ClientContext.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.RequestOptions.ClientContext) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.RequestOptions.ClientContext(); if (object.secureContext) { if (typeof object.secureContext !== "object") throw TypeError(".google.spanner.v1.RequestOptions.ClientContext.secureContext: object expected"); message.secureContext = {}; for (var keys = Object.keys(object.secureContext), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.secureContext, keys[i]); if (typeof object.secureContext[keys[i]] !== "object") throw TypeError(".google.spanner.v1.RequestOptions.ClientContext.secureContext: object expected"); - message.secureContext[keys[i]] = $root.google.protobuf.Value.fromObject(object.secureContext[keys[i]]); + message.secureContext[keys[i]] = $root.google.protobuf.Value.fromObject(object.secureContext[keys[i]], long + 1); } } return message; @@ -79367,8 +82478,11 @@ var keys2; if (message.secureContext && (keys2 = Object.keys(message.secureContext)).length) { object.secureContext = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.secureContext, keys2[j]); object.secureContext[keys2[j]] = $root.google.protobuf.Value.toObject(message.secureContext[keys2[j]], options); + } } return object; }; @@ -79426,7 +82540,7 @@ function DirectedReadOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -79515,9 +82629,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DirectedReadOptions.decode = function decode(reader, length, error) { + DirectedReadOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.DirectedReadOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -79525,15 +82643,15 @@ break; switch (tag >>> 3) { case 1: { - message.includeReplicas = $root.google.spanner.v1.DirectedReadOptions.IncludeReplicas.decode(reader, reader.uint32()); + message.includeReplicas = $root.google.spanner.v1.DirectedReadOptions.IncludeReplicas.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.excludeReplicas = $root.google.spanner.v1.DirectedReadOptions.ExcludeReplicas.decode(reader, reader.uint32()); + message.excludeReplicas = $root.google.spanner.v1.DirectedReadOptions.ExcludeReplicas.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -79564,14 +82682,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DirectedReadOptions.verify = function verify(message) { + DirectedReadOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.includeReplicas != null && message.hasOwnProperty("includeReplicas")) { properties.replicas = 1; { - var error = $root.google.spanner.v1.DirectedReadOptions.IncludeReplicas.verify(message.includeReplicas); + var error = $root.google.spanner.v1.DirectedReadOptions.IncludeReplicas.verify(message.includeReplicas, long + 1); if (error) return "includeReplicas." + error; } @@ -79581,7 +82703,7 @@ return "replicas: multiple values"; properties.replicas = 1; { - var error = $root.google.spanner.v1.DirectedReadOptions.ExcludeReplicas.verify(message.excludeReplicas); + var error = $root.google.spanner.v1.DirectedReadOptions.ExcludeReplicas.verify(message.excludeReplicas, long + 1); if (error) return "excludeReplicas." + error; } @@ -79597,19 +82719,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.DirectedReadOptions} DirectedReadOptions */ - DirectedReadOptions.fromObject = function fromObject(object) { + DirectedReadOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.DirectedReadOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.DirectedReadOptions(); if (object.includeReplicas != null) { if (typeof object.includeReplicas !== "object") throw TypeError(".google.spanner.v1.DirectedReadOptions.includeReplicas: object expected"); - message.includeReplicas = $root.google.spanner.v1.DirectedReadOptions.IncludeReplicas.fromObject(object.includeReplicas); + message.includeReplicas = $root.google.spanner.v1.DirectedReadOptions.IncludeReplicas.fromObject(object.includeReplicas, long + 1); } if (object.excludeReplicas != null) { if (typeof object.excludeReplicas !== "object") throw TypeError(".google.spanner.v1.DirectedReadOptions.excludeReplicas: object expected"); - message.excludeReplicas = $root.google.spanner.v1.DirectedReadOptions.ExcludeReplicas.fromObject(object.excludeReplicas); + message.excludeReplicas = $root.google.spanner.v1.DirectedReadOptions.ExcludeReplicas.fromObject(object.excludeReplicas, long + 1); } return message; }; @@ -79687,7 +82813,7 @@ function ReplicaSelection(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -79762,9 +82888,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReplicaSelection.decode = function decode(reader, length, error) { + ReplicaSelection.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection(); while (reader.pos < end) { var tag = reader.uint32(); @@ -79780,7 +82910,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -79811,9 +82941,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReplicaSelection.verify = function verify(message) { + ReplicaSelection.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.location != null && message.hasOwnProperty("location")) if (!$util.isString(message.location)) return "location: string expected"; @@ -79837,9 +82971,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.DirectedReadOptions.ReplicaSelection} ReplicaSelection */ - ReplicaSelection.fromObject = function fromObject(object) { + ReplicaSelection.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection(); if (object.location != null) message.location = String(object.location); @@ -79957,7 +83095,7 @@ this.replicaSelections = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -80033,9 +83171,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IncludeReplicas.decode = function decode(reader, length, error) { + IncludeReplicas.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.DirectedReadOptions.IncludeReplicas(); while (reader.pos < end) { var tag = reader.uint32(); @@ -80045,7 +83187,7 @@ case 1: { if (!(message.replicaSelections && message.replicaSelections.length)) message.replicaSelections = []; - message.replicaSelections.push($root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.decode(reader, reader.uint32())); + message.replicaSelections.push($root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -80053,7 +83195,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -80084,14 +83226,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IncludeReplicas.verify = function verify(message) { + IncludeReplicas.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.replicaSelections != null && message.hasOwnProperty("replicaSelections")) { if (!Array.isArray(message.replicaSelections)) return "replicaSelections: array expected"; for (var i = 0; i < message.replicaSelections.length; ++i) { - var error = $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.verify(message.replicaSelections[i]); + var error = $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.verify(message.replicaSelections[i], long + 1); if (error) return "replicaSelections." + error; } @@ -80110,9 +83256,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.DirectedReadOptions.IncludeReplicas} IncludeReplicas */ - IncludeReplicas.fromObject = function fromObject(object) { + IncludeReplicas.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.DirectedReadOptions.IncludeReplicas) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.DirectedReadOptions.IncludeReplicas(); if (object.replicaSelections) { if (!Array.isArray(object.replicaSelections)) @@ -80121,7 +83271,7 @@ for (var i = 0; i < object.replicaSelections.length; ++i) { if (typeof object.replicaSelections[i] !== "object") throw TypeError(".google.spanner.v1.DirectedReadOptions.IncludeReplicas.replicaSelections: object expected"); - message.replicaSelections[i] = $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.fromObject(object.replicaSelections[i]); + message.replicaSelections[i] = $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.fromObject(object.replicaSelections[i], long + 1); } } if (object.autoFailoverDisabled != null) @@ -80206,7 +83356,7 @@ this.replicaSelections = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -80272,9 +83422,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExcludeReplicas.decode = function decode(reader, length, error) { + ExcludeReplicas.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.DirectedReadOptions.ExcludeReplicas(); while (reader.pos < end) { var tag = reader.uint32(); @@ -80284,11 +83438,11 @@ case 1: { if (!(message.replicaSelections && message.replicaSelections.length)) message.replicaSelections = []; - message.replicaSelections.push($root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.decode(reader, reader.uint32())); + message.replicaSelections.push($root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -80319,14 +83473,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExcludeReplicas.verify = function verify(message) { + ExcludeReplicas.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.replicaSelections != null && message.hasOwnProperty("replicaSelections")) { if (!Array.isArray(message.replicaSelections)) return "replicaSelections: array expected"; for (var i = 0; i < message.replicaSelections.length; ++i) { - var error = $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.verify(message.replicaSelections[i]); + var error = $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.verify(message.replicaSelections[i], long + 1); if (error) return "replicaSelections." + error; } @@ -80342,9 +83500,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.DirectedReadOptions.ExcludeReplicas} ExcludeReplicas */ - ExcludeReplicas.fromObject = function fromObject(object) { + ExcludeReplicas.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.DirectedReadOptions.ExcludeReplicas) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.DirectedReadOptions.ExcludeReplicas(); if (object.replicaSelections) { if (!Array.isArray(object.replicaSelections)) @@ -80353,7 +83515,7 @@ for (var i = 0; i < object.replicaSelections.length; ++i) { if (typeof object.replicaSelections[i] !== "object") throw TypeError(".google.spanner.v1.DirectedReadOptions.ExcludeReplicas.replicaSelections: object expected"); - message.replicaSelections[i] = $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.fromObject(object.replicaSelections[i]); + message.replicaSelections[i] = $root.google.spanner.v1.DirectedReadOptions.ReplicaSelection.fromObject(object.replicaSelections[i], long + 1); } } return message; @@ -80449,7 +83611,7 @@ this.paramTypes = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -80657,9 +83819,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExecuteSqlRequest.decode = function decode(reader, length, error) { + ExecuteSqlRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ExecuteSqlRequest(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -80671,7 +83837,7 @@ break; } case 2: { - message.transaction = $root.google.spanner.v1.TransactionSelector.decode(reader, reader.uint32()); + message.transaction = $root.google.spanner.v1.TransactionSelector.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -80679,7 +83845,7 @@ break; } case 4: { - message.params = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.params = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -80695,13 +83861,15 @@ key = reader.string(); break; case 2: - value = $root.google.spanner.v1.Type.decode(reader, reader.uint32()); + value = $root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.paramTypes, key); message.paramTypes[key] = value; break; } @@ -80722,15 +83890,15 @@ break; } case 10: { - message.queryOptions = $root.google.spanner.v1.ExecuteSqlRequest.QueryOptions.decode(reader, reader.uint32()); + message.queryOptions = $root.google.spanner.v1.ExecuteSqlRequest.QueryOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 11: { - message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32()); + message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 15: { - message.directedReadOptions = $root.google.spanner.v1.DirectedReadOptions.decode(reader, reader.uint32()); + message.directedReadOptions = $root.google.spanner.v1.DirectedReadOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 16: { @@ -80742,11 +83910,11 @@ break; } case 18: { - message.routingHint = $root.google.spanner.v1.RoutingHint.decode(reader, reader.uint32()); + message.routingHint = $root.google.spanner.v1.RoutingHint.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -80777,14 +83945,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExecuteSqlRequest.verify = function verify(message) { + ExecuteSqlRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.session != null && message.hasOwnProperty("session")) if (!$util.isString(message.session)) return "session: string expected"; if (message.transaction != null && message.hasOwnProperty("transaction")) { - var error = $root.google.spanner.v1.TransactionSelector.verify(message.transaction); + var error = $root.google.spanner.v1.TransactionSelector.verify(message.transaction, long + 1); if (error) return "transaction." + error; } @@ -80792,7 +83964,7 @@ if (!$util.isString(message.sql)) return "sql: string expected"; if (message.params != null && message.hasOwnProperty("params")) { - var error = $root.google.protobuf.Struct.verify(message.params); + var error = $root.google.protobuf.Struct.verify(message.params, long + 1); if (error) return "params." + error; } @@ -80801,7 +83973,7 @@ return "paramTypes: object expected"; var key = Object.keys(message.paramTypes); for (var i = 0; i < key.length; ++i) { - var error = $root.google.spanner.v1.Type.verify(message.paramTypes[key[i]]); + var error = $root.google.spanner.v1.Type.verify(message.paramTypes[key[i]], long + 1); if (error) return "paramTypes." + error; } @@ -80827,17 +83999,17 @@ if (!$util.isInteger(message.seqno) && !(message.seqno && $util.isInteger(message.seqno.low) && $util.isInteger(message.seqno.high))) return "seqno: integer|Long expected"; if (message.queryOptions != null && message.hasOwnProperty("queryOptions")) { - var error = $root.google.spanner.v1.ExecuteSqlRequest.QueryOptions.verify(message.queryOptions); + var error = $root.google.spanner.v1.ExecuteSqlRequest.QueryOptions.verify(message.queryOptions, long + 1); if (error) return "queryOptions." + error; } if (message.requestOptions != null && message.hasOwnProperty("requestOptions")) { - var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions); + var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions, long + 1); if (error) return "requestOptions." + error; } if (message.directedReadOptions != null && message.hasOwnProperty("directedReadOptions")) { - var error = $root.google.spanner.v1.DirectedReadOptions.verify(message.directedReadOptions); + var error = $root.google.spanner.v1.DirectedReadOptions.verify(message.directedReadOptions, long + 1); if (error) return "directedReadOptions." + error; } @@ -80848,7 +84020,7 @@ if (typeof message.lastStatement !== "boolean") return "lastStatement: boolean expected"; if (message.routingHint != null && message.hasOwnProperty("routingHint")) { - var error = $root.google.spanner.v1.RoutingHint.verify(message.routingHint); + var error = $root.google.spanner.v1.RoutingHint.verify(message.routingHint, long + 1); if (error) return "routingHint." + error; } @@ -80863,32 +84035,38 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ExecuteSqlRequest} ExecuteSqlRequest */ - ExecuteSqlRequest.fromObject = function fromObject(object) { + ExecuteSqlRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ExecuteSqlRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ExecuteSqlRequest(); if (object.session != null) message.session = String(object.session); if (object.transaction != null) { if (typeof object.transaction !== "object") throw TypeError(".google.spanner.v1.ExecuteSqlRequest.transaction: object expected"); - message.transaction = $root.google.spanner.v1.TransactionSelector.fromObject(object.transaction); + message.transaction = $root.google.spanner.v1.TransactionSelector.fromObject(object.transaction, long + 1); } if (object.sql != null) message.sql = String(object.sql); if (object.params != null) { if (typeof object.params !== "object") throw TypeError(".google.spanner.v1.ExecuteSqlRequest.params: object expected"); - message.params = $root.google.protobuf.Struct.fromObject(object.params); + message.params = $root.google.protobuf.Struct.fromObject(object.params, long + 1); } if (object.paramTypes) { if (typeof object.paramTypes !== "object") throw TypeError(".google.spanner.v1.ExecuteSqlRequest.paramTypes: object expected"); message.paramTypes = {}; for (var keys = Object.keys(object.paramTypes), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.paramTypes, keys[i]); if (typeof object.paramTypes[keys[i]] !== "object") throw TypeError(".google.spanner.v1.ExecuteSqlRequest.paramTypes: object expected"); - message.paramTypes[keys[i]] = $root.google.spanner.v1.Type.fromObject(object.paramTypes[keys[i]]); + message.paramTypes[keys[i]] = $root.google.spanner.v1.Type.fromObject(object.paramTypes[keys[i]], long + 1); } } if (object.resumeToken != null) @@ -80941,17 +84119,17 @@ if (object.queryOptions != null) { if (typeof object.queryOptions !== "object") throw TypeError(".google.spanner.v1.ExecuteSqlRequest.queryOptions: object expected"); - message.queryOptions = $root.google.spanner.v1.ExecuteSqlRequest.QueryOptions.fromObject(object.queryOptions); + message.queryOptions = $root.google.spanner.v1.ExecuteSqlRequest.QueryOptions.fromObject(object.queryOptions, long + 1); } if (object.requestOptions != null) { if (typeof object.requestOptions !== "object") throw TypeError(".google.spanner.v1.ExecuteSqlRequest.requestOptions: object expected"); - message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions); + message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions, long + 1); } if (object.directedReadOptions != null) { if (typeof object.directedReadOptions !== "object") throw TypeError(".google.spanner.v1.ExecuteSqlRequest.directedReadOptions: object expected"); - message.directedReadOptions = $root.google.spanner.v1.DirectedReadOptions.fromObject(object.directedReadOptions); + message.directedReadOptions = $root.google.spanner.v1.DirectedReadOptions.fromObject(object.directedReadOptions, long + 1); } if (object.dataBoostEnabled != null) message.dataBoostEnabled = Boolean(object.dataBoostEnabled); @@ -80960,7 +84138,7 @@ if (object.routingHint != null) { if (typeof object.routingHint !== "object") throw TypeError(".google.spanner.v1.ExecuteSqlRequest.routingHint: object expected"); - message.routingHint = $root.google.spanner.v1.RoutingHint.fromObject(object.routingHint); + message.routingHint = $root.google.spanner.v1.RoutingHint.fromObject(object.routingHint, long + 1); } return message; }; @@ -81023,8 +84201,11 @@ var keys2; if (message.paramTypes && (keys2 = Object.keys(message.paramTypes)).length) { object.paramTypes = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.paramTypes, keys2[j]); object.paramTypes[keys2[j]] = $root.google.spanner.v1.Type.toObject(message.paramTypes[keys2[j]], options); + } } if (message.resumeToken != null && message.hasOwnProperty("resumeToken")) object.resumeToken = options.bytes === String ? $util.base64.encode(message.resumeToken, 0, message.resumeToken.length) : options.bytes === Array ? Array.prototype.slice.call(message.resumeToken) : message.resumeToken; @@ -81119,7 +84300,7 @@ function QueryOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -81194,9 +84375,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QueryOptions.decode = function decode(reader, length, error) { + QueryOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ExecuteSqlRequest.QueryOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -81212,7 +84397,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -81243,9 +84428,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - QueryOptions.verify = function verify(message) { + QueryOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.optimizerVersion != null && message.hasOwnProperty("optimizerVersion")) if (!$util.isString(message.optimizerVersion)) return "optimizerVersion: string expected"; @@ -81263,9 +84452,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ExecuteSqlRequest.QueryOptions} QueryOptions */ - QueryOptions.fromObject = function fromObject(object) { + QueryOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ExecuteSqlRequest.QueryOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ExecuteSqlRequest.QueryOptions(); if (object.optimizerVersion != null) message.optimizerVersion = String(object.optimizerVersion); @@ -81356,7 +84549,7 @@ this.statements = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -81472,9 +84665,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExecuteBatchDmlRequest.decode = function decode(reader, length, error) { + ExecuteBatchDmlRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ExecuteBatchDmlRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -81486,13 +84683,13 @@ break; } case 2: { - message.transaction = $root.google.spanner.v1.TransactionSelector.decode(reader, reader.uint32()); + message.transaction = $root.google.spanner.v1.TransactionSelector.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { if (!(message.statements && message.statements.length)) message.statements = []; - message.statements.push($root.google.spanner.v1.ExecuteBatchDmlRequest.Statement.decode(reader, reader.uint32())); + message.statements.push($root.google.spanner.v1.ExecuteBatchDmlRequest.Statement.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 4: { @@ -81500,7 +84697,7 @@ break; } case 5: { - message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32()); + message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -81508,7 +84705,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -81539,14 +84736,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExecuteBatchDmlRequest.verify = function verify(message) { + ExecuteBatchDmlRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.session != null && message.hasOwnProperty("session")) if (!$util.isString(message.session)) return "session: string expected"; if (message.transaction != null && message.hasOwnProperty("transaction")) { - var error = $root.google.spanner.v1.TransactionSelector.verify(message.transaction); + var error = $root.google.spanner.v1.TransactionSelector.verify(message.transaction, long + 1); if (error) return "transaction." + error; } @@ -81554,7 +84755,7 @@ if (!Array.isArray(message.statements)) return "statements: array expected"; for (var i = 0; i < message.statements.length; ++i) { - var error = $root.google.spanner.v1.ExecuteBatchDmlRequest.Statement.verify(message.statements[i]); + var error = $root.google.spanner.v1.ExecuteBatchDmlRequest.Statement.verify(message.statements[i], long + 1); if (error) return "statements." + error; } @@ -81563,7 +84764,7 @@ if (!$util.isInteger(message.seqno) && !(message.seqno && $util.isInteger(message.seqno.low) && $util.isInteger(message.seqno.high))) return "seqno: integer|Long expected"; if (message.requestOptions != null && message.hasOwnProperty("requestOptions")) { - var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions); + var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions, long + 1); if (error) return "requestOptions." + error; } @@ -81581,16 +84782,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ExecuteBatchDmlRequest} ExecuteBatchDmlRequest */ - ExecuteBatchDmlRequest.fromObject = function fromObject(object) { + ExecuteBatchDmlRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ExecuteBatchDmlRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ExecuteBatchDmlRequest(); if (object.session != null) message.session = String(object.session); if (object.transaction != null) { if (typeof object.transaction !== "object") throw TypeError(".google.spanner.v1.ExecuteBatchDmlRequest.transaction: object expected"); - message.transaction = $root.google.spanner.v1.TransactionSelector.fromObject(object.transaction); + message.transaction = $root.google.spanner.v1.TransactionSelector.fromObject(object.transaction, long + 1); } if (object.statements) { if (!Array.isArray(object.statements)) @@ -81599,7 +84804,7 @@ for (var i = 0; i < object.statements.length; ++i) { if (typeof object.statements[i] !== "object") throw TypeError(".google.spanner.v1.ExecuteBatchDmlRequest.statements: object expected"); - message.statements[i] = $root.google.spanner.v1.ExecuteBatchDmlRequest.Statement.fromObject(object.statements[i]); + message.statements[i] = $root.google.spanner.v1.ExecuteBatchDmlRequest.Statement.fromObject(object.statements[i], long + 1); } } if (object.seqno != null) @@ -81614,7 +84819,7 @@ if (object.requestOptions != null) { if (typeof object.requestOptions !== "object") throw TypeError(".google.spanner.v1.ExecuteBatchDmlRequest.requestOptions: object expected"); - message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions); + message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions, long + 1); } if (object.lastStatements != null) message.lastStatements = Boolean(object.lastStatements); @@ -81717,7 +84922,7 @@ this.paramTypes = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -81805,9 +85010,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Statement.decode = function decode(reader, length, error) { + Statement.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ExecuteBatchDmlRequest.Statement(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -81819,7 +85028,7 @@ break; } case 2: { - message.params = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.params = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -81835,18 +85044,20 @@ key = reader.string(); break; case 2: - value = $root.google.spanner.v1.Type.decode(reader, reader.uint32()); + value = $root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.paramTypes, key); message.paramTypes[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -81877,14 +85088,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Statement.verify = function verify(message) { + Statement.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sql != null && message.hasOwnProperty("sql")) if (!$util.isString(message.sql)) return "sql: string expected"; if (message.params != null && message.hasOwnProperty("params")) { - var error = $root.google.protobuf.Struct.verify(message.params); + var error = $root.google.protobuf.Struct.verify(message.params, long + 1); if (error) return "params." + error; } @@ -81893,7 +85108,7 @@ return "paramTypes: object expected"; var key = Object.keys(message.paramTypes); for (var i = 0; i < key.length; ++i) { - var error = $root.google.spanner.v1.Type.verify(message.paramTypes[key[i]]); + var error = $root.google.spanner.v1.Type.verify(message.paramTypes[key[i]], long + 1); if (error) return "paramTypes." + error; } @@ -81909,25 +85124,31 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ExecuteBatchDmlRequest.Statement} Statement */ - Statement.fromObject = function fromObject(object) { + Statement.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ExecuteBatchDmlRequest.Statement) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ExecuteBatchDmlRequest.Statement(); if (object.sql != null) message.sql = String(object.sql); if (object.params != null) { if (typeof object.params !== "object") throw TypeError(".google.spanner.v1.ExecuteBatchDmlRequest.Statement.params: object expected"); - message.params = $root.google.protobuf.Struct.fromObject(object.params); + message.params = $root.google.protobuf.Struct.fromObject(object.params, long + 1); } if (object.paramTypes) { if (typeof object.paramTypes !== "object") throw TypeError(".google.spanner.v1.ExecuteBatchDmlRequest.Statement.paramTypes: object expected"); message.paramTypes = {}; for (var keys = Object.keys(object.paramTypes), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.paramTypes, keys[i]); if (typeof object.paramTypes[keys[i]] !== "object") throw TypeError(".google.spanner.v1.ExecuteBatchDmlRequest.Statement.paramTypes: object expected"); - message.paramTypes[keys[i]] = $root.google.spanner.v1.Type.fromObject(object.paramTypes[keys[i]]); + message.paramTypes[keys[i]] = $root.google.spanner.v1.Type.fromObject(object.paramTypes[keys[i]], long + 1); } } return message; @@ -81959,8 +85180,11 @@ var keys2; if (message.paramTypes && (keys2 = Object.keys(message.paramTypes)).length) { object.paramTypes = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.paramTypes, keys2[j]); object.paramTypes[keys2[j]] = $root.google.spanner.v1.Type.toObject(message.paramTypes[keys2[j]], options); + } } return object; }; @@ -82020,7 +85244,7 @@ this.resultSets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -82106,9 +85330,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExecuteBatchDmlResponse.decode = function decode(reader, length, error) { + ExecuteBatchDmlResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ExecuteBatchDmlResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -82118,19 +85346,19 @@ case 1: { if (!(message.resultSets && message.resultSets.length)) message.resultSets = []; - message.resultSets.push($root.google.spanner.v1.ResultSet.decode(reader, reader.uint32())); + message.resultSets.push($root.google.spanner.v1.ResultSet.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.status = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.status = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32()); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -82161,25 +85389,29 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExecuteBatchDmlResponse.verify = function verify(message) { + ExecuteBatchDmlResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resultSets != null && message.hasOwnProperty("resultSets")) { if (!Array.isArray(message.resultSets)) return "resultSets: array expected"; for (var i = 0; i < message.resultSets.length; ++i) { - var error = $root.google.spanner.v1.ResultSet.verify(message.resultSets[i]); + var error = $root.google.spanner.v1.ResultSet.verify(message.resultSets[i], long + 1); if (error) return "resultSets." + error; } } if (message.status != null && message.hasOwnProperty("status")) { - var error = $root.google.rpc.Status.verify(message.status); + var error = $root.google.rpc.Status.verify(message.status, long + 1); if (error) return "status." + error; } if (message.precommitToken != null && message.hasOwnProperty("precommitToken")) { - var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken); + var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken, long + 1); if (error) return "precommitToken." + error; } @@ -82194,9 +85426,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ExecuteBatchDmlResponse} ExecuteBatchDmlResponse */ - ExecuteBatchDmlResponse.fromObject = function fromObject(object) { + ExecuteBatchDmlResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ExecuteBatchDmlResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ExecuteBatchDmlResponse(); if (object.resultSets) { if (!Array.isArray(object.resultSets)) @@ -82205,18 +85441,18 @@ for (var i = 0; i < object.resultSets.length; ++i) { if (typeof object.resultSets[i] !== "object") throw TypeError(".google.spanner.v1.ExecuteBatchDmlResponse.resultSets: object expected"); - message.resultSets[i] = $root.google.spanner.v1.ResultSet.fromObject(object.resultSets[i]); + message.resultSets[i] = $root.google.spanner.v1.ResultSet.fromObject(object.resultSets[i], long + 1); } } if (object.status != null) { if (typeof object.status !== "object") throw TypeError(".google.spanner.v1.ExecuteBatchDmlResponse.status: object expected"); - message.status = $root.google.rpc.Status.fromObject(object.status); + message.status = $root.google.rpc.Status.fromObject(object.status, long + 1); } if (object.precommitToken != null) { if (typeof object.precommitToken !== "object") throw TypeError(".google.spanner.v1.ExecuteBatchDmlResponse.precommitToken: object expected"); - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken, long + 1); } return message; }; @@ -82302,7 +85538,7 @@ function PartitionOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -82377,9 +85613,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartitionOptions.decode = function decode(reader, length, error) { + PartitionOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.PartitionOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -82395,7 +85635,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -82426,9 +85666,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PartitionOptions.verify = function verify(message) { + PartitionOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitionSizeBytes != null && message.hasOwnProperty("partitionSizeBytes")) if (!$util.isInteger(message.partitionSizeBytes) && !(message.partitionSizeBytes && $util.isInteger(message.partitionSizeBytes.low) && $util.isInteger(message.partitionSizeBytes.high))) return "partitionSizeBytes: integer|Long expected"; @@ -82446,9 +85690,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.PartitionOptions} PartitionOptions */ - PartitionOptions.fromObject = function fromObject(object) { + PartitionOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.PartitionOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.PartitionOptions(); if (object.partitionSizeBytes != null) if ($util.Long) @@ -82564,7 +85812,7 @@ this.paramTypes = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -82682,9 +85930,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartitionQueryRequest.decode = function decode(reader, length, error) { + PartitionQueryRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.PartitionQueryRequest(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -82696,7 +85948,7 @@ break; } case 2: { - message.transaction = $root.google.spanner.v1.TransactionSelector.decode(reader, reader.uint32()); + message.transaction = $root.google.spanner.v1.TransactionSelector.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -82704,7 +85956,7 @@ break; } case 4: { - message.params = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.params = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -82720,22 +85972,24 @@ key = reader.string(); break; case 2: - value = $root.google.spanner.v1.Type.decode(reader, reader.uint32()); + value = $root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.paramTypes, key); message.paramTypes[key] = value; break; } case 6: { - message.partitionOptions = $root.google.spanner.v1.PartitionOptions.decode(reader, reader.uint32()); + message.partitionOptions = $root.google.spanner.v1.PartitionOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -82766,14 +86020,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PartitionQueryRequest.verify = function verify(message) { + PartitionQueryRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.session != null && message.hasOwnProperty("session")) if (!$util.isString(message.session)) return "session: string expected"; if (message.transaction != null && message.hasOwnProperty("transaction")) { - var error = $root.google.spanner.v1.TransactionSelector.verify(message.transaction); + var error = $root.google.spanner.v1.TransactionSelector.verify(message.transaction, long + 1); if (error) return "transaction." + error; } @@ -82781,7 +86039,7 @@ if (!$util.isString(message.sql)) return "sql: string expected"; if (message.params != null && message.hasOwnProperty("params")) { - var error = $root.google.protobuf.Struct.verify(message.params); + var error = $root.google.protobuf.Struct.verify(message.params, long + 1); if (error) return "params." + error; } @@ -82790,13 +86048,13 @@ return "paramTypes: object expected"; var key = Object.keys(message.paramTypes); for (var i = 0; i < key.length; ++i) { - var error = $root.google.spanner.v1.Type.verify(message.paramTypes[key[i]]); + var error = $root.google.spanner.v1.Type.verify(message.paramTypes[key[i]], long + 1); if (error) return "paramTypes." + error; } } if (message.partitionOptions != null && message.hasOwnProperty("partitionOptions")) { - var error = $root.google.spanner.v1.PartitionOptions.verify(message.partitionOptions); + var error = $root.google.spanner.v1.PartitionOptions.verify(message.partitionOptions, long + 1); if (error) return "partitionOptions." + error; } @@ -82811,38 +86069,44 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.PartitionQueryRequest} PartitionQueryRequest */ - PartitionQueryRequest.fromObject = function fromObject(object) { + PartitionQueryRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.PartitionQueryRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.PartitionQueryRequest(); if (object.session != null) message.session = String(object.session); if (object.transaction != null) { if (typeof object.transaction !== "object") throw TypeError(".google.spanner.v1.PartitionQueryRequest.transaction: object expected"); - message.transaction = $root.google.spanner.v1.TransactionSelector.fromObject(object.transaction); + message.transaction = $root.google.spanner.v1.TransactionSelector.fromObject(object.transaction, long + 1); } if (object.sql != null) message.sql = String(object.sql); if (object.params != null) { if (typeof object.params !== "object") throw TypeError(".google.spanner.v1.PartitionQueryRequest.params: object expected"); - message.params = $root.google.protobuf.Struct.fromObject(object.params); + message.params = $root.google.protobuf.Struct.fromObject(object.params, long + 1); } if (object.paramTypes) { if (typeof object.paramTypes !== "object") throw TypeError(".google.spanner.v1.PartitionQueryRequest.paramTypes: object expected"); message.paramTypes = {}; for (var keys = Object.keys(object.paramTypes), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.paramTypes, keys[i]); if (typeof object.paramTypes[keys[i]] !== "object") throw TypeError(".google.spanner.v1.PartitionQueryRequest.paramTypes: object expected"); - message.paramTypes[keys[i]] = $root.google.spanner.v1.Type.fromObject(object.paramTypes[keys[i]]); + message.paramTypes[keys[i]] = $root.google.spanner.v1.Type.fromObject(object.paramTypes[keys[i]], long + 1); } } if (object.partitionOptions != null) { if (typeof object.partitionOptions !== "object") throw TypeError(".google.spanner.v1.PartitionQueryRequest.partitionOptions: object expected"); - message.partitionOptions = $root.google.spanner.v1.PartitionOptions.fromObject(object.partitionOptions); + message.partitionOptions = $root.google.spanner.v1.PartitionOptions.fromObject(object.partitionOptions, long + 1); } return message; }; @@ -82880,8 +86144,11 @@ var keys2; if (message.paramTypes && (keys2 = Object.keys(message.paramTypes)).length) { object.paramTypes = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.paramTypes, keys2[j]); object.paramTypes[keys2[j]] = $root.google.spanner.v1.Type.toObject(message.paramTypes[keys2[j]], options); + } } if (message.partitionOptions != null && message.hasOwnProperty("partitionOptions")) object.partitionOptions = $root.google.spanner.v1.PartitionOptions.toObject(message.partitionOptions, options); @@ -82944,7 +86211,7 @@ this.columns = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -83070,9 +86337,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartitionReadRequest.decode = function decode(reader, length, error) { + PartitionReadRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.PartitionReadRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -83084,7 +86355,7 @@ break; } case 2: { - message.transaction = $root.google.spanner.v1.TransactionSelector.decode(reader, reader.uint32()); + message.transaction = $root.google.spanner.v1.TransactionSelector.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -83102,15 +86373,15 @@ break; } case 6: { - message.keySet = $root.google.spanner.v1.KeySet.decode(reader, reader.uint32()); + message.keySet = $root.google.spanner.v1.KeySet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.partitionOptions = $root.google.spanner.v1.PartitionOptions.decode(reader, reader.uint32()); + message.partitionOptions = $root.google.spanner.v1.PartitionOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83141,14 +86412,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PartitionReadRequest.verify = function verify(message) { + PartitionReadRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.session != null && message.hasOwnProperty("session")) if (!$util.isString(message.session)) return "session: string expected"; if (message.transaction != null && message.hasOwnProperty("transaction")) { - var error = $root.google.spanner.v1.TransactionSelector.verify(message.transaction); + var error = $root.google.spanner.v1.TransactionSelector.verify(message.transaction, long + 1); if (error) return "transaction." + error; } @@ -83166,12 +86441,12 @@ return "columns: string[] expected"; } if (message.keySet != null && message.hasOwnProperty("keySet")) { - var error = $root.google.spanner.v1.KeySet.verify(message.keySet); + var error = $root.google.spanner.v1.KeySet.verify(message.keySet, long + 1); if (error) return "keySet." + error; } if (message.partitionOptions != null && message.hasOwnProperty("partitionOptions")) { - var error = $root.google.spanner.v1.PartitionOptions.verify(message.partitionOptions); + var error = $root.google.spanner.v1.PartitionOptions.verify(message.partitionOptions, long + 1); if (error) return "partitionOptions." + error; } @@ -83186,16 +86461,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.PartitionReadRequest} PartitionReadRequest */ - PartitionReadRequest.fromObject = function fromObject(object) { + PartitionReadRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.PartitionReadRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.PartitionReadRequest(); if (object.session != null) message.session = String(object.session); if (object.transaction != null) { if (typeof object.transaction !== "object") throw TypeError(".google.spanner.v1.PartitionReadRequest.transaction: object expected"); - message.transaction = $root.google.spanner.v1.TransactionSelector.fromObject(object.transaction); + message.transaction = $root.google.spanner.v1.TransactionSelector.fromObject(object.transaction, long + 1); } if (object.table != null) message.table = String(object.table); @@ -83211,12 +86490,12 @@ if (object.keySet != null) { if (typeof object.keySet !== "object") throw TypeError(".google.spanner.v1.PartitionReadRequest.keySet: object expected"); - message.keySet = $root.google.spanner.v1.KeySet.fromObject(object.keySet); + message.keySet = $root.google.spanner.v1.KeySet.fromObject(object.keySet, long + 1); } if (object.partitionOptions != null) { if (typeof object.partitionOptions !== "object") throw TypeError(".google.spanner.v1.PartitionReadRequest.partitionOptions: object expected"); - message.partitionOptions = $root.google.spanner.v1.PartitionOptions.fromObject(object.partitionOptions); + message.partitionOptions = $root.google.spanner.v1.PartitionOptions.fromObject(object.partitionOptions, long + 1); } return message; }; @@ -83313,7 +86592,7 @@ function Partition(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -83378,9 +86657,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Partition.decode = function decode(reader, length, error) { + Partition.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Partition(); while (reader.pos < end) { var tag = reader.uint32(); @@ -83392,7 +86675,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83423,9 +86706,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Partition.verify = function verify(message) { + Partition.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitionToken != null && message.hasOwnProperty("partitionToken")) if (!(message.partitionToken && typeof message.partitionToken.length === "number" || $util.isString(message.partitionToken))) return "partitionToken: buffer expected"; @@ -83440,9 +86727,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Partition} Partition */ - Partition.fromObject = function fromObject(object) { + Partition.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Partition) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Partition(); if (object.partitionToken != null) if (typeof object.partitionToken === "string") @@ -83529,7 +86820,7 @@ this.partitions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -83605,9 +86896,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartitionResponse.decode = function decode(reader, length, error) { + PartitionResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.PartitionResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -83617,15 +86912,15 @@ case 1: { if (!(message.partitions && message.partitions.length)) message.partitions = []; - message.partitions.push($root.google.spanner.v1.Partition.decode(reader, reader.uint32())); + message.partitions.push($root.google.spanner.v1.Partition.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.transaction = $root.google.spanner.v1.Transaction.decode(reader, reader.uint32()); + message.transaction = $root.google.spanner.v1.Transaction.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -83656,20 +86951,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PartitionResponse.verify = function verify(message) { + PartitionResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.partitions != null && message.hasOwnProperty("partitions")) { if (!Array.isArray(message.partitions)) return "partitions: array expected"; for (var i = 0; i < message.partitions.length; ++i) { - var error = $root.google.spanner.v1.Partition.verify(message.partitions[i]); + var error = $root.google.spanner.v1.Partition.verify(message.partitions[i], long + 1); if (error) return "partitions." + error; } } if (message.transaction != null && message.hasOwnProperty("transaction")) { - var error = $root.google.spanner.v1.Transaction.verify(message.transaction); + var error = $root.google.spanner.v1.Transaction.verify(message.transaction, long + 1); if (error) return "transaction." + error; } @@ -83684,9 +86983,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.PartitionResponse} PartitionResponse */ - PartitionResponse.fromObject = function fromObject(object) { + PartitionResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.PartitionResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.PartitionResponse(); if (object.partitions) { if (!Array.isArray(object.partitions)) @@ -83695,13 +86998,13 @@ for (var i = 0; i < object.partitions.length; ++i) { if (typeof object.partitions[i] !== "object") throw TypeError(".google.spanner.v1.PartitionResponse.partitions: object expected"); - message.partitions[i] = $root.google.spanner.v1.Partition.fromObject(object.partitions[i]); + message.partitions[i] = $root.google.spanner.v1.Partition.fromObject(object.partitions[i], long + 1); } } if (object.transaction != null) { if (typeof object.transaction !== "object") throw TypeError(".google.spanner.v1.PartitionResponse.transaction: object expected"); - message.transaction = $root.google.spanner.v1.Transaction.fromObject(object.transaction); + message.transaction = $root.google.spanner.v1.Transaction.fromObject(object.transaction, long + 1); } return message; }; @@ -83797,7 +87100,7 @@ this.columns = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84003,9 +87306,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReadRequest.decode = function decode(reader, length, error) { + ReadRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ReadRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84017,7 +87324,7 @@ break; } case 2: { - message.transaction = $root.google.spanner.v1.TransactionSelector.decode(reader, reader.uint32()); + message.transaction = $root.google.spanner.v1.TransactionSelector.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -84035,7 +87342,7 @@ break; } case 6: { - message.keySet = $root.google.spanner.v1.KeySet.decode(reader, reader.uint32()); + message.keySet = $root.google.spanner.v1.KeySet.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -84051,11 +87358,11 @@ break; } case 11: { - message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32()); + message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 14: { - message.directedReadOptions = $root.google.spanner.v1.DirectedReadOptions.decode(reader, reader.uint32()); + message.directedReadOptions = $root.google.spanner.v1.DirectedReadOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 15: { @@ -84071,11 +87378,11 @@ break; } case 18: { - message.routingHint = $root.google.spanner.v1.RoutingHint.decode(reader, reader.uint32()); + message.routingHint = $root.google.spanner.v1.RoutingHint.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84106,14 +87413,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReadRequest.verify = function verify(message) { + ReadRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.session != null && message.hasOwnProperty("session")) if (!$util.isString(message.session)) return "session: string expected"; if (message.transaction != null && message.hasOwnProperty("transaction")) { - var error = $root.google.spanner.v1.TransactionSelector.verify(message.transaction); + var error = $root.google.spanner.v1.TransactionSelector.verify(message.transaction, long + 1); if (error) return "transaction." + error; } @@ -84131,7 +87442,7 @@ return "columns: string[] expected"; } if (message.keySet != null && message.hasOwnProperty("keySet")) { - var error = $root.google.spanner.v1.KeySet.verify(message.keySet); + var error = $root.google.spanner.v1.KeySet.verify(message.keySet, long + 1); if (error) return "keySet." + error; } @@ -84145,12 +87456,12 @@ if (!(message.partitionToken && typeof message.partitionToken.length === "number" || $util.isString(message.partitionToken))) return "partitionToken: buffer expected"; if (message.requestOptions != null && message.hasOwnProperty("requestOptions")) { - var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions); + var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions, long + 1); if (error) return "requestOptions." + error; } if (message.directedReadOptions != null && message.hasOwnProperty("directedReadOptions")) { - var error = $root.google.spanner.v1.DirectedReadOptions.verify(message.directedReadOptions); + var error = $root.google.spanner.v1.DirectedReadOptions.verify(message.directedReadOptions, long + 1); if (error) return "directedReadOptions." + error; } @@ -84176,7 +87487,7 @@ break; } if (message.routingHint != null && message.hasOwnProperty("routingHint")) { - var error = $root.google.spanner.v1.RoutingHint.verify(message.routingHint); + var error = $root.google.spanner.v1.RoutingHint.verify(message.routingHint, long + 1); if (error) return "routingHint." + error; } @@ -84191,16 +87502,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ReadRequest} ReadRequest */ - ReadRequest.fromObject = function fromObject(object) { + ReadRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ReadRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ReadRequest(); if (object.session != null) message.session = String(object.session); if (object.transaction != null) { if (typeof object.transaction !== "object") throw TypeError(".google.spanner.v1.ReadRequest.transaction: object expected"); - message.transaction = $root.google.spanner.v1.TransactionSelector.fromObject(object.transaction); + message.transaction = $root.google.spanner.v1.TransactionSelector.fromObject(object.transaction, long + 1); } if (object.table != null) message.table = String(object.table); @@ -84216,7 +87531,7 @@ if (object.keySet != null) { if (typeof object.keySet !== "object") throw TypeError(".google.spanner.v1.ReadRequest.keySet: object expected"); - message.keySet = $root.google.spanner.v1.KeySet.fromObject(object.keySet); + message.keySet = $root.google.spanner.v1.KeySet.fromObject(object.keySet, long + 1); } if (object.limit != null) if ($util.Long) @@ -84240,12 +87555,12 @@ if (object.requestOptions != null) { if (typeof object.requestOptions !== "object") throw TypeError(".google.spanner.v1.ReadRequest.requestOptions: object expected"); - message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions); + message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions, long + 1); } if (object.directedReadOptions != null) { if (typeof object.directedReadOptions !== "object") throw TypeError(".google.spanner.v1.ReadRequest.directedReadOptions: object expected"); - message.directedReadOptions = $root.google.spanner.v1.DirectedReadOptions.fromObject(object.directedReadOptions); + message.directedReadOptions = $root.google.spanner.v1.DirectedReadOptions.fromObject(object.directedReadOptions, long + 1); } if (object.dataBoostEnabled != null) message.dataBoostEnabled = Boolean(object.dataBoostEnabled); @@ -84292,7 +87607,7 @@ if (object.routingHint != null) { if (typeof object.routingHint !== "object") throw TypeError(".google.spanner.v1.ReadRequest.routingHint: object expected"); - message.routingHint = $root.google.spanner.v1.RoutingHint.fromObject(object.routingHint); + message.routingHint = $root.google.spanner.v1.RoutingHint.fromObject(object.routingHint, long + 1); } return message; }; @@ -84467,7 +87782,7 @@ function BeginTransactionRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84562,9 +87877,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BeginTransactionRequest.decode = function decode(reader, length, error) { + BeginTransactionRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.BeginTransactionRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84576,19 +87895,19 @@ break; } case 2: { - message.options = $root.google.spanner.v1.TransactionOptions.decode(reader, reader.uint32()); + message.options = $root.google.spanner.v1.TransactionOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32()); + message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.mutationKey = $root.google.spanner.v1.Mutation.decode(reader, reader.uint32()); + message.mutationKey = $root.google.spanner.v1.Mutation.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84619,24 +87938,28 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BeginTransactionRequest.verify = function verify(message) { + BeginTransactionRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.session != null && message.hasOwnProperty("session")) if (!$util.isString(message.session)) return "session: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.spanner.v1.TransactionOptions.verify(message.options); + var error = $root.google.spanner.v1.TransactionOptions.verify(message.options, long + 1); if (error) return "options." + error; } if (message.requestOptions != null && message.hasOwnProperty("requestOptions")) { - var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions); + var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions, long + 1); if (error) return "requestOptions." + error; } if (message.mutationKey != null && message.hasOwnProperty("mutationKey")) { - var error = $root.google.spanner.v1.Mutation.verify(message.mutationKey); + var error = $root.google.spanner.v1.Mutation.verify(message.mutationKey, long + 1); if (error) return "mutationKey." + error; } @@ -84651,26 +87974,30 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.BeginTransactionRequest} BeginTransactionRequest */ - BeginTransactionRequest.fromObject = function fromObject(object) { + BeginTransactionRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.BeginTransactionRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.BeginTransactionRequest(); if (object.session != null) message.session = String(object.session); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.spanner.v1.BeginTransactionRequest.options: object expected"); - message.options = $root.google.spanner.v1.TransactionOptions.fromObject(object.options); + message.options = $root.google.spanner.v1.TransactionOptions.fromObject(object.options, long + 1); } if (object.requestOptions != null) { if (typeof object.requestOptions !== "object") throw TypeError(".google.spanner.v1.BeginTransactionRequest.requestOptions: object expected"); - message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions); + message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions, long + 1); } if (object.mutationKey != null) { if (typeof object.mutationKey !== "object") throw TypeError(".google.spanner.v1.BeginTransactionRequest.mutationKey: object expected"); - message.mutationKey = $root.google.spanner.v1.Mutation.fromObject(object.mutationKey); + message.mutationKey = $root.google.spanner.v1.Mutation.fromObject(object.mutationKey, long + 1); } return message; }; @@ -84762,7 +88089,7 @@ this.mutations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -84912,9 +88239,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommitRequest.decode = function decode(reader, length, error) { + CommitRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.CommitRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -84930,13 +88261,13 @@ break; } case 3: { - message.singleUseTransaction = $root.google.spanner.v1.TransactionOptions.decode(reader, reader.uint32()); + message.singleUseTransaction = $root.google.spanner.v1.TransactionOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.mutations && message.mutations.length)) message.mutations = []; - message.mutations.push($root.google.spanner.v1.Mutation.decode(reader, reader.uint32())); + message.mutations.push($root.google.spanner.v1.Mutation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -84944,19 +88275,19 @@ break; } case 8: { - message.maxCommitDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxCommitDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32()); + message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32()); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -84987,9 +88318,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CommitRequest.verify = function verify(message) { + CommitRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.session != null && message.hasOwnProperty("session")) if (!$util.isString(message.session)) @@ -85004,7 +88339,7 @@ return "transaction: multiple values"; properties.transaction = 1; { - var error = $root.google.spanner.v1.TransactionOptions.verify(message.singleUseTransaction); + var error = $root.google.spanner.v1.TransactionOptions.verify(message.singleUseTransaction, long + 1); if (error) return "singleUseTransaction." + error; } @@ -85013,7 +88348,7 @@ if (!Array.isArray(message.mutations)) return "mutations: array expected"; for (var i = 0; i < message.mutations.length; ++i) { - var error = $root.google.spanner.v1.Mutation.verify(message.mutations[i]); + var error = $root.google.spanner.v1.Mutation.verify(message.mutations[i], long + 1); if (error) return "mutations." + error; } @@ -85022,17 +88357,17 @@ if (typeof message.returnCommitStats !== "boolean") return "returnCommitStats: boolean expected"; if (message.maxCommitDelay != null && message.hasOwnProperty("maxCommitDelay")) { - var error = $root.google.protobuf.Duration.verify(message.maxCommitDelay); + var error = $root.google.protobuf.Duration.verify(message.maxCommitDelay, long + 1); if (error) return "maxCommitDelay." + error; } if (message.requestOptions != null && message.hasOwnProperty("requestOptions")) { - var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions); + var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions, long + 1); if (error) return "requestOptions." + error; } if (message.precommitToken != null && message.hasOwnProperty("precommitToken")) { - var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken); + var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken, long + 1); if (error) return "precommitToken." + error; } @@ -85047,9 +88382,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.CommitRequest} CommitRequest */ - CommitRequest.fromObject = function fromObject(object) { + CommitRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.CommitRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.CommitRequest(); if (object.session != null) message.session = String(object.session); @@ -85061,7 +88400,7 @@ if (object.singleUseTransaction != null) { if (typeof object.singleUseTransaction !== "object") throw TypeError(".google.spanner.v1.CommitRequest.singleUseTransaction: object expected"); - message.singleUseTransaction = $root.google.spanner.v1.TransactionOptions.fromObject(object.singleUseTransaction); + message.singleUseTransaction = $root.google.spanner.v1.TransactionOptions.fromObject(object.singleUseTransaction, long + 1); } if (object.mutations) { if (!Array.isArray(object.mutations)) @@ -85070,7 +88409,7 @@ for (var i = 0; i < object.mutations.length; ++i) { if (typeof object.mutations[i] !== "object") throw TypeError(".google.spanner.v1.CommitRequest.mutations: object expected"); - message.mutations[i] = $root.google.spanner.v1.Mutation.fromObject(object.mutations[i]); + message.mutations[i] = $root.google.spanner.v1.Mutation.fromObject(object.mutations[i], long + 1); } } if (object.returnCommitStats != null) @@ -85078,17 +88417,17 @@ if (object.maxCommitDelay != null) { if (typeof object.maxCommitDelay !== "object") throw TypeError(".google.spanner.v1.CommitRequest.maxCommitDelay: object expected"); - message.maxCommitDelay = $root.google.protobuf.Duration.fromObject(object.maxCommitDelay); + message.maxCommitDelay = $root.google.protobuf.Duration.fromObject(object.maxCommitDelay, long + 1); } if (object.requestOptions != null) { if (typeof object.requestOptions !== "object") throw TypeError(".google.spanner.v1.CommitRequest.requestOptions: object expected"); - message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions); + message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions, long + 1); } if (object.precommitToken != null) { if (typeof object.precommitToken !== "object") throw TypeError(".google.spanner.v1.CommitRequest.precommitToken: object expected"); - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken, long + 1); } return message; }; @@ -85193,7 +88532,7 @@ function RollbackRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85268,9 +88607,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RollbackRequest.decode = function decode(reader, length, error) { + RollbackRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.RollbackRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -85286,7 +88629,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -85317,9 +88660,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RollbackRequest.verify = function verify(message) { + RollbackRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.session != null && message.hasOwnProperty("session")) if (!$util.isString(message.session)) return "session: string expected"; @@ -85337,9 +88684,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.RollbackRequest} RollbackRequest */ - RollbackRequest.fromObject = function fromObject(object) { + RollbackRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.RollbackRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.RollbackRequest(); if (object.session != null) message.session = String(object.session); @@ -85434,7 +88785,7 @@ this.mutationGroups = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85530,9 +88881,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchWriteRequest.decode = function decode(reader, length, error) { + BatchWriteRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.BatchWriteRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -85544,13 +88899,13 @@ break; } case 3: { - message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32()); + message.requestOptions = $root.google.spanner.v1.RequestOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { if (!(message.mutationGroups && message.mutationGroups.length)) message.mutationGroups = []; - message.mutationGroups.push($root.google.spanner.v1.BatchWriteRequest.MutationGroup.decode(reader, reader.uint32())); + message.mutationGroups.push($root.google.spanner.v1.BatchWriteRequest.MutationGroup.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { @@ -85558,7 +88913,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -85589,14 +88944,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchWriteRequest.verify = function verify(message) { + BatchWriteRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.session != null && message.hasOwnProperty("session")) if (!$util.isString(message.session)) return "session: string expected"; if (message.requestOptions != null && message.hasOwnProperty("requestOptions")) { - var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions); + var error = $root.google.spanner.v1.RequestOptions.verify(message.requestOptions, long + 1); if (error) return "requestOptions." + error; } @@ -85604,7 +88963,7 @@ if (!Array.isArray(message.mutationGroups)) return "mutationGroups: array expected"; for (var i = 0; i < message.mutationGroups.length; ++i) { - var error = $root.google.spanner.v1.BatchWriteRequest.MutationGroup.verify(message.mutationGroups[i]); + var error = $root.google.spanner.v1.BatchWriteRequest.MutationGroup.verify(message.mutationGroups[i], long + 1); if (error) return "mutationGroups." + error; } @@ -85623,16 +88982,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.BatchWriteRequest} BatchWriteRequest */ - BatchWriteRequest.fromObject = function fromObject(object) { + BatchWriteRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.BatchWriteRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.BatchWriteRequest(); if (object.session != null) message.session = String(object.session); if (object.requestOptions != null) { if (typeof object.requestOptions !== "object") throw TypeError(".google.spanner.v1.BatchWriteRequest.requestOptions: object expected"); - message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions); + message.requestOptions = $root.google.spanner.v1.RequestOptions.fromObject(object.requestOptions, long + 1); } if (object.mutationGroups) { if (!Array.isArray(object.mutationGroups)) @@ -85641,7 +89004,7 @@ for (var i = 0; i < object.mutationGroups.length; ++i) { if (typeof object.mutationGroups[i] !== "object") throw TypeError(".google.spanner.v1.BatchWriteRequest.mutationGroups: object expected"); - message.mutationGroups[i] = $root.google.spanner.v1.BatchWriteRequest.MutationGroup.fromObject(object.mutationGroups[i]); + message.mutationGroups[i] = $root.google.spanner.v1.BatchWriteRequest.MutationGroup.fromObject(object.mutationGroups[i], long + 1); } } if (object.excludeTxnFromChangeStreams != null) @@ -85730,7 +89093,7 @@ this.mutations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -85796,9 +89159,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MutationGroup.decode = function decode(reader, length, error) { + MutationGroup.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.BatchWriteRequest.MutationGroup(); while (reader.pos < end) { var tag = reader.uint32(); @@ -85808,11 +89175,11 @@ case 1: { if (!(message.mutations && message.mutations.length)) message.mutations = []; - message.mutations.push($root.google.spanner.v1.Mutation.decode(reader, reader.uint32())); + message.mutations.push($root.google.spanner.v1.Mutation.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -85843,14 +89210,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MutationGroup.verify = function verify(message) { + MutationGroup.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.mutations != null && message.hasOwnProperty("mutations")) { if (!Array.isArray(message.mutations)) return "mutations: array expected"; for (var i = 0; i < message.mutations.length; ++i) { - var error = $root.google.spanner.v1.Mutation.verify(message.mutations[i]); + var error = $root.google.spanner.v1.Mutation.verify(message.mutations[i], long + 1); if (error) return "mutations." + error; } @@ -85866,9 +89237,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.BatchWriteRequest.MutationGroup} MutationGroup */ - MutationGroup.fromObject = function fromObject(object) { + MutationGroup.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.BatchWriteRequest.MutationGroup) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.BatchWriteRequest.MutationGroup(); if (object.mutations) { if (!Array.isArray(object.mutations)) @@ -85877,7 +89252,7 @@ for (var i = 0; i < object.mutations.length; ++i) { if (typeof object.mutations[i] !== "object") throw TypeError(".google.spanner.v1.BatchWriteRequest.MutationGroup.mutations: object expected"); - message.mutations[i] = $root.google.spanner.v1.Mutation.fromObject(object.mutations[i]); + message.mutations[i] = $root.google.spanner.v1.Mutation.fromObject(object.mutations[i], long + 1); } } return message; @@ -85961,7 +89336,7 @@ this.indexes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86050,9 +89425,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BatchWriteResponse.decode = function decode(reader, length, error) { + BatchWriteResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.BatchWriteResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86071,15 +89450,15 @@ break; } case 2: { - message.status = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.status = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.commitTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.commitTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86110,9 +89489,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BatchWriteResponse.verify = function verify(message) { + BatchWriteResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.indexes != null && message.hasOwnProperty("indexes")) { if (!Array.isArray(message.indexes)) return "indexes: array expected"; @@ -86121,12 +89504,12 @@ return "indexes: integer[] expected"; } if (message.status != null && message.hasOwnProperty("status")) { - var error = $root.google.rpc.Status.verify(message.status); + var error = $root.google.rpc.Status.verify(message.status, long + 1); if (error) return "status." + error; } if (message.commitTimestamp != null && message.hasOwnProperty("commitTimestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.commitTimestamp); + var error = $root.google.protobuf.Timestamp.verify(message.commitTimestamp, long + 1); if (error) return "commitTimestamp." + error; } @@ -86141,9 +89524,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.BatchWriteResponse} BatchWriteResponse */ - BatchWriteResponse.fromObject = function fromObject(object) { + BatchWriteResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.BatchWriteResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.BatchWriteResponse(); if (object.indexes) { if (!Array.isArray(object.indexes)) @@ -86155,12 +89542,12 @@ if (object.status != null) { if (typeof object.status !== "object") throw TypeError(".google.spanner.v1.BatchWriteResponse.status: object expected"); - message.status = $root.google.rpc.Status.fromObject(object.status); + message.status = $root.google.rpc.Status.fromObject(object.status, long + 1); } if (object.commitTimestamp != null) { if (typeof object.commitTimestamp !== "object") throw TypeError(".google.spanner.v1.BatchWriteResponse.commitTimestamp: object expected"); - message.commitTimestamp = $root.google.protobuf.Timestamp.fromObject(object.commitTimestamp); + message.commitTimestamp = $root.google.protobuf.Timestamp.fromObject(object.commitTimestamp, long + 1); } return message; }; @@ -86248,7 +89635,7 @@ function CommitResponse(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86357,9 +89744,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommitResponse.decode = function decode(reader, length, error) { + CommitResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.CommitResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86367,23 +89758,23 @@ break; switch (tag >>> 3) { case 1: { - message.commitTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.commitTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.commitStats = $root.google.spanner.v1.CommitResponse.CommitStats.decode(reader, reader.uint32()); + message.commitStats = $root.google.spanner.v1.CommitResponse.CommitStats.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32()); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.snapshotTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.snapshotTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86414,30 +89805,34 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CommitResponse.verify = function verify(message) { + CommitResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.commitTimestamp != null && message.hasOwnProperty("commitTimestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.commitTimestamp); + var error = $root.google.protobuf.Timestamp.verify(message.commitTimestamp, long + 1); if (error) return "commitTimestamp." + error; } if (message.commitStats != null && message.hasOwnProperty("commitStats")) { - var error = $root.google.spanner.v1.CommitResponse.CommitStats.verify(message.commitStats); + var error = $root.google.spanner.v1.CommitResponse.CommitStats.verify(message.commitStats, long + 1); if (error) return "commitStats." + error; } if (message.precommitToken != null && message.hasOwnProperty("precommitToken")) { properties.MultiplexedSessionRetry = 1; { - var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken); + var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken, long + 1); if (error) return "precommitToken." + error; } } if (message.snapshotTimestamp != null && message.hasOwnProperty("snapshotTimestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.snapshotTimestamp); + var error = $root.google.protobuf.Timestamp.verify(message.snapshotTimestamp, long + 1); if (error) return "snapshotTimestamp." + error; } @@ -86452,29 +89847,33 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.CommitResponse} CommitResponse */ - CommitResponse.fromObject = function fromObject(object) { + CommitResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.CommitResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.CommitResponse(); if (object.commitTimestamp != null) { if (typeof object.commitTimestamp !== "object") throw TypeError(".google.spanner.v1.CommitResponse.commitTimestamp: object expected"); - message.commitTimestamp = $root.google.protobuf.Timestamp.fromObject(object.commitTimestamp); + message.commitTimestamp = $root.google.protobuf.Timestamp.fromObject(object.commitTimestamp, long + 1); } if (object.commitStats != null) { if (typeof object.commitStats !== "object") throw TypeError(".google.spanner.v1.CommitResponse.commitStats: object expected"); - message.commitStats = $root.google.spanner.v1.CommitResponse.CommitStats.fromObject(object.commitStats); + message.commitStats = $root.google.spanner.v1.CommitResponse.CommitStats.fromObject(object.commitStats, long + 1); } if (object.precommitToken != null) { if (typeof object.precommitToken !== "object") throw TypeError(".google.spanner.v1.CommitResponse.precommitToken: object expected"); - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken, long + 1); } if (object.snapshotTimestamp != null) { if (typeof object.snapshotTimestamp !== "object") throw TypeError(".google.spanner.v1.CommitResponse.snapshotTimestamp: object expected"); - message.snapshotTimestamp = $root.google.protobuf.Timestamp.fromObject(object.snapshotTimestamp); + message.snapshotTimestamp = $root.google.protobuf.Timestamp.fromObject(object.snapshotTimestamp, long + 1); } return message; }; @@ -86557,7 +89956,7 @@ function CommitStats(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86622,9 +90021,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommitStats.decode = function decode(reader, length, error) { + CommitStats.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.CommitResponse.CommitStats(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86636,7 +90039,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86667,9 +90070,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CommitStats.verify = function verify(message) { + CommitStats.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.mutationCount != null && message.hasOwnProperty("mutationCount")) if (!$util.isInteger(message.mutationCount) && !(message.mutationCount && $util.isInteger(message.mutationCount.low) && $util.isInteger(message.mutationCount.high))) return "mutationCount: integer|Long expected"; @@ -86684,9 +90091,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.CommitResponse.CommitStats} CommitStats */ - CommitStats.fromObject = function fromObject(object) { + CommitStats.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.CommitResponse.CommitStats) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.CommitResponse.CommitStats(); if (object.mutationCount != null) if ($util.Long) @@ -86783,7 +90194,7 @@ function TransactionOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -86902,9 +90313,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TransactionOptions.decode = function decode(reader, length, error) { + TransactionOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.TransactionOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -86912,15 +90327,15 @@ break; switch (tag >>> 3) { case 1: { - message.readWrite = $root.google.spanner.v1.TransactionOptions.ReadWrite.decode(reader, reader.uint32()); + message.readWrite = $root.google.spanner.v1.TransactionOptions.ReadWrite.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.partitionedDml = $root.google.spanner.v1.TransactionOptions.PartitionedDml.decode(reader, reader.uint32()); + message.partitionedDml = $root.google.spanner.v1.TransactionOptions.PartitionedDml.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.readOnly = $root.google.spanner.v1.TransactionOptions.ReadOnly.decode(reader, reader.uint32()); + message.readOnly = $root.google.spanner.v1.TransactionOptions.ReadOnly.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -86932,7 +90347,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -86963,14 +90378,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TransactionOptions.verify = function verify(message) { + TransactionOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.readWrite != null && message.hasOwnProperty("readWrite")) { properties.mode = 1; { - var error = $root.google.spanner.v1.TransactionOptions.ReadWrite.verify(message.readWrite); + var error = $root.google.spanner.v1.TransactionOptions.ReadWrite.verify(message.readWrite, long + 1); if (error) return "readWrite." + error; } @@ -86980,7 +90399,7 @@ return "mode: multiple values"; properties.mode = 1; { - var error = $root.google.spanner.v1.TransactionOptions.PartitionedDml.verify(message.partitionedDml); + var error = $root.google.spanner.v1.TransactionOptions.PartitionedDml.verify(message.partitionedDml, long + 1); if (error) return "partitionedDml." + error; } @@ -86990,7 +90409,7 @@ return "mode: multiple values"; properties.mode = 1; { - var error = $root.google.spanner.v1.TransactionOptions.ReadOnly.verify(message.readOnly); + var error = $root.google.spanner.v1.TransactionOptions.ReadOnly.verify(message.readOnly, long + 1); if (error) return "readOnly." + error; } @@ -87018,24 +90437,28 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.TransactionOptions} TransactionOptions */ - TransactionOptions.fromObject = function fromObject(object) { + TransactionOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.TransactionOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.TransactionOptions(); if (object.readWrite != null) { if (typeof object.readWrite !== "object") throw TypeError(".google.spanner.v1.TransactionOptions.readWrite: object expected"); - message.readWrite = $root.google.spanner.v1.TransactionOptions.ReadWrite.fromObject(object.readWrite); + message.readWrite = $root.google.spanner.v1.TransactionOptions.ReadWrite.fromObject(object.readWrite, long + 1); } if (object.partitionedDml != null) { if (typeof object.partitionedDml !== "object") throw TypeError(".google.spanner.v1.TransactionOptions.partitionedDml: object expected"); - message.partitionedDml = $root.google.spanner.v1.TransactionOptions.PartitionedDml.fromObject(object.partitionedDml); + message.partitionedDml = $root.google.spanner.v1.TransactionOptions.PartitionedDml.fromObject(object.partitionedDml, long + 1); } if (object.readOnly != null) { if (typeof object.readOnly !== "object") throw TypeError(".google.spanner.v1.TransactionOptions.readOnly: object expected"); - message.readOnly = $root.google.spanner.v1.TransactionOptions.ReadOnly.fromObject(object.readOnly); + message.readOnly = $root.google.spanner.v1.TransactionOptions.ReadOnly.fromObject(object.readOnly, long + 1); } if (object.excludeTxnFromChangeStreams != null) message.excludeTxnFromChangeStreams = Boolean(object.excludeTxnFromChangeStreams); @@ -87148,7 +90571,7 @@ function ReadWrite(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -87223,9 +90646,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReadWrite.decode = function decode(reader, length, error) { + ReadWrite.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.TransactionOptions.ReadWrite(); while (reader.pos < end) { var tag = reader.uint32(); @@ -87241,7 +90668,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -87272,9 +90699,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReadWrite.verify = function verify(message) { + ReadWrite.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.readLockMode != null && message.hasOwnProperty("readLockMode")) switch (message.readLockMode) { default: @@ -87298,9 +90729,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.TransactionOptions.ReadWrite} ReadWrite */ - ReadWrite.fromObject = function fromObject(object) { + ReadWrite.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.TransactionOptions.ReadWrite) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.TransactionOptions.ReadWrite(); switch (object.readLockMode) { default: @@ -87424,7 +90859,7 @@ function PartitionedDml(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -87479,9 +90914,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartitionedDml.decode = function decode(reader, length, error) { + PartitionedDml.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.TransactionOptions.PartitionedDml(); while (reader.pos < end) { var tag = reader.uint32(); @@ -87489,7 +90928,7 @@ break; switch (tag >>> 3) { default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -87520,9 +90959,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PartitionedDml.verify = function verify(message) { + PartitionedDml.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; return null; }; @@ -87534,9 +90977,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.TransactionOptions.PartitionedDml} PartitionedDml */ - PartitionedDml.fromObject = function fromObject(object) { + PartitionedDml.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.TransactionOptions.PartitionedDml) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); return new $root.google.spanner.v1.TransactionOptions.PartitionedDml(); }; @@ -87607,7 +91054,7 @@ function ReadOnly(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -87736,9 +91183,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ReadOnly.decode = function decode(reader, length, error) { + ReadOnly.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.TransactionOptions.ReadOnly(); while (reader.pos < end) { var tag = reader.uint32(); @@ -87750,19 +91201,19 @@ break; } case 2: { - message.minReadTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.minReadTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.maxStaleness = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxStaleness = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.readTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.exactStaleness = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.exactStaleness = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { @@ -87770,7 +91221,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -87801,9 +91252,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ReadOnly.verify = function verify(message) { + ReadOnly.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.strong != null && message.hasOwnProperty("strong")) { properties.timestampBound = 1; @@ -87815,7 +91270,7 @@ return "timestampBound: multiple values"; properties.timestampBound = 1; { - var error = $root.google.protobuf.Timestamp.verify(message.minReadTimestamp); + var error = $root.google.protobuf.Timestamp.verify(message.minReadTimestamp, long + 1); if (error) return "minReadTimestamp." + error; } @@ -87825,7 +91280,7 @@ return "timestampBound: multiple values"; properties.timestampBound = 1; { - var error = $root.google.protobuf.Duration.verify(message.maxStaleness); + var error = $root.google.protobuf.Duration.verify(message.maxStaleness, long + 1); if (error) return "maxStaleness." + error; } @@ -87835,7 +91290,7 @@ return "timestampBound: multiple values"; properties.timestampBound = 1; { - var error = $root.google.protobuf.Timestamp.verify(message.readTimestamp); + var error = $root.google.protobuf.Timestamp.verify(message.readTimestamp, long + 1); if (error) return "readTimestamp." + error; } @@ -87845,7 +91300,7 @@ return "timestampBound: multiple values"; properties.timestampBound = 1; { - var error = $root.google.protobuf.Duration.verify(message.exactStaleness); + var error = $root.google.protobuf.Duration.verify(message.exactStaleness, long + 1); if (error) return "exactStaleness." + error; } @@ -87864,31 +91319,35 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.TransactionOptions.ReadOnly} ReadOnly */ - ReadOnly.fromObject = function fromObject(object) { + ReadOnly.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.TransactionOptions.ReadOnly) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.TransactionOptions.ReadOnly(); if (object.strong != null) message.strong = Boolean(object.strong); if (object.minReadTimestamp != null) { if (typeof object.minReadTimestamp !== "object") throw TypeError(".google.spanner.v1.TransactionOptions.ReadOnly.minReadTimestamp: object expected"); - message.minReadTimestamp = $root.google.protobuf.Timestamp.fromObject(object.minReadTimestamp); + message.minReadTimestamp = $root.google.protobuf.Timestamp.fromObject(object.minReadTimestamp, long + 1); } if (object.maxStaleness != null) { if (typeof object.maxStaleness !== "object") throw TypeError(".google.spanner.v1.TransactionOptions.ReadOnly.maxStaleness: object expected"); - message.maxStaleness = $root.google.protobuf.Duration.fromObject(object.maxStaleness); + message.maxStaleness = $root.google.protobuf.Duration.fromObject(object.maxStaleness, long + 1); } if (object.readTimestamp != null) { if (typeof object.readTimestamp !== "object") throw TypeError(".google.spanner.v1.TransactionOptions.ReadOnly.readTimestamp: object expected"); - message.readTimestamp = $root.google.protobuf.Timestamp.fromObject(object.readTimestamp); + message.readTimestamp = $root.google.protobuf.Timestamp.fromObject(object.readTimestamp, long + 1); } if (object.exactStaleness != null) { if (typeof object.exactStaleness !== "object") throw TypeError(".google.spanner.v1.TransactionOptions.ReadOnly.exactStaleness: object expected"); - message.exactStaleness = $root.google.protobuf.Duration.fromObject(object.exactStaleness); + message.exactStaleness = $root.google.protobuf.Duration.fromObject(object.exactStaleness, long + 1); } if (object.returnReadTimestamp != null) message.returnReadTimestamp = Boolean(object.returnReadTimestamp); @@ -88010,7 +91469,7 @@ function Transaction(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -88095,9 +91554,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Transaction.decode = function decode(reader, length, error) { + Transaction.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Transaction(); while (reader.pos < end) { var tag = reader.uint32(); @@ -88109,15 +91572,15 @@ break; } case 2: { - message.readTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.readTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32()); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -88148,19 +91611,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Transaction.verify = function verify(message) { + Transaction.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.id != null && message.hasOwnProperty("id")) if (!(message.id && typeof message.id.length === "number" || $util.isString(message.id))) return "id: buffer expected"; if (message.readTimestamp != null && message.hasOwnProperty("readTimestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.readTimestamp); + var error = $root.google.protobuf.Timestamp.verify(message.readTimestamp, long + 1); if (error) return "readTimestamp." + error; } if (message.precommitToken != null && message.hasOwnProperty("precommitToken")) { - var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken); + var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken, long + 1); if (error) return "precommitToken." + error; } @@ -88175,9 +91642,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Transaction} Transaction */ - Transaction.fromObject = function fromObject(object) { + Transaction.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Transaction) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Transaction(); if (object.id != null) if (typeof object.id === "string") @@ -88187,12 +91658,12 @@ if (object.readTimestamp != null) { if (typeof object.readTimestamp !== "object") throw TypeError(".google.spanner.v1.Transaction.readTimestamp: object expected"); - message.readTimestamp = $root.google.protobuf.Timestamp.fromObject(object.readTimestamp); + message.readTimestamp = $root.google.protobuf.Timestamp.fromObject(object.readTimestamp, long + 1); } if (object.precommitToken != null) { if (typeof object.precommitToken !== "object") throw TypeError(".google.spanner.v1.Transaction.precommitToken: object expected"); - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken, long + 1); } return message; }; @@ -88281,7 +91752,7 @@ function TransactionSelector(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -88380,9 +91851,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TransactionSelector.decode = function decode(reader, length, error) { + TransactionSelector.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.TransactionSelector(); while (reader.pos < end) { var tag = reader.uint32(); @@ -88390,7 +91865,7 @@ break; switch (tag >>> 3) { case 1: { - message.singleUse = $root.google.spanner.v1.TransactionOptions.decode(reader, reader.uint32()); + message.singleUse = $root.google.spanner.v1.TransactionOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -88398,11 +91873,11 @@ break; } case 3: { - message.begin = $root.google.spanner.v1.TransactionOptions.decode(reader, reader.uint32()); + message.begin = $root.google.spanner.v1.TransactionOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -88433,14 +91908,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TransactionSelector.verify = function verify(message) { + TransactionSelector.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.singleUse != null && message.hasOwnProperty("singleUse")) { properties.selector = 1; { - var error = $root.google.spanner.v1.TransactionOptions.verify(message.singleUse); + var error = $root.google.spanner.v1.TransactionOptions.verify(message.singleUse, long + 1); if (error) return "singleUse." + error; } @@ -88457,7 +91936,7 @@ return "selector: multiple values"; properties.selector = 1; { - var error = $root.google.spanner.v1.TransactionOptions.verify(message.begin); + var error = $root.google.spanner.v1.TransactionOptions.verify(message.begin, long + 1); if (error) return "begin." + error; } @@ -88473,14 +91952,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.TransactionSelector} TransactionSelector */ - TransactionSelector.fromObject = function fromObject(object) { + TransactionSelector.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.TransactionSelector) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.TransactionSelector(); if (object.singleUse != null) { if (typeof object.singleUse !== "object") throw TypeError(".google.spanner.v1.TransactionSelector.singleUse: object expected"); - message.singleUse = $root.google.spanner.v1.TransactionOptions.fromObject(object.singleUse); + message.singleUse = $root.google.spanner.v1.TransactionOptions.fromObject(object.singleUse, long + 1); } if (object.id != null) if (typeof object.id === "string") @@ -88490,7 +91973,7 @@ if (object.begin != null) { if (typeof object.begin !== "object") throw TypeError(".google.spanner.v1.TransactionSelector.begin: object expected"); - message.begin = $root.google.spanner.v1.TransactionOptions.fromObject(object.begin); + message.begin = $root.google.spanner.v1.TransactionOptions.fromObject(object.begin, long + 1); } return message; }; @@ -88576,7 +92059,7 @@ function MultiplexedSessionPrecommitToken(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -88651,9 +92134,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MultiplexedSessionPrecommitToken.decode = function decode(reader, length, error) { + MultiplexedSessionPrecommitToken.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.MultiplexedSessionPrecommitToken(); while (reader.pos < end) { var tag = reader.uint32(); @@ -88669,7 +92156,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -88700,9 +92187,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MultiplexedSessionPrecommitToken.verify = function verify(message) { + MultiplexedSessionPrecommitToken.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.precommitToken != null && message.hasOwnProperty("precommitToken")) if (!(message.precommitToken && typeof message.precommitToken.length === "number" || $util.isString(message.precommitToken))) return "precommitToken: buffer expected"; @@ -88720,9 +92211,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.MultiplexedSessionPrecommitToken} MultiplexedSessionPrecommitToken */ - MultiplexedSessionPrecommitToken.fromObject = function fromObject(object) { + MultiplexedSessionPrecommitToken.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.MultiplexedSessionPrecommitToken) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.MultiplexedSessionPrecommitToken(); if (object.precommitToken != null) if (typeof object.precommitToken === "string") @@ -88816,7 +92311,7 @@ function KeyRange(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -88936,9 +92431,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeyRange.decode = function decode(reader, length, error) { + KeyRange.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.KeyRange(); while (reader.pos < end) { var tag = reader.uint32(); @@ -88946,23 +92445,23 @@ break; switch (tag >>> 3) { case 1: { - message.startClosed = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + message.startClosed = $root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.startOpen = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + message.startOpen = $root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.endClosed = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + message.endClosed = $root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.endOpen = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + message.endOpen = $root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -88993,14 +92492,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - KeyRange.verify = function verify(message) { + KeyRange.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.startClosed != null && message.hasOwnProperty("startClosed")) { properties.startKeyType = 1; { - var error = $root.google.protobuf.ListValue.verify(message.startClosed); + var error = $root.google.protobuf.ListValue.verify(message.startClosed, long + 1); if (error) return "startClosed." + error; } @@ -89010,7 +92513,7 @@ return "startKeyType: multiple values"; properties.startKeyType = 1; { - var error = $root.google.protobuf.ListValue.verify(message.startOpen); + var error = $root.google.protobuf.ListValue.verify(message.startOpen, long + 1); if (error) return "startOpen." + error; } @@ -89018,7 +92521,7 @@ if (message.endClosed != null && message.hasOwnProperty("endClosed")) { properties.endKeyType = 1; { - var error = $root.google.protobuf.ListValue.verify(message.endClosed); + var error = $root.google.protobuf.ListValue.verify(message.endClosed, long + 1); if (error) return "endClosed." + error; } @@ -89028,7 +92531,7 @@ return "endKeyType: multiple values"; properties.endKeyType = 1; { - var error = $root.google.protobuf.ListValue.verify(message.endOpen); + var error = $root.google.protobuf.ListValue.verify(message.endOpen, long + 1); if (error) return "endOpen." + error; } @@ -89044,29 +92547,33 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.KeyRange} KeyRange */ - KeyRange.fromObject = function fromObject(object) { + KeyRange.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.KeyRange) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.KeyRange(); if (object.startClosed != null) { if (typeof object.startClosed !== "object") throw TypeError(".google.spanner.v1.KeyRange.startClosed: object expected"); - message.startClosed = $root.google.protobuf.ListValue.fromObject(object.startClosed); + message.startClosed = $root.google.protobuf.ListValue.fromObject(object.startClosed, long + 1); } if (object.startOpen != null) { if (typeof object.startOpen !== "object") throw TypeError(".google.spanner.v1.KeyRange.startOpen: object expected"); - message.startOpen = $root.google.protobuf.ListValue.fromObject(object.startOpen); + message.startOpen = $root.google.protobuf.ListValue.fromObject(object.startOpen, long + 1); } if (object.endClosed != null) { if (typeof object.endClosed !== "object") throw TypeError(".google.spanner.v1.KeyRange.endClosed: object expected"); - message.endClosed = $root.google.protobuf.ListValue.fromObject(object.endClosed); + message.endClosed = $root.google.protobuf.ListValue.fromObject(object.endClosed, long + 1); } if (object.endOpen != null) { if (typeof object.endOpen !== "object") throw TypeError(".google.spanner.v1.KeyRange.endOpen: object expected"); - message.endOpen = $root.google.protobuf.ListValue.fromObject(object.endOpen); + message.endOpen = $root.google.protobuf.ListValue.fromObject(object.endOpen, long + 1); } return message; }; @@ -89160,7 +92667,7 @@ this.ranges = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -89247,9 +92754,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeySet.decode = function decode(reader, length, error) { + KeySet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.KeySet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -89259,13 +92770,13 @@ case 1: { if (!(message.keys && message.keys.length)) message.keys = []; - message.keys.push($root.google.protobuf.ListValue.decode(reader, reader.uint32())); + message.keys.push($root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.ranges && message.ranges.length)) message.ranges = []; - message.ranges.push($root.google.spanner.v1.KeyRange.decode(reader, reader.uint32())); + message.ranges.push($root.google.spanner.v1.KeyRange.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -89273,7 +92784,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -89304,14 +92815,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - KeySet.verify = function verify(message) { + KeySet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.keys != null && message.hasOwnProperty("keys")) { if (!Array.isArray(message.keys)) return "keys: array expected"; for (var i = 0; i < message.keys.length; ++i) { - var error = $root.google.protobuf.ListValue.verify(message.keys[i]); + var error = $root.google.protobuf.ListValue.verify(message.keys[i], long + 1); if (error) return "keys." + error; } @@ -89320,7 +92835,7 @@ if (!Array.isArray(message.ranges)) return "ranges: array expected"; for (var i = 0; i < message.ranges.length; ++i) { - var error = $root.google.spanner.v1.KeyRange.verify(message.ranges[i]); + var error = $root.google.spanner.v1.KeyRange.verify(message.ranges[i], long + 1); if (error) return "ranges." + error; } @@ -89339,9 +92854,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.KeySet} KeySet */ - KeySet.fromObject = function fromObject(object) { + KeySet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.KeySet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.KeySet(); if (object.keys) { if (!Array.isArray(object.keys)) @@ -89350,7 +92869,7 @@ for (var i = 0; i < object.keys.length; ++i) { if (typeof object.keys[i] !== "object") throw TypeError(".google.spanner.v1.KeySet.keys: object expected"); - message.keys[i] = $root.google.protobuf.ListValue.fromObject(object.keys[i]); + message.keys[i] = $root.google.protobuf.ListValue.fromObject(object.keys[i], long + 1); } } if (object.ranges) { @@ -89360,7 +92879,7 @@ for (var i = 0; i < object.ranges.length; ++i) { if (typeof object.ranges[i] !== "object") throw TypeError(".google.spanner.v1.KeySet.ranges: object expected"); - message.ranges[i] = $root.google.spanner.v1.KeyRange.fromObject(object.ranges[i]); + message.ranges[i] = $root.google.spanner.v1.KeyRange.fromObject(object.ranges[i], long + 1); } } if (object.all != null) @@ -89455,7 +92974,7 @@ function Range(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -89560,9 +93079,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Range.decode = function decode(reader, length, error) { + Range.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Range(); while (reader.pos < end) { var tag = reader.uint32(); @@ -89590,7 +93113,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -89621,9 +93144,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Range.verify = function verify(message) { + Range.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.startKey != null && message.hasOwnProperty("startKey")) if (!(message.startKey && typeof message.startKey.length === "number" || $util.isString(message.startKey))) return "startKey: buffer expected"; @@ -89650,9 +93177,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Range} Range */ - Range.fromObject = function fromObject(object) { + Range.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Range) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Range(); if (object.startKey != null) if (typeof object.startKey === "string") @@ -89810,7 +93341,7 @@ function Tablet(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -89935,9 +93466,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Tablet.decode = function decode(reader, length, error) { + Tablet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Tablet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -89973,7 +93508,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -90004,9 +93539,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Tablet.verify = function verify(message) { + Tablet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.tabletUid != null && message.hasOwnProperty("tabletUid")) if (!$util.isInteger(message.tabletUid) && !(message.tabletUid && $util.isInteger(message.tabletUid.low) && $util.isInteger(message.tabletUid.high))) return "tabletUid: integer|Long expected"; @@ -90045,9 +93584,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Tablet} Tablet */ - Tablet.fromObject = function fromObject(object) { + Tablet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Tablet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Tablet(); if (object.tabletUid != null) if ($util.Long) @@ -90215,7 +93758,7 @@ this.tablets = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -90311,9 +93854,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Group.decode = function decode(reader, length, error) { + Group.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Group(); while (reader.pos < end) { var tag = reader.uint32(); @@ -90327,7 +93874,7 @@ case 2: { if (!(message.tablets && message.tablets.length)) message.tablets = []; - message.tablets.push($root.google.spanner.v1.Tablet.decode(reader, reader.uint32())); + message.tablets.push($root.google.spanner.v1.Tablet.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -90339,7 +93886,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -90370,9 +93917,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Group.verify = function verify(message) { + Group.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.groupUid != null && message.hasOwnProperty("groupUid")) if (!$util.isInteger(message.groupUid) && !(message.groupUid && $util.isInteger(message.groupUid.low) && $util.isInteger(message.groupUid.high))) return "groupUid: integer|Long expected"; @@ -90380,7 +93931,7 @@ if (!Array.isArray(message.tablets)) return "tablets: array expected"; for (var i = 0; i < message.tablets.length; ++i) { - var error = $root.google.spanner.v1.Tablet.verify(message.tablets[i]); + var error = $root.google.spanner.v1.Tablet.verify(message.tablets[i], long + 1); if (error) return "tablets." + error; } @@ -90402,9 +93953,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Group} Group */ - Group.fromObject = function fromObject(object) { + Group.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Group) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Group(); if (object.groupUid != null) if ($util.Long) @@ -90422,7 +93977,7 @@ for (var i = 0; i < object.tablets.length; ++i) { if (typeof object.tablets[i] !== "object") throw TypeError(".google.spanner.v1.Group.tablets: object expected"); - message.tablets[i] = $root.google.spanner.v1.Tablet.fromObject(object.tablets[i]); + message.tablets[i] = $root.google.spanner.v1.Tablet.fromObject(object.tablets[i], long + 1); } } if (object.leaderIndex != null) @@ -90535,7 +94090,7 @@ this.part = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -90645,9 +94200,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - KeyRecipe.decode = function decode(reader, length, error) { + KeyRecipe.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.KeyRecipe(); while (reader.pos < end) { var tag = reader.uint32(); @@ -90669,11 +94228,11 @@ case 4: { if (!(message.part && message.part.length)) message.part = []; - message.part.push($root.google.spanner.v1.KeyRecipe.Part.decode(reader, reader.uint32())); + message.part.push($root.google.spanner.v1.KeyRecipe.Part.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -90704,9 +94263,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - KeyRecipe.verify = function verify(message) { + KeyRecipe.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.tableName != null && message.hasOwnProperty("tableName")) { properties.target = 1; @@ -90731,7 +94294,7 @@ if (!Array.isArray(message.part)) return "part: array expected"; for (var i = 0; i < message.part.length; ++i) { - var error = $root.google.spanner.v1.KeyRecipe.Part.verify(message.part[i]); + var error = $root.google.spanner.v1.KeyRecipe.Part.verify(message.part[i], long + 1); if (error) return "part." + error; } @@ -90747,9 +94310,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.KeyRecipe} KeyRecipe */ - KeyRecipe.fromObject = function fromObject(object) { + KeyRecipe.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.KeyRecipe) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.KeyRecipe(); if (object.tableName != null) message.tableName = String(object.tableName); @@ -90771,7 +94338,7 @@ for (var i = 0; i < object.part.length; ++i) { if (typeof object.part[i] !== "object") throw TypeError(".google.spanner.v1.KeyRecipe.part: object expected"); - message.part[i] = $root.google.spanner.v1.KeyRecipe.Part.fromObject(object.part[i]); + message.part[i] = $root.google.spanner.v1.KeyRecipe.Part.fromObject(object.part[i], long + 1); } } return message; @@ -90872,7 +94439,7 @@ this.structIdentifiers = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -91025,9 +94592,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Part.decode = function decode(reader, length, error) { + Part.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.KeyRecipe.Part(); while (reader.pos < end) { var tag = reader.uint32(); @@ -91047,7 +94618,7 @@ break; } case 4: { - message.type = $root.google.spanner.v1.Type.decode(reader, reader.uint32()); + message.type = $root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { @@ -91055,7 +94626,7 @@ break; } case 6: { - message.value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + message.value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { @@ -91074,7 +94645,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -91105,9 +94676,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Part.verify = function verify(message) { + Part.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.tag != null && message.hasOwnProperty("tag")) if (!$util.isInteger(message.tag)) @@ -91132,7 +94707,7 @@ break; } if (message.type != null && message.hasOwnProperty("type")) { - var error = $root.google.spanner.v1.Type.verify(message.type); + var error = $root.google.spanner.v1.Type.verify(message.type, long + 1); if (error) return "type." + error; } @@ -91146,7 +94721,7 @@ return "valueType: multiple values"; properties.valueType = 1; { - var error = $root.google.protobuf.Value.verify(message.value); + var error = $root.google.protobuf.Value.verify(message.value, long + 1); if (error) return "value." + error; } @@ -91176,9 +94751,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.KeyRecipe.Part} Part */ - Part.fromObject = function fromObject(object) { + Part.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.KeyRecipe.Part) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.KeyRecipe.Part(); if (object.tag != null) message.tag = object.tag >>> 0; @@ -91229,14 +94808,14 @@ if (object.type != null) { if (typeof object.type !== "object") throw TypeError(".google.spanner.v1.KeyRecipe.Part.type: object expected"); - message.type = $root.google.spanner.v1.Type.fromObject(object.type); + message.type = $root.google.spanner.v1.Type.fromObject(object.type, long + 1); } if (object.identifier != null) message.identifier = String(object.identifier); if (object.value != null) { if (typeof object.value !== "object") throw TypeError(".google.spanner.v1.KeyRecipe.Part.value: object expected"); - message.value = $root.google.protobuf.Value.fromObject(object.value); + message.value = $root.google.protobuf.Value.fromObject(object.value, long + 1); } if (object.random != null) message.random = Boolean(object.random); @@ -91390,7 +94969,7 @@ this.recipe = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -91466,9 +95045,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RecipeList.decode = function decode(reader, length, error) { + RecipeList.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.RecipeList(); while (reader.pos < end) { var tag = reader.uint32(); @@ -91482,11 +95065,11 @@ case 3: { if (!(message.recipe && message.recipe.length)) message.recipe = []; - message.recipe.push($root.google.spanner.v1.KeyRecipe.decode(reader, reader.uint32())); + message.recipe.push($root.google.spanner.v1.KeyRecipe.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -91517,9 +95100,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RecipeList.verify = function verify(message) { + RecipeList.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.schemaGeneration != null && message.hasOwnProperty("schemaGeneration")) if (!(message.schemaGeneration && typeof message.schemaGeneration.length === "number" || $util.isString(message.schemaGeneration))) return "schemaGeneration: buffer expected"; @@ -91527,7 +95114,7 @@ if (!Array.isArray(message.recipe)) return "recipe: array expected"; for (var i = 0; i < message.recipe.length; ++i) { - var error = $root.google.spanner.v1.KeyRecipe.verify(message.recipe[i]); + var error = $root.google.spanner.v1.KeyRecipe.verify(message.recipe[i], long + 1); if (error) return "recipe." + error; } @@ -91543,9 +95130,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.RecipeList} RecipeList */ - RecipeList.fromObject = function fromObject(object) { + RecipeList.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.RecipeList) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.RecipeList(); if (object.schemaGeneration != null) if (typeof object.schemaGeneration === "string") @@ -91559,7 +95150,7 @@ for (var i = 0; i < object.recipe.length; ++i) { if (typeof object.recipe[i] !== "object") throw TypeError(".google.spanner.v1.RecipeList.recipe: object expected"); - message.recipe[i] = $root.google.spanner.v1.KeyRecipe.fromObject(object.recipe[i]); + message.recipe[i] = $root.google.spanner.v1.KeyRecipe.fromObject(object.recipe[i], long + 1); } } return message; @@ -91652,7 +95243,7 @@ this.group = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -91749,9 +95340,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CacheUpdate.decode = function decode(reader, length, error) { + CacheUpdate.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.CacheUpdate(); while (reader.pos < end) { var tag = reader.uint32(); @@ -91765,21 +95360,21 @@ case 2: { if (!(message.range && message.range.length)) message.range = []; - message.range.push($root.google.spanner.v1.Range.decode(reader, reader.uint32())); + message.range.push($root.google.spanner.v1.Range.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.group && message.group.length)) message.group = []; - message.group.push($root.google.spanner.v1.Group.decode(reader, reader.uint32())); + message.group.push($root.google.spanner.v1.Group.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { - message.keyRecipes = $root.google.spanner.v1.RecipeList.decode(reader, reader.uint32()); + message.keyRecipes = $root.google.spanner.v1.RecipeList.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -91810,9 +95405,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CacheUpdate.verify = function verify(message) { + CacheUpdate.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.databaseId != null && message.hasOwnProperty("databaseId")) if (!$util.isInteger(message.databaseId) && !(message.databaseId && $util.isInteger(message.databaseId.low) && $util.isInteger(message.databaseId.high))) return "databaseId: integer|Long expected"; @@ -91820,7 +95419,7 @@ if (!Array.isArray(message.range)) return "range: array expected"; for (var i = 0; i < message.range.length; ++i) { - var error = $root.google.spanner.v1.Range.verify(message.range[i]); + var error = $root.google.spanner.v1.Range.verify(message.range[i], long + 1); if (error) return "range." + error; } @@ -91829,13 +95428,13 @@ if (!Array.isArray(message.group)) return "group: array expected"; for (var i = 0; i < message.group.length; ++i) { - var error = $root.google.spanner.v1.Group.verify(message.group[i]); + var error = $root.google.spanner.v1.Group.verify(message.group[i], long + 1); if (error) return "group." + error; } } if (message.keyRecipes != null && message.hasOwnProperty("keyRecipes")) { - var error = $root.google.spanner.v1.RecipeList.verify(message.keyRecipes); + var error = $root.google.spanner.v1.RecipeList.verify(message.keyRecipes, long + 1); if (error) return "keyRecipes." + error; } @@ -91850,9 +95449,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.CacheUpdate} CacheUpdate */ - CacheUpdate.fromObject = function fromObject(object) { + CacheUpdate.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.CacheUpdate) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.CacheUpdate(); if (object.databaseId != null) if ($util.Long) @@ -91870,7 +95473,7 @@ for (var i = 0; i < object.range.length; ++i) { if (typeof object.range[i] !== "object") throw TypeError(".google.spanner.v1.CacheUpdate.range: object expected"); - message.range[i] = $root.google.spanner.v1.Range.fromObject(object.range[i]); + message.range[i] = $root.google.spanner.v1.Range.fromObject(object.range[i], long + 1); } } if (object.group) { @@ -91880,13 +95483,13 @@ for (var i = 0; i < object.group.length; ++i) { if (typeof object.group[i] !== "object") throw TypeError(".google.spanner.v1.CacheUpdate.group: object expected"); - message.group[i] = $root.google.spanner.v1.Group.fromObject(object.group[i]); + message.group[i] = $root.google.spanner.v1.Group.fromObject(object.group[i], long + 1); } } if (object.keyRecipes != null) { if (typeof object.keyRecipes !== "object") throw TypeError(".google.spanner.v1.CacheUpdate.keyRecipes: object expected"); - message.keyRecipes = $root.google.spanner.v1.RecipeList.fromObject(object.keyRecipes); + message.keyRecipes = $root.google.spanner.v1.RecipeList.fromObject(object.keyRecipes, long + 1); } return message; }; @@ -91995,7 +95598,7 @@ this.skippedTabletUid = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -92151,9 +95754,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RoutingHint.decode = function decode(reader, length, error) { + RoutingHint.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.RoutingHint(); while (reader.pos < end) { var tag = reader.uint32(); @@ -92195,7 +95802,7 @@ case 9: { if (!(message.skippedTabletUid && message.skippedTabletUid.length)) message.skippedTabletUid = []; - message.skippedTabletUid.push($root.google.spanner.v1.RoutingHint.SkippedTablet.decode(reader, reader.uint32())); + message.skippedTabletUid.push($root.google.spanner.v1.RoutingHint.SkippedTablet.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 10: { @@ -92203,7 +95810,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -92234,9 +95841,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RoutingHint.verify = function verify(message) { + RoutingHint.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.operationUid != null && message.hasOwnProperty("operationUid")) if (!$util.isInteger(message.operationUid) && !(message.operationUid && $util.isInteger(message.operationUid.low) && $util.isInteger(message.operationUid.high))) return "operationUid: integer|Long expected"; @@ -92265,7 +95876,7 @@ if (!Array.isArray(message.skippedTabletUid)) return "skippedTabletUid: array expected"; for (var i = 0; i < message.skippedTabletUid.length; ++i) { - var error = $root.google.spanner.v1.RoutingHint.SkippedTablet.verify(message.skippedTabletUid[i]); + var error = $root.google.spanner.v1.RoutingHint.SkippedTablet.verify(message.skippedTabletUid[i], long + 1); if (error) return "skippedTabletUid." + error; } @@ -92284,9 +95895,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.RoutingHint} RoutingHint */ - RoutingHint.fromObject = function fromObject(object) { + RoutingHint.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.RoutingHint) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.RoutingHint(); if (object.operationUid != null) if ($util.Long) @@ -92355,7 +95970,7 @@ for (var i = 0; i < object.skippedTabletUid.length; ++i) { if (typeof object.skippedTabletUid[i] !== "object") throw TypeError(".google.spanner.v1.RoutingHint.skippedTabletUid: object expected"); - message.skippedTabletUid[i] = $root.google.spanner.v1.RoutingHint.SkippedTablet.fromObject(object.skippedTabletUid[i]); + message.skippedTabletUid[i] = $root.google.spanner.v1.RoutingHint.SkippedTablet.fromObject(object.skippedTabletUid[i], long + 1); } } if (object.clientLocation != null) @@ -92515,7 +96130,7 @@ function SkippedTablet(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -92590,9 +96205,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SkippedTablet.decode = function decode(reader, length, error) { + SkippedTablet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.RoutingHint.SkippedTablet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -92608,7 +96227,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -92639,9 +96258,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SkippedTablet.verify = function verify(message) { + SkippedTablet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.tabletUid != null && message.hasOwnProperty("tabletUid")) if (!$util.isInteger(message.tabletUid) && !(message.tabletUid && $util.isInteger(message.tabletUid.low) && $util.isInteger(message.tabletUid.high))) return "tabletUid: integer|Long expected"; @@ -92659,9 +96282,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.RoutingHint.SkippedTablet} SkippedTablet */ - SkippedTablet.fromObject = function fromObject(object) { + SkippedTablet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.RoutingHint.SkippedTablet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.RoutingHint.SkippedTablet(); if (object.tabletUid != null) if ($util.Long) @@ -92773,7 +96400,7 @@ function Type(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -92878,9 +96505,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Type.decode = function decode(reader, length, error) { + Type.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Type(); while (reader.pos < end) { var tag = reader.uint32(); @@ -92892,11 +96523,11 @@ break; } case 2: { - message.arrayElementType = $root.google.spanner.v1.Type.decode(reader, reader.uint32()); + message.arrayElementType = $root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.structType = $root.google.spanner.v1.StructType.decode(reader, reader.uint32()); + message.structType = $root.google.spanner.v1.StructType.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { @@ -92908,7 +96539,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -92939,9 +96570,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Type.verify = function verify(message) { + Type.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.code != null && message.hasOwnProperty("code")) switch (message.code) { default: @@ -92966,12 +96601,12 @@ break; } if (message.arrayElementType != null && message.hasOwnProperty("arrayElementType")) { - var error = $root.google.spanner.v1.Type.verify(message.arrayElementType); + var error = $root.google.spanner.v1.Type.verify(message.arrayElementType, long + 1); if (error) return "arrayElementType." + error; } if (message.structType != null && message.hasOwnProperty("structType")) { - var error = $root.google.spanner.v1.StructType.verify(message.structType); + var error = $root.google.spanner.v1.StructType.verify(message.structType, long + 1); if (error) return "structType." + error; } @@ -92999,9 +96634,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Type} Type */ - Type.fromObject = function fromObject(object) { + Type.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Type) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Type(); switch (object.code) { default: @@ -93082,12 +96721,12 @@ if (object.arrayElementType != null) { if (typeof object.arrayElementType !== "object") throw TypeError(".google.spanner.v1.Type.arrayElementType: object expected"); - message.arrayElementType = $root.google.spanner.v1.Type.fromObject(object.arrayElementType); + message.arrayElementType = $root.google.spanner.v1.Type.fromObject(object.arrayElementType, long + 1); } if (object.structType != null) { if (typeof object.structType !== "object") throw TypeError(".google.spanner.v1.Type.structType: object expected"); - message.structType = $root.google.spanner.v1.StructType.fromObject(object.structType); + message.structType = $root.google.spanner.v1.StructType.fromObject(object.structType, long + 1); } switch (object.typeAnnotation) { default: @@ -93201,7 +96840,7 @@ this.fields = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -93267,9 +96906,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - StructType.decode = function decode(reader, length, error) { + StructType.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.StructType(); while (reader.pos < end) { var tag = reader.uint32(); @@ -93279,11 +96922,11 @@ case 1: { if (!(message.fields && message.fields.length)) message.fields = []; - message.fields.push($root.google.spanner.v1.StructType.Field.decode(reader, reader.uint32())); + message.fields.push($root.google.spanner.v1.StructType.Field.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -93314,14 +96957,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - StructType.verify = function verify(message) { + StructType.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.fields != null && message.hasOwnProperty("fields")) { if (!Array.isArray(message.fields)) return "fields: array expected"; for (var i = 0; i < message.fields.length; ++i) { - var error = $root.google.spanner.v1.StructType.Field.verify(message.fields[i]); + var error = $root.google.spanner.v1.StructType.Field.verify(message.fields[i], long + 1); if (error) return "fields." + error; } @@ -93337,9 +96984,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.StructType} StructType */ - StructType.fromObject = function fromObject(object) { + StructType.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.StructType) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.StructType(); if (object.fields) { if (!Array.isArray(object.fields)) @@ -93348,7 +96999,7 @@ for (var i = 0; i < object.fields.length; ++i) { if (typeof object.fields[i] !== "object") throw TypeError(".google.spanner.v1.StructType.fields: object expected"); - message.fields[i] = $root.google.spanner.v1.StructType.Field.fromObject(object.fields[i]); + message.fields[i] = $root.google.spanner.v1.StructType.Field.fromObject(object.fields[i], long + 1); } } return message; @@ -93424,7 +97075,7 @@ function Field(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -93499,9 +97150,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Field.decode = function decode(reader, length, error) { + Field.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.StructType.Field(); while (reader.pos < end) { var tag = reader.uint32(); @@ -93513,11 +97168,11 @@ break; } case 2: { - message.type = $root.google.spanner.v1.Type.decode(reader, reader.uint32()); + message.type = $root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -93548,14 +97203,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Field.verify = function verify(message) { + Field.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.type != null && message.hasOwnProperty("type")) { - var error = $root.google.spanner.v1.Type.verify(message.type); + var error = $root.google.spanner.v1.Type.verify(message.type, long + 1); if (error) return "type." + error; } @@ -93570,16 +97229,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.StructType.Field} Field */ - Field.fromObject = function fromObject(object) { + Field.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.StructType.Field) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.StructType.Field(); if (object.name != null) message.name = String(object.name); if (object.type != null) { if (typeof object.type !== "object") throw TypeError(".google.spanner.v1.StructType.Field.type: object expected"); - message.type = $root.google.spanner.v1.Type.fromObject(object.type); + message.type = $root.google.spanner.v1.Type.fromObject(object.type, long + 1); } return message; }; @@ -93728,7 +97391,7 @@ function Mutation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -93867,9 +97530,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Mutation.decode = function decode(reader, length, error) { + Mutation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Mutation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -93877,35 +97544,35 @@ break; switch (tag >>> 3) { case 1: { - message.insert = $root.google.spanner.v1.Mutation.Write.decode(reader, reader.uint32()); + message.insert = $root.google.spanner.v1.Mutation.Write.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.update = $root.google.spanner.v1.Mutation.Write.decode(reader, reader.uint32()); + message.update = $root.google.spanner.v1.Mutation.Write.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.insertOrUpdate = $root.google.spanner.v1.Mutation.Write.decode(reader, reader.uint32()); + message.insertOrUpdate = $root.google.spanner.v1.Mutation.Write.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.replace = $root.google.spanner.v1.Mutation.Write.decode(reader, reader.uint32()); + message.replace = $root.google.spanner.v1.Mutation.Write.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message["delete"] = $root.google.spanner.v1.Mutation.Delete.decode(reader, reader.uint32()); + message["delete"] = $root.google.spanner.v1.Mutation.Delete.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.send = $root.google.spanner.v1.Mutation.Send.decode(reader, reader.uint32()); + message.send = $root.google.spanner.v1.Mutation.Send.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.ack = $root.google.spanner.v1.Mutation.Ack.decode(reader, reader.uint32()); + message.ack = $root.google.spanner.v1.Mutation.Ack.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -93936,14 +97603,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Mutation.verify = function verify(message) { + Mutation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.insert != null && message.hasOwnProperty("insert")) { properties.operation = 1; { - var error = $root.google.spanner.v1.Mutation.Write.verify(message.insert); + var error = $root.google.spanner.v1.Mutation.Write.verify(message.insert, long + 1); if (error) return "insert." + error; } @@ -93953,7 +97624,7 @@ return "operation: multiple values"; properties.operation = 1; { - var error = $root.google.spanner.v1.Mutation.Write.verify(message.update); + var error = $root.google.spanner.v1.Mutation.Write.verify(message.update, long + 1); if (error) return "update." + error; } @@ -93963,7 +97634,7 @@ return "operation: multiple values"; properties.operation = 1; { - var error = $root.google.spanner.v1.Mutation.Write.verify(message.insertOrUpdate); + var error = $root.google.spanner.v1.Mutation.Write.verify(message.insertOrUpdate, long + 1); if (error) return "insertOrUpdate." + error; } @@ -93973,7 +97644,7 @@ return "operation: multiple values"; properties.operation = 1; { - var error = $root.google.spanner.v1.Mutation.Write.verify(message.replace); + var error = $root.google.spanner.v1.Mutation.Write.verify(message.replace, long + 1); if (error) return "replace." + error; } @@ -93983,7 +97654,7 @@ return "operation: multiple values"; properties.operation = 1; { - var error = $root.google.spanner.v1.Mutation.Delete.verify(message["delete"]); + var error = $root.google.spanner.v1.Mutation.Delete.verify(message["delete"], long + 1); if (error) return "delete." + error; } @@ -93993,7 +97664,7 @@ return "operation: multiple values"; properties.operation = 1; { - var error = $root.google.spanner.v1.Mutation.Send.verify(message.send); + var error = $root.google.spanner.v1.Mutation.Send.verify(message.send, long + 1); if (error) return "send." + error; } @@ -94003,7 +97674,7 @@ return "operation: multiple values"; properties.operation = 1; { - var error = $root.google.spanner.v1.Mutation.Ack.verify(message.ack); + var error = $root.google.spanner.v1.Mutation.Ack.verify(message.ack, long + 1); if (error) return "ack." + error; } @@ -94019,44 +97690,48 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Mutation} Mutation */ - Mutation.fromObject = function fromObject(object) { + Mutation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Mutation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Mutation(); if (object.insert != null) { if (typeof object.insert !== "object") throw TypeError(".google.spanner.v1.Mutation.insert: object expected"); - message.insert = $root.google.spanner.v1.Mutation.Write.fromObject(object.insert); + message.insert = $root.google.spanner.v1.Mutation.Write.fromObject(object.insert, long + 1); } if (object.update != null) { if (typeof object.update !== "object") throw TypeError(".google.spanner.v1.Mutation.update: object expected"); - message.update = $root.google.spanner.v1.Mutation.Write.fromObject(object.update); + message.update = $root.google.spanner.v1.Mutation.Write.fromObject(object.update, long + 1); } if (object.insertOrUpdate != null) { if (typeof object.insertOrUpdate !== "object") throw TypeError(".google.spanner.v1.Mutation.insertOrUpdate: object expected"); - message.insertOrUpdate = $root.google.spanner.v1.Mutation.Write.fromObject(object.insertOrUpdate); + message.insertOrUpdate = $root.google.spanner.v1.Mutation.Write.fromObject(object.insertOrUpdate, long + 1); } if (object.replace != null) { if (typeof object.replace !== "object") throw TypeError(".google.spanner.v1.Mutation.replace: object expected"); - message.replace = $root.google.spanner.v1.Mutation.Write.fromObject(object.replace); + message.replace = $root.google.spanner.v1.Mutation.Write.fromObject(object.replace, long + 1); } if (object["delete"] != null) { if (typeof object["delete"] !== "object") throw TypeError(".google.spanner.v1.Mutation.delete: object expected"); - message["delete"] = $root.google.spanner.v1.Mutation.Delete.fromObject(object["delete"]); + message["delete"] = $root.google.spanner.v1.Mutation.Delete.fromObject(object["delete"], long + 1); } if (object.send != null) { if (typeof object.send !== "object") throw TypeError(".google.spanner.v1.Mutation.send: object expected"); - message.send = $root.google.spanner.v1.Mutation.Send.fromObject(object.send); + message.send = $root.google.spanner.v1.Mutation.Send.fromObject(object.send, long + 1); } if (object.ack != null) { if (typeof object.ack !== "object") throw TypeError(".google.spanner.v1.Mutation.ack: object expected"); - message.ack = $root.google.spanner.v1.Mutation.Ack.fromObject(object.ack); + message.ack = $root.google.spanner.v1.Mutation.Ack.fromObject(object.ack, long + 1); } return message; }; @@ -94162,7 +97837,7 @@ this.values = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -94249,9 +97924,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Write.decode = function decode(reader, length, error) { + Write.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Mutation.Write(); while (reader.pos < end) { var tag = reader.uint32(); @@ -94271,11 +97950,11 @@ case 3: { if (!(message.values && message.values.length)) message.values = []; - message.values.push($root.google.protobuf.ListValue.decode(reader, reader.uint32())); + message.values.push($root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -94306,9 +97985,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Write.verify = function verify(message) { + Write.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.table != null && message.hasOwnProperty("table")) if (!$util.isString(message.table)) return "table: string expected"; @@ -94323,7 +98006,7 @@ if (!Array.isArray(message.values)) return "values: array expected"; for (var i = 0; i < message.values.length; ++i) { - var error = $root.google.protobuf.ListValue.verify(message.values[i]); + var error = $root.google.protobuf.ListValue.verify(message.values[i], long + 1); if (error) return "values." + error; } @@ -94339,9 +98022,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Mutation.Write} Write */ - Write.fromObject = function fromObject(object) { + Write.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Mutation.Write) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Mutation.Write(); if (object.table != null) message.table = String(object.table); @@ -94359,7 +98046,7 @@ for (var i = 0; i < object.values.length; ++i) { if (typeof object.values[i] !== "object") throw TypeError(".google.spanner.v1.Mutation.Write.values: object expected"); - message.values[i] = $root.google.protobuf.ListValue.fromObject(object.values[i]); + message.values[i] = $root.google.protobuf.ListValue.fromObject(object.values[i], long + 1); } } return message; @@ -94449,7 +98136,7 @@ function Delete(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -94524,9 +98211,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Delete.decode = function decode(reader, length, error) { + Delete.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Mutation.Delete(); while (reader.pos < end) { var tag = reader.uint32(); @@ -94538,11 +98229,11 @@ break; } case 2: { - message.keySet = $root.google.spanner.v1.KeySet.decode(reader, reader.uint32()); + message.keySet = $root.google.spanner.v1.KeySet.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -94573,14 +98264,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Delete.verify = function verify(message) { + Delete.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.table != null && message.hasOwnProperty("table")) if (!$util.isString(message.table)) return "table: string expected"; if (message.keySet != null && message.hasOwnProperty("keySet")) { - var error = $root.google.spanner.v1.KeySet.verify(message.keySet); + var error = $root.google.spanner.v1.KeySet.verify(message.keySet, long + 1); if (error) return "keySet." + error; } @@ -94595,16 +98290,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Mutation.Delete} Delete */ - Delete.fromObject = function fromObject(object) { + Delete.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Mutation.Delete) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Mutation.Delete(); if (object.table != null) message.table = String(object.table); if (object.keySet != null) { if (typeof object.keySet !== "object") throw TypeError(".google.spanner.v1.Mutation.Delete.keySet: object expected"); - message.keySet = $root.google.spanner.v1.KeySet.fromObject(object.keySet); + message.keySet = $root.google.spanner.v1.KeySet.fromObject(object.keySet, long + 1); } return message; }; @@ -94685,7 +98384,7 @@ function Send(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -94780,9 +98479,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Send.decode = function decode(reader, length, error) { + Send.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Mutation.Send(); while (reader.pos < end) { var tag = reader.uint32(); @@ -94794,19 +98497,19 @@ break; } case 2: { - message.key = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + message.key = $root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.deliverTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.deliverTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.payload = $root.google.protobuf.Value.decode(reader, reader.uint32()); + message.payload = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -94837,24 +98540,28 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Send.verify = function verify(message) { + Send.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.queue != null && message.hasOwnProperty("queue")) if (!$util.isString(message.queue)) return "queue: string expected"; if (message.key != null && message.hasOwnProperty("key")) { - var error = $root.google.protobuf.ListValue.verify(message.key); + var error = $root.google.protobuf.ListValue.verify(message.key, long + 1); if (error) return "key." + error; } if (message.deliverTime != null && message.hasOwnProperty("deliverTime")) { - var error = $root.google.protobuf.Timestamp.verify(message.deliverTime); + var error = $root.google.protobuf.Timestamp.verify(message.deliverTime, long + 1); if (error) return "deliverTime." + error; } if (message.payload != null && message.hasOwnProperty("payload")) { - var error = $root.google.protobuf.Value.verify(message.payload); + var error = $root.google.protobuf.Value.verify(message.payload, long + 1); if (error) return "payload." + error; } @@ -94869,26 +98576,30 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Mutation.Send} Send */ - Send.fromObject = function fromObject(object) { + Send.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Mutation.Send) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Mutation.Send(); if (object.queue != null) message.queue = String(object.queue); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".google.spanner.v1.Mutation.Send.key: object expected"); - message.key = $root.google.protobuf.ListValue.fromObject(object.key); + message.key = $root.google.protobuf.ListValue.fromObject(object.key, long + 1); } if (object.deliverTime != null) { if (typeof object.deliverTime !== "object") throw TypeError(".google.spanner.v1.Mutation.Send.deliverTime: object expected"); - message.deliverTime = $root.google.protobuf.Timestamp.fromObject(object.deliverTime); + message.deliverTime = $root.google.protobuf.Timestamp.fromObject(object.deliverTime, long + 1); } if (object.payload != null) { if (typeof object.payload !== "object") throw TypeError(".google.spanner.v1.Mutation.Send.payload: object expected"); - message.payload = $root.google.protobuf.Value.fromObject(object.payload); + message.payload = $root.google.protobuf.Value.fromObject(object.payload, long + 1); } return message; }; @@ -94974,7 +98685,7 @@ function Ack(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -95059,9 +98770,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Ack.decode = function decode(reader, length, error) { + Ack.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.Mutation.Ack(); while (reader.pos < end) { var tag = reader.uint32(); @@ -95073,7 +98788,7 @@ break; } case 2: { - message.key = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + message.key = $root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -95081,7 +98796,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -95112,14 +98827,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Ack.verify = function verify(message) { + Ack.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.queue != null && message.hasOwnProperty("queue")) if (!$util.isString(message.queue)) return "queue: string expected"; if (message.key != null && message.hasOwnProperty("key")) { - var error = $root.google.protobuf.ListValue.verify(message.key); + var error = $root.google.protobuf.ListValue.verify(message.key, long + 1); if (error) return "key." + error; } @@ -95137,16 +98856,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.Mutation.Ack} Ack */ - Ack.fromObject = function fromObject(object) { + Ack.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.Mutation.Ack) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.Mutation.Ack(); if (object.queue != null) message.queue = String(object.queue); if (object.key != null) { if (typeof object.key !== "object") throw TypeError(".google.spanner.v1.Mutation.Ack.key: object expected"); - message.key = $root.google.protobuf.ListValue.fromObject(object.key); + message.key = $root.google.protobuf.ListValue.fromObject(object.key, long + 1); } if (object.ignoreNotFound != null) message.ignoreNotFound = Boolean(object.ignoreNotFound); @@ -95237,7 +98960,7 @@ this.rows = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -95343,9 +99066,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResultSet.decode = function decode(reader, length, error) { + ResultSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ResultSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -95353,29 +99080,29 @@ break; switch (tag >>> 3) { case 1: { - message.metadata = $root.google.spanner.v1.ResultSetMetadata.decode(reader, reader.uint32()); + message.metadata = $root.google.spanner.v1.ResultSetMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { if (!(message.rows && message.rows.length)) message.rows = []; - message.rows.push($root.google.protobuf.ListValue.decode(reader, reader.uint32())); + message.rows.push($root.google.protobuf.ListValue.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { - message.stats = $root.google.spanner.v1.ResultSetStats.decode(reader, reader.uint32()); + message.stats = $root.google.spanner.v1.ResultSetStats.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32()); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.cacheUpdate = $root.google.spanner.v1.CacheUpdate.decode(reader, reader.uint32()); + message.cacheUpdate = $root.google.spanner.v1.CacheUpdate.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -95406,11 +99133,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResultSet.verify = function verify(message) { + ResultSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.google.spanner.v1.ResultSetMetadata.verify(message.metadata); + var error = $root.google.spanner.v1.ResultSetMetadata.verify(message.metadata, long + 1); if (error) return "metadata." + error; } @@ -95418,23 +99149,23 @@ if (!Array.isArray(message.rows)) return "rows: array expected"; for (var i = 0; i < message.rows.length; ++i) { - var error = $root.google.protobuf.ListValue.verify(message.rows[i]); + var error = $root.google.protobuf.ListValue.verify(message.rows[i], long + 1); if (error) return "rows." + error; } } if (message.stats != null && message.hasOwnProperty("stats")) { - var error = $root.google.spanner.v1.ResultSetStats.verify(message.stats); + var error = $root.google.spanner.v1.ResultSetStats.verify(message.stats, long + 1); if (error) return "stats." + error; } if (message.precommitToken != null && message.hasOwnProperty("precommitToken")) { - var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken); + var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken, long + 1); if (error) return "precommitToken." + error; } if (message.cacheUpdate != null && message.hasOwnProperty("cacheUpdate")) { - var error = $root.google.spanner.v1.CacheUpdate.verify(message.cacheUpdate); + var error = $root.google.spanner.v1.CacheUpdate.verify(message.cacheUpdate, long + 1); if (error) return "cacheUpdate." + error; } @@ -95449,14 +99180,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ResultSet} ResultSet */ - ResultSet.fromObject = function fromObject(object) { + ResultSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ResultSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ResultSet(); if (object.metadata != null) { if (typeof object.metadata !== "object") throw TypeError(".google.spanner.v1.ResultSet.metadata: object expected"); - message.metadata = $root.google.spanner.v1.ResultSetMetadata.fromObject(object.metadata); + message.metadata = $root.google.spanner.v1.ResultSetMetadata.fromObject(object.metadata, long + 1); } if (object.rows) { if (!Array.isArray(object.rows)) @@ -95465,23 +99200,23 @@ for (var i = 0; i < object.rows.length; ++i) { if (typeof object.rows[i] !== "object") throw TypeError(".google.spanner.v1.ResultSet.rows: object expected"); - message.rows[i] = $root.google.protobuf.ListValue.fromObject(object.rows[i]); + message.rows[i] = $root.google.protobuf.ListValue.fromObject(object.rows[i], long + 1); } } if (object.stats != null) { if (typeof object.stats !== "object") throw TypeError(".google.spanner.v1.ResultSet.stats: object expected"); - message.stats = $root.google.spanner.v1.ResultSetStats.fromObject(object.stats); + message.stats = $root.google.spanner.v1.ResultSetStats.fromObject(object.stats, long + 1); } if (object.precommitToken != null) { if (typeof object.precommitToken !== "object") throw TypeError(".google.spanner.v1.ResultSet.precommitToken: object expected"); - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken, long + 1); } if (object.cacheUpdate != null) { if (typeof object.cacheUpdate !== "object") throw TypeError(".google.spanner.v1.ResultSet.cacheUpdate: object expected"); - message.cacheUpdate = $root.google.spanner.v1.CacheUpdate.fromObject(object.cacheUpdate); + message.cacheUpdate = $root.google.spanner.v1.CacheUpdate.fromObject(object.cacheUpdate, long + 1); } return message; }; @@ -95580,7 +99315,7 @@ this.values = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -95716,9 +99451,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartialResultSet.decode = function decode(reader, length, error) { + PartialResultSet.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.PartialResultSet(); while (reader.pos < end) { var tag = reader.uint32(); @@ -95726,13 +99465,13 @@ break; switch (tag >>> 3) { case 1: { - message.metadata = $root.google.spanner.v1.ResultSetMetadata.decode(reader, reader.uint32()); + message.metadata = $root.google.spanner.v1.ResultSetMetadata.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { if (!(message.values && message.values.length)) message.values = []; - message.values.push($root.google.protobuf.Value.decode(reader, reader.uint32())); + message.values.push($root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -95744,11 +99483,11 @@ break; } case 5: { - message.stats = $root.google.spanner.v1.ResultSetStats.decode(reader, reader.uint32()); + message.stats = $root.google.spanner.v1.ResultSetStats.decode(reader, reader.uint32(), undefined, long + 1); break; } case 8: { - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32()); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.decode(reader, reader.uint32(), undefined, long + 1); break; } case 9: { @@ -95756,11 +99495,11 @@ break; } case 10: { - message.cacheUpdate = $root.google.spanner.v1.CacheUpdate.decode(reader, reader.uint32()); + message.cacheUpdate = $root.google.spanner.v1.CacheUpdate.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -95791,11 +99530,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PartialResultSet.verify = function verify(message) { + PartialResultSet.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.google.spanner.v1.ResultSetMetadata.verify(message.metadata); + var error = $root.google.spanner.v1.ResultSetMetadata.verify(message.metadata, long + 1); if (error) return "metadata." + error; } @@ -95803,7 +99546,7 @@ if (!Array.isArray(message.values)) return "values: array expected"; for (var i = 0; i < message.values.length; ++i) { - var error = $root.google.protobuf.Value.verify(message.values[i]); + var error = $root.google.protobuf.Value.verify(message.values[i], long + 1); if (error) return "values." + error; } @@ -95815,12 +99558,12 @@ if (!(message.resumeToken && typeof message.resumeToken.length === "number" || $util.isString(message.resumeToken))) return "resumeToken: buffer expected"; if (message.stats != null && message.hasOwnProperty("stats")) { - var error = $root.google.spanner.v1.ResultSetStats.verify(message.stats); + var error = $root.google.spanner.v1.ResultSetStats.verify(message.stats, long + 1); if (error) return "stats." + error; } if (message.precommitToken != null && message.hasOwnProperty("precommitToken")) { - var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken); + var error = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.verify(message.precommitToken, long + 1); if (error) return "precommitToken." + error; } @@ -95828,7 +99571,7 @@ if (typeof message.last !== "boolean") return "last: boolean expected"; if (message.cacheUpdate != null && message.hasOwnProperty("cacheUpdate")) { - var error = $root.google.spanner.v1.CacheUpdate.verify(message.cacheUpdate); + var error = $root.google.spanner.v1.CacheUpdate.verify(message.cacheUpdate, long + 1); if (error) return "cacheUpdate." + error; } @@ -95843,14 +99586,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.PartialResultSet} PartialResultSet */ - PartialResultSet.fromObject = function fromObject(object) { + PartialResultSet.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.PartialResultSet) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.PartialResultSet(); if (object.metadata != null) { if (typeof object.metadata !== "object") throw TypeError(".google.spanner.v1.PartialResultSet.metadata: object expected"); - message.metadata = $root.google.spanner.v1.ResultSetMetadata.fromObject(object.metadata); + message.metadata = $root.google.spanner.v1.ResultSetMetadata.fromObject(object.metadata, long + 1); } if (object.values) { if (!Array.isArray(object.values)) @@ -95859,7 +99606,7 @@ for (var i = 0; i < object.values.length; ++i) { if (typeof object.values[i] !== "object") throw TypeError(".google.spanner.v1.PartialResultSet.values: object expected"); - message.values[i] = $root.google.protobuf.Value.fromObject(object.values[i]); + message.values[i] = $root.google.protobuf.Value.fromObject(object.values[i], long + 1); } } if (object.chunkedValue != null) @@ -95872,19 +99619,19 @@ if (object.stats != null) { if (typeof object.stats !== "object") throw TypeError(".google.spanner.v1.PartialResultSet.stats: object expected"); - message.stats = $root.google.spanner.v1.ResultSetStats.fromObject(object.stats); + message.stats = $root.google.spanner.v1.ResultSetStats.fromObject(object.stats, long + 1); } if (object.precommitToken != null) { if (typeof object.precommitToken !== "object") throw TypeError(".google.spanner.v1.PartialResultSet.precommitToken: object expected"); - message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken); + message.precommitToken = $root.google.spanner.v1.MultiplexedSessionPrecommitToken.fromObject(object.precommitToken, long + 1); } if (object.last != null) message.last = Boolean(object.last); if (object.cacheUpdate != null) { if (typeof object.cacheUpdate !== "object") throw TypeError(".google.spanner.v1.PartialResultSet.cacheUpdate: object expected"); - message.cacheUpdate = $root.google.spanner.v1.CacheUpdate.fromObject(object.cacheUpdate); + message.cacheUpdate = $root.google.spanner.v1.CacheUpdate.fromObject(object.cacheUpdate, long + 1); } return message; }; @@ -95992,7 +99739,7 @@ function ResultSetMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -96077,9 +99824,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResultSetMetadata.decode = function decode(reader, length, error) { + ResultSetMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ResultSetMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -96087,19 +99838,19 @@ break; switch (tag >>> 3) { case 1: { - message.rowType = $root.google.spanner.v1.StructType.decode(reader, reader.uint32()); + message.rowType = $root.google.spanner.v1.StructType.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.transaction = $root.google.spanner.v1.Transaction.decode(reader, reader.uint32()); + message.transaction = $root.google.spanner.v1.Transaction.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.undeclaredParameters = $root.google.spanner.v1.StructType.decode(reader, reader.uint32()); + message.undeclaredParameters = $root.google.spanner.v1.StructType.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -96130,21 +99881,25 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResultSetMetadata.verify = function verify(message) { + ResultSetMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.rowType != null && message.hasOwnProperty("rowType")) { - var error = $root.google.spanner.v1.StructType.verify(message.rowType); + var error = $root.google.spanner.v1.StructType.verify(message.rowType, long + 1); if (error) return "rowType." + error; } if (message.transaction != null && message.hasOwnProperty("transaction")) { - var error = $root.google.spanner.v1.Transaction.verify(message.transaction); + var error = $root.google.spanner.v1.Transaction.verify(message.transaction, long + 1); if (error) return "transaction." + error; } if (message.undeclaredParameters != null && message.hasOwnProperty("undeclaredParameters")) { - var error = $root.google.spanner.v1.StructType.verify(message.undeclaredParameters); + var error = $root.google.spanner.v1.StructType.verify(message.undeclaredParameters, long + 1); if (error) return "undeclaredParameters." + error; } @@ -96159,24 +99914,28 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ResultSetMetadata} ResultSetMetadata */ - ResultSetMetadata.fromObject = function fromObject(object) { + ResultSetMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ResultSetMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ResultSetMetadata(); if (object.rowType != null) { if (typeof object.rowType !== "object") throw TypeError(".google.spanner.v1.ResultSetMetadata.rowType: object expected"); - message.rowType = $root.google.spanner.v1.StructType.fromObject(object.rowType); + message.rowType = $root.google.spanner.v1.StructType.fromObject(object.rowType, long + 1); } if (object.transaction != null) { if (typeof object.transaction !== "object") throw TypeError(".google.spanner.v1.ResultSetMetadata.transaction: object expected"); - message.transaction = $root.google.spanner.v1.Transaction.fromObject(object.transaction); + message.transaction = $root.google.spanner.v1.Transaction.fromObject(object.transaction, long + 1); } if (object.undeclaredParameters != null) { if (typeof object.undeclaredParameters !== "object") throw TypeError(".google.spanner.v1.ResultSetMetadata.undeclaredParameters: object expected"); - message.undeclaredParameters = $root.google.spanner.v1.StructType.fromObject(object.undeclaredParameters); + message.undeclaredParameters = $root.google.spanner.v1.StructType.fromObject(object.undeclaredParameters, long + 1); } return message; }; @@ -96260,7 +100019,7 @@ function ResultSetStats(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -96369,9 +100128,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResultSetStats.decode = function decode(reader, length, error) { + ResultSetStats.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ResultSetStats(); while (reader.pos < end) { var tag = reader.uint32(); @@ -96379,11 +100142,11 @@ break; switch (tag >>> 3) { case 1: { - message.queryPlan = $root.google.spanner.v1.QueryPlan.decode(reader, reader.uint32()); + message.queryPlan = $root.google.spanner.v1.QueryPlan.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.queryStats = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.queryStats = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -96395,7 +100158,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -96426,17 +100189,21 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResultSetStats.verify = function verify(message) { + ResultSetStats.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.queryPlan != null && message.hasOwnProperty("queryPlan")) { - var error = $root.google.spanner.v1.QueryPlan.verify(message.queryPlan); + var error = $root.google.spanner.v1.QueryPlan.verify(message.queryPlan, long + 1); if (error) return "queryPlan." + error; } if (message.queryStats != null && message.hasOwnProperty("queryStats")) { - var error = $root.google.protobuf.Struct.verify(message.queryStats); + var error = $root.google.protobuf.Struct.verify(message.queryStats, long + 1); if (error) return "queryStats." + error; } @@ -96463,19 +100230,23 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ResultSetStats} ResultSetStats */ - ResultSetStats.fromObject = function fromObject(object) { + ResultSetStats.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ResultSetStats) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ResultSetStats(); if (object.queryPlan != null) { if (typeof object.queryPlan !== "object") throw TypeError(".google.spanner.v1.ResultSetStats.queryPlan: object expected"); - message.queryPlan = $root.google.spanner.v1.QueryPlan.fromObject(object.queryPlan); + message.queryPlan = $root.google.spanner.v1.QueryPlan.fromObject(object.queryPlan, long + 1); } if (object.queryStats != null) { if (typeof object.queryStats !== "object") throw TypeError(".google.spanner.v1.ResultSetStats.queryStats: object expected"); - message.queryStats = $root.google.protobuf.Struct.fromObject(object.queryStats); + message.queryStats = $root.google.protobuf.Struct.fromObject(object.queryStats, long + 1); } if (object.rowCountExact != null) if ($util.Long) @@ -96594,7 +100365,7 @@ this.childLinks = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -96720,9 +100491,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PlanNode.decode = function decode(reader, length, error) { + PlanNode.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.PlanNode(); while (reader.pos < end) { var tag = reader.uint32(); @@ -96744,23 +100519,23 @@ case 4: { if (!(message.childLinks && message.childLinks.length)) message.childLinks = []; - message.childLinks.push($root.google.spanner.v1.PlanNode.ChildLink.decode(reader, reader.uint32())); + message.childLinks.push($root.google.spanner.v1.PlanNode.ChildLink.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { - message.shortRepresentation = $root.google.spanner.v1.PlanNode.ShortRepresentation.decode(reader, reader.uint32()); + message.shortRepresentation = $root.google.spanner.v1.PlanNode.ShortRepresentation.decode(reader, reader.uint32(), undefined, long + 1); break; } case 6: { - message.metadata = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.metadata = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { - message.executionStats = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + message.executionStats = $root.google.protobuf.Struct.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -96791,9 +100566,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PlanNode.verify = function verify(message) { + PlanNode.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.index != null && message.hasOwnProperty("index")) if (!$util.isInteger(message.index)) return "index: integer expected"; @@ -96813,23 +100592,23 @@ if (!Array.isArray(message.childLinks)) return "childLinks: array expected"; for (var i = 0; i < message.childLinks.length; ++i) { - var error = $root.google.spanner.v1.PlanNode.ChildLink.verify(message.childLinks[i]); + var error = $root.google.spanner.v1.PlanNode.ChildLink.verify(message.childLinks[i], long + 1); if (error) return "childLinks." + error; } } if (message.shortRepresentation != null && message.hasOwnProperty("shortRepresentation")) { - var error = $root.google.spanner.v1.PlanNode.ShortRepresentation.verify(message.shortRepresentation); + var error = $root.google.spanner.v1.PlanNode.ShortRepresentation.verify(message.shortRepresentation, long + 1); if (error) return "shortRepresentation." + error; } if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.google.protobuf.Struct.verify(message.metadata); + var error = $root.google.protobuf.Struct.verify(message.metadata, long + 1); if (error) return "metadata." + error; } if (message.executionStats != null && message.hasOwnProperty("executionStats")) { - var error = $root.google.protobuf.Struct.verify(message.executionStats); + var error = $root.google.protobuf.Struct.verify(message.executionStats, long + 1); if (error) return "executionStats." + error; } @@ -96844,9 +100623,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.PlanNode} PlanNode */ - PlanNode.fromObject = function fromObject(object) { + PlanNode.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.PlanNode) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.PlanNode(); if (object.index != null) message.index = object.index | 0; @@ -96879,23 +100662,23 @@ for (var i = 0; i < object.childLinks.length; ++i) { if (typeof object.childLinks[i] !== "object") throw TypeError(".google.spanner.v1.PlanNode.childLinks: object expected"); - message.childLinks[i] = $root.google.spanner.v1.PlanNode.ChildLink.fromObject(object.childLinks[i]); + message.childLinks[i] = $root.google.spanner.v1.PlanNode.ChildLink.fromObject(object.childLinks[i], long + 1); } } if (object.shortRepresentation != null) { if (typeof object.shortRepresentation !== "object") throw TypeError(".google.spanner.v1.PlanNode.shortRepresentation: object expected"); - message.shortRepresentation = $root.google.spanner.v1.PlanNode.ShortRepresentation.fromObject(object.shortRepresentation); + message.shortRepresentation = $root.google.spanner.v1.PlanNode.ShortRepresentation.fromObject(object.shortRepresentation, long + 1); } if (object.metadata != null) { if (typeof object.metadata !== "object") throw TypeError(".google.spanner.v1.PlanNode.metadata: object expected"); - message.metadata = $root.google.protobuf.Struct.fromObject(object.metadata); + message.metadata = $root.google.protobuf.Struct.fromObject(object.metadata, long + 1); } if (object.executionStats != null) { if (typeof object.executionStats !== "object") throw TypeError(".google.spanner.v1.PlanNode.executionStats: object expected"); - message.executionStats = $root.google.protobuf.Struct.fromObject(object.executionStats); + message.executionStats = $root.google.protobuf.Struct.fromObject(object.executionStats, long + 1); } return message; }; @@ -97007,7 +100790,7 @@ function ChildLink(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -97092,9 +100875,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChildLink.decode = function decode(reader, length, error) { + ChildLink.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.PlanNode.ChildLink(); while (reader.pos < end) { var tag = reader.uint32(); @@ -97114,7 +100901,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -97145,9 +100932,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ChildLink.verify = function verify(message) { + ChildLink.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.childIndex != null && message.hasOwnProperty("childIndex")) if (!$util.isInteger(message.childIndex)) return "childIndex: integer expected"; @@ -97168,9 +100959,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.PlanNode.ChildLink} ChildLink */ - ChildLink.fromObject = function fromObject(object) { + ChildLink.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.PlanNode.ChildLink) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.PlanNode.ChildLink(); if (object.childIndex != null) message.childIndex = object.childIndex | 0; @@ -97259,7 +101054,7 @@ this.subqueries = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -97335,9 +101130,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ShortRepresentation.decode = function decode(reader, length, error) { + ShortRepresentation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.PlanNode.ShortRepresentation(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -97364,15 +101163,17 @@ value = reader.int32(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.subqueries, key); message.subqueries[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -97403,9 +101204,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ShortRepresentation.verify = function verify(message) { + ShortRepresentation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.description != null && message.hasOwnProperty("description")) if (!$util.isString(message.description)) return "description: string expected"; @@ -97428,9 +101233,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.PlanNode.ShortRepresentation} ShortRepresentation */ - ShortRepresentation.fromObject = function fromObject(object) { + ShortRepresentation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.PlanNode.ShortRepresentation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.PlanNode.ShortRepresentation(); if (object.description != null) message.description = String(object.description); @@ -97438,8 +101247,11 @@ if (typeof object.subqueries !== "object") throw TypeError(".google.spanner.v1.PlanNode.ShortRepresentation.subqueries: object expected"); message.subqueries = {}; - for (var keys = Object.keys(object.subqueries), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.subqueries), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.subqueries, keys[i]); message.subqueries[keys[i]] = object.subqueries[keys[i]] | 0; + } } return message; }; @@ -97466,8 +101278,11 @@ var keys2; if (message.subqueries && (keys2 = Object.keys(message.subqueries)).length) { object.subqueries = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.subqueries, keys2[j]); object.subqueries[keys2[j]] = message.subqueries[keys2[j]]; + } } return object; }; @@ -97525,7 +101340,7 @@ this.indexAdvice = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -97591,9 +101406,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QueryAdvisorResult.decode = function decode(reader, length, error) { + QueryAdvisorResult.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.QueryAdvisorResult(); while (reader.pos < end) { var tag = reader.uint32(); @@ -97603,11 +101422,11 @@ case 1: { if (!(message.indexAdvice && message.indexAdvice.length)) message.indexAdvice = []; - message.indexAdvice.push($root.google.spanner.v1.QueryAdvisorResult.IndexAdvice.decode(reader, reader.uint32())); + message.indexAdvice.push($root.google.spanner.v1.QueryAdvisorResult.IndexAdvice.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -97638,14 +101457,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - QueryAdvisorResult.verify = function verify(message) { + QueryAdvisorResult.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.indexAdvice != null && message.hasOwnProperty("indexAdvice")) { if (!Array.isArray(message.indexAdvice)) return "indexAdvice: array expected"; for (var i = 0; i < message.indexAdvice.length; ++i) { - var error = $root.google.spanner.v1.QueryAdvisorResult.IndexAdvice.verify(message.indexAdvice[i]); + var error = $root.google.spanner.v1.QueryAdvisorResult.IndexAdvice.verify(message.indexAdvice[i], long + 1); if (error) return "indexAdvice." + error; } @@ -97661,9 +101484,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.QueryAdvisorResult} QueryAdvisorResult */ - QueryAdvisorResult.fromObject = function fromObject(object) { + QueryAdvisorResult.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.QueryAdvisorResult) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.QueryAdvisorResult(); if (object.indexAdvice) { if (!Array.isArray(object.indexAdvice)) @@ -97672,7 +101499,7 @@ for (var i = 0; i < object.indexAdvice.length; ++i) { if (typeof object.indexAdvice[i] !== "object") throw TypeError(".google.spanner.v1.QueryAdvisorResult.indexAdvice: object expected"); - message.indexAdvice[i] = $root.google.spanner.v1.QueryAdvisorResult.IndexAdvice.fromObject(object.indexAdvice[i]); + message.indexAdvice[i] = $root.google.spanner.v1.QueryAdvisorResult.IndexAdvice.fromObject(object.indexAdvice[i], long + 1); } } return message; @@ -97749,7 +101576,7 @@ this.ddl = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -97825,9 +101652,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - IndexAdvice.decode = function decode(reader, length, error) { + IndexAdvice.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.QueryAdvisorResult.IndexAdvice(); while (reader.pos < end) { var tag = reader.uint32(); @@ -97845,7 +101676,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -97876,9 +101707,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - IndexAdvice.verify = function verify(message) { + IndexAdvice.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.ddl != null && message.hasOwnProperty("ddl")) { if (!Array.isArray(message.ddl)) return "ddl: array expected"; @@ -97900,9 +101735,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.QueryAdvisorResult.IndexAdvice} IndexAdvice */ - IndexAdvice.fromObject = function fromObject(object) { + IndexAdvice.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.QueryAdvisorResult.IndexAdvice) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.QueryAdvisorResult.IndexAdvice(); if (object.ddl) { if (!Array.isArray(object.ddl)) @@ -97997,7 +101836,7 @@ this.planNodes = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -98073,9 +101912,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - QueryPlan.decode = function decode(reader, length, error) { + QueryPlan.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.QueryPlan(); while (reader.pos < end) { var tag = reader.uint32(); @@ -98085,15 +101928,15 @@ case 1: { if (!(message.planNodes && message.planNodes.length)) message.planNodes = []; - message.planNodes.push($root.google.spanner.v1.PlanNode.decode(reader, reader.uint32())); + message.planNodes.push($root.google.spanner.v1.PlanNode.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { - message.queryAdvice = $root.google.spanner.v1.QueryAdvisorResult.decode(reader, reader.uint32()); + message.queryAdvice = $root.google.spanner.v1.QueryAdvisorResult.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -98124,20 +101967,24 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - QueryPlan.verify = function verify(message) { + QueryPlan.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.planNodes != null && message.hasOwnProperty("planNodes")) { if (!Array.isArray(message.planNodes)) return "planNodes: array expected"; for (var i = 0; i < message.planNodes.length; ++i) { - var error = $root.google.spanner.v1.PlanNode.verify(message.planNodes[i]); + var error = $root.google.spanner.v1.PlanNode.verify(message.planNodes[i], long + 1); if (error) return "planNodes." + error; } } if (message.queryAdvice != null && message.hasOwnProperty("queryAdvice")) { - var error = $root.google.spanner.v1.QueryAdvisorResult.verify(message.queryAdvice); + var error = $root.google.spanner.v1.QueryAdvisorResult.verify(message.queryAdvice, long + 1); if (error) return "queryAdvice." + error; } @@ -98152,9 +101999,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.QueryPlan} QueryPlan */ - QueryPlan.fromObject = function fromObject(object) { + QueryPlan.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.QueryPlan) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.QueryPlan(); if (object.planNodes) { if (!Array.isArray(object.planNodes)) @@ -98163,13 +102014,13 @@ for (var i = 0; i < object.planNodes.length; ++i) { if (typeof object.planNodes[i] !== "object") throw TypeError(".google.spanner.v1.QueryPlan.planNodes: object expected"); - message.planNodes[i] = $root.google.spanner.v1.PlanNode.fromObject(object.planNodes[i]); + message.planNodes[i] = $root.google.spanner.v1.PlanNode.fromObject(object.planNodes[i], long + 1); } } if (object.queryAdvice != null) { if (typeof object.queryAdvice !== "object") throw TypeError(".google.spanner.v1.QueryPlan.queryAdvice: object expected"); - message.queryAdvice = $root.google.spanner.v1.QueryAdvisorResult.fromObject(object.queryAdvice); + message.queryAdvice = $root.google.spanner.v1.QueryAdvisorResult.fromObject(object.queryAdvice, long + 1); } return message; }; @@ -98254,7 +102105,7 @@ function ChangeStreamRecord(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -98373,9 +102224,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ChangeStreamRecord.decode = function decode(reader, length, error) { + ChangeStreamRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -98383,27 +102238,27 @@ break; switch (tag >>> 3) { case 1: { - message.dataChangeRecord = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.decode(reader, reader.uint32()); + message.dataChangeRecord = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.heartbeatRecord = $root.google.spanner.v1.ChangeStreamRecord.HeartbeatRecord.decode(reader, reader.uint32()); + message.heartbeatRecord = $root.google.spanner.v1.ChangeStreamRecord.HeartbeatRecord.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.partitionStartRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionStartRecord.decode(reader, reader.uint32()); + message.partitionStartRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionStartRecord.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.partitionEndRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionEndRecord.decode(reader, reader.uint32()); + message.partitionEndRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionEndRecord.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.partitionEventRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.decode(reader, reader.uint32()); + message.partitionEventRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -98434,14 +102289,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ChangeStreamRecord.verify = function verify(message) { + ChangeStreamRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.dataChangeRecord != null && message.hasOwnProperty("dataChangeRecord")) { properties.record = 1; { - var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.verify(message.dataChangeRecord); + var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.verify(message.dataChangeRecord, long + 1); if (error) return "dataChangeRecord." + error; } @@ -98451,7 +102310,7 @@ return "record: multiple values"; properties.record = 1; { - var error = $root.google.spanner.v1.ChangeStreamRecord.HeartbeatRecord.verify(message.heartbeatRecord); + var error = $root.google.spanner.v1.ChangeStreamRecord.HeartbeatRecord.verify(message.heartbeatRecord, long + 1); if (error) return "heartbeatRecord." + error; } @@ -98461,7 +102320,7 @@ return "record: multiple values"; properties.record = 1; { - var error = $root.google.spanner.v1.ChangeStreamRecord.PartitionStartRecord.verify(message.partitionStartRecord); + var error = $root.google.spanner.v1.ChangeStreamRecord.PartitionStartRecord.verify(message.partitionStartRecord, long + 1); if (error) return "partitionStartRecord." + error; } @@ -98471,7 +102330,7 @@ return "record: multiple values"; properties.record = 1; { - var error = $root.google.spanner.v1.ChangeStreamRecord.PartitionEndRecord.verify(message.partitionEndRecord); + var error = $root.google.spanner.v1.ChangeStreamRecord.PartitionEndRecord.verify(message.partitionEndRecord, long + 1); if (error) return "partitionEndRecord." + error; } @@ -98481,7 +102340,7 @@ return "record: multiple values"; properties.record = 1; { - var error = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.verify(message.partitionEventRecord); + var error = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.verify(message.partitionEventRecord, long + 1); if (error) return "partitionEventRecord." + error; } @@ -98497,34 +102356,38 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord} ChangeStreamRecord */ - ChangeStreamRecord.fromObject = function fromObject(object) { + ChangeStreamRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord(); if (object.dataChangeRecord != null) { if (typeof object.dataChangeRecord !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.dataChangeRecord: object expected"); - message.dataChangeRecord = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.fromObject(object.dataChangeRecord); + message.dataChangeRecord = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.fromObject(object.dataChangeRecord, long + 1); } if (object.heartbeatRecord != null) { if (typeof object.heartbeatRecord !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.heartbeatRecord: object expected"); - message.heartbeatRecord = $root.google.spanner.v1.ChangeStreamRecord.HeartbeatRecord.fromObject(object.heartbeatRecord); + message.heartbeatRecord = $root.google.spanner.v1.ChangeStreamRecord.HeartbeatRecord.fromObject(object.heartbeatRecord, long + 1); } if (object.partitionStartRecord != null) { if (typeof object.partitionStartRecord !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.partitionStartRecord: object expected"); - message.partitionStartRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionStartRecord.fromObject(object.partitionStartRecord); + message.partitionStartRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionStartRecord.fromObject(object.partitionStartRecord, long + 1); } if (object.partitionEndRecord != null) { if (typeof object.partitionEndRecord !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.partitionEndRecord: object expected"); - message.partitionEndRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionEndRecord.fromObject(object.partitionEndRecord); + message.partitionEndRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionEndRecord.fromObject(object.partitionEndRecord, long + 1); } if (object.partitionEventRecord != null) { if (typeof object.partitionEventRecord !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.partitionEventRecord: object expected"); - message.partitionEventRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.fromObject(object.partitionEventRecord); + message.partitionEventRecord = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.fromObject(object.partitionEventRecord, long + 1); } return message; }; @@ -98630,7 +102493,7 @@ this.mods = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -98817,9 +102680,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DataChangeRecord.decode = function decode(reader, length, error) { + DataChangeRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -98827,7 +102694,7 @@ break; switch (tag >>> 3) { case 1: { - message.commitTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.commitTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -98849,13 +102716,13 @@ case 6: { if (!(message.columnMetadata && message.columnMetadata.length)) message.columnMetadata = []; - message.columnMetadata.push($root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata.decode(reader, reader.uint32())); + message.columnMetadata.push($root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 7: { if (!(message.mods && message.mods.length)) message.mods = []; - message.mods.push($root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod.decode(reader, reader.uint32())); + message.mods.push($root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 8: { @@ -98883,7 +102750,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -98914,11 +102781,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DataChangeRecord.verify = function verify(message) { + DataChangeRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.commitTimestamp != null && message.hasOwnProperty("commitTimestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.commitTimestamp); + var error = $root.google.protobuf.Timestamp.verify(message.commitTimestamp, long + 1); if (error) return "commitTimestamp." + error; } @@ -98938,7 +102809,7 @@ if (!Array.isArray(message.columnMetadata)) return "columnMetadata: array expected"; for (var i = 0; i < message.columnMetadata.length; ++i) { - var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata.verify(message.columnMetadata[i]); + var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata.verify(message.columnMetadata[i], long + 1); if (error) return "columnMetadata." + error; } @@ -98947,7 +102818,7 @@ if (!Array.isArray(message.mods)) return "mods: array expected"; for (var i = 0; i < message.mods.length; ++i) { - var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod.verify(message.mods[i]); + var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod.verify(message.mods[i], long + 1); if (error) return "mods." + error; } @@ -98996,14 +102867,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord.DataChangeRecord} DataChangeRecord */ - DataChangeRecord.fromObject = function fromObject(object) { + DataChangeRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord(); if (object.commitTimestamp != null) { if (typeof object.commitTimestamp !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.DataChangeRecord.commitTimestamp: object expected"); - message.commitTimestamp = $root.google.protobuf.Timestamp.fromObject(object.commitTimestamp); + message.commitTimestamp = $root.google.protobuf.Timestamp.fromObject(object.commitTimestamp, long + 1); } if (object.recordSequence != null) message.recordSequence = String(object.recordSequence); @@ -99020,7 +102895,7 @@ for (var i = 0; i < object.columnMetadata.length; ++i) { if (typeof object.columnMetadata[i] !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.DataChangeRecord.columnMetadata: object expected"); - message.columnMetadata[i] = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata.fromObject(object.columnMetadata[i]); + message.columnMetadata[i] = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata.fromObject(object.columnMetadata[i], long + 1); } } if (object.mods) { @@ -99030,7 +102905,7 @@ for (var i = 0; i < object.mods.length; ++i) { if (typeof object.mods[i] !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.DataChangeRecord.mods: object expected"); - message.mods[i] = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod.fromObject(object.mods[i]); + message.mods[i] = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod.fromObject(object.mods[i], long + 1); } } switch (object.modType) { @@ -99210,7 +103085,7 @@ function ColumnMetadata(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -99305,9 +103180,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ColumnMetadata.decode = function decode(reader, length, error) { + ColumnMetadata.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata(); while (reader.pos < end) { var tag = reader.uint32(); @@ -99319,7 +103198,7 @@ break; } case 2: { - message.type = $root.google.spanner.v1.Type.decode(reader, reader.uint32()); + message.type = $root.google.spanner.v1.Type.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -99331,7 +103210,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -99362,14 +103241,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ColumnMetadata.verify = function verify(message) { + ColumnMetadata.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.type != null && message.hasOwnProperty("type")) { - var error = $root.google.spanner.v1.Type.verify(message.type); + var error = $root.google.spanner.v1.Type.verify(message.type, long + 1); if (error) return "type." + error; } @@ -99390,16 +103273,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata} ColumnMetadata */ - ColumnMetadata.fromObject = function fromObject(object) { + ColumnMetadata.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata(); if (object.name != null) message.name = String(object.name); if (object.type != null) { if (typeof object.type !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ColumnMetadata.type: object expected"); - message.type = $root.google.spanner.v1.Type.fromObject(object.type); + message.type = $root.google.spanner.v1.Type.fromObject(object.type, long + 1); } if (object.isPrimaryKey != null) message.isPrimaryKey = Boolean(object.isPrimaryKey); @@ -99502,7 +103389,7 @@ function ModValue(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -99577,9 +103464,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ModValue.decode = function decode(reader, length, error) { + ModValue.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue(); while (reader.pos < end) { var tag = reader.uint32(); @@ -99591,11 +103482,11 @@ break; } case 2: { - message.value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + message.value = $root.google.protobuf.Value.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -99626,14 +103517,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ModValue.verify = function verify(message) { + ModValue.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.columnMetadataIndex != null && message.hasOwnProperty("columnMetadataIndex")) if (!$util.isInteger(message.columnMetadataIndex)) return "columnMetadataIndex: integer expected"; if (message.value != null && message.hasOwnProperty("value")) { - var error = $root.google.protobuf.Value.verify(message.value); + var error = $root.google.protobuf.Value.verify(message.value, long + 1); if (error) return "value." + error; } @@ -99648,16 +103543,20 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue} ModValue */ - ModValue.fromObject = function fromObject(object) { + ModValue.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue(); if (object.columnMetadataIndex != null) message.columnMetadataIndex = object.columnMetadataIndex | 0; if (object.value != null) { if (typeof object.value !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.value: object expected"); - message.value = $root.google.protobuf.Value.fromObject(object.value); + message.value = $root.google.protobuf.Value.fromObject(object.value, long + 1); } return message; }; @@ -99740,7 +103639,7 @@ this.newValues = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -99828,9 +103727,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Mod.decode = function decode(reader, length, error) { + Mod.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod(); while (reader.pos < end) { var tag = reader.uint32(); @@ -99840,23 +103743,23 @@ case 1: { if (!(message.keys && message.keys.length)) message.keys = []; - message.keys.push($root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.decode(reader, reader.uint32())); + message.keys.push($root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.oldValues && message.oldValues.length)) message.oldValues = []; - message.oldValues.push($root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.decode(reader, reader.uint32())); + message.oldValues.push($root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { if (!(message.newValues && message.newValues.length)) message.newValues = []; - message.newValues.push($root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.decode(reader, reader.uint32())); + message.newValues.push($root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -99887,14 +103790,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Mod.verify = function verify(message) { + Mod.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.keys != null && message.hasOwnProperty("keys")) { if (!Array.isArray(message.keys)) return "keys: array expected"; for (var i = 0; i < message.keys.length; ++i) { - var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.verify(message.keys[i]); + var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.verify(message.keys[i], long + 1); if (error) return "keys." + error; } @@ -99903,7 +103810,7 @@ if (!Array.isArray(message.oldValues)) return "oldValues: array expected"; for (var i = 0; i < message.oldValues.length; ++i) { - var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.verify(message.oldValues[i]); + var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.verify(message.oldValues[i], long + 1); if (error) return "oldValues." + error; } @@ -99912,7 +103819,7 @@ if (!Array.isArray(message.newValues)) return "newValues: array expected"; for (var i = 0; i < message.newValues.length; ++i) { - var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.verify(message.newValues[i]); + var error = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.verify(message.newValues[i], long + 1); if (error) return "newValues." + error; } @@ -99928,9 +103835,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod} Mod */ - Mod.fromObject = function fromObject(object) { + Mod.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod(); if (object.keys) { if (!Array.isArray(object.keys)) @@ -99939,7 +103850,7 @@ for (var i = 0; i < object.keys.length; ++i) { if (typeof object.keys[i] !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod.keys: object expected"); - message.keys[i] = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.fromObject(object.keys[i]); + message.keys[i] = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.fromObject(object.keys[i], long + 1); } } if (object.oldValues) { @@ -99949,7 +103860,7 @@ for (var i = 0; i < object.oldValues.length; ++i) { if (typeof object.oldValues[i] !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod.oldValues: object expected"); - message.oldValues[i] = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.fromObject(object.oldValues[i]); + message.oldValues[i] = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.fromObject(object.oldValues[i], long + 1); } } if (object.newValues) { @@ -99959,7 +103870,7 @@ for (var i = 0; i < object.newValues.length; ++i) { if (typeof object.newValues[i] !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.DataChangeRecord.Mod.newValues: object expected"); - message.newValues[i] = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.fromObject(object.newValues[i]); + message.newValues[i] = $root.google.spanner.v1.ChangeStreamRecord.DataChangeRecord.ModValue.fromObject(object.newValues[i], long + 1); } } return message; @@ -100091,7 +104002,7 @@ function HeartbeatRecord(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -100156,9 +104067,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HeartbeatRecord.decode = function decode(reader, length, error) { + HeartbeatRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord.HeartbeatRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -100166,11 +104081,11 @@ break; switch (tag >>> 3) { case 1: { - message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -100201,11 +104116,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - HeartbeatRecord.verify = function verify(message) { + HeartbeatRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.timestamp != null && message.hasOwnProperty("timestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.timestamp); + var error = $root.google.protobuf.Timestamp.verify(message.timestamp, long + 1); if (error) return "timestamp." + error; } @@ -100220,14 +104139,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord.HeartbeatRecord} HeartbeatRecord */ - HeartbeatRecord.fromObject = function fromObject(object) { + HeartbeatRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord.HeartbeatRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord.HeartbeatRecord(); if (object.timestamp != null) { if (typeof object.timestamp !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.HeartbeatRecord.timestamp: object expected"); - message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp); + message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp, long + 1); } return message; }; @@ -100304,7 +104227,7 @@ this.partitionTokens = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -100390,9 +104313,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartitionStartRecord.decode = function decode(reader, length, error) { + PartitionStartRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord.PartitionStartRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -100400,7 +104327,7 @@ break; switch (tag >>> 3) { case 1: { - message.startTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.startTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -100414,7 +104341,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -100445,11 +104372,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PartitionStartRecord.verify = function verify(message) { + PartitionStartRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.startTimestamp != null && message.hasOwnProperty("startTimestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.startTimestamp); + var error = $root.google.protobuf.Timestamp.verify(message.startTimestamp, long + 1); if (error) return "startTimestamp." + error; } @@ -100474,14 +104405,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord.PartitionStartRecord} PartitionStartRecord */ - PartitionStartRecord.fromObject = function fromObject(object) { + PartitionStartRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord.PartitionStartRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord.PartitionStartRecord(); if (object.startTimestamp != null) { if (typeof object.startTimestamp !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.PartitionStartRecord.startTimestamp: object expected"); - message.startTimestamp = $root.google.protobuf.Timestamp.fromObject(object.startTimestamp); + message.startTimestamp = $root.google.protobuf.Timestamp.fromObject(object.startTimestamp, long + 1); } if (object.recordSequence != null) message.recordSequence = String(object.recordSequence); @@ -100577,7 +104512,7 @@ function PartitionEndRecord(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -100662,9 +104597,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartitionEndRecord.decode = function decode(reader, length, error) { + PartitionEndRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord.PartitionEndRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -100672,7 +104611,7 @@ break; switch (tag >>> 3) { case 1: { - message.endTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.endTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -100684,7 +104623,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -100715,11 +104654,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PartitionEndRecord.verify = function verify(message) { + PartitionEndRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.endTimestamp != null && message.hasOwnProperty("endTimestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.endTimestamp); + var error = $root.google.protobuf.Timestamp.verify(message.endTimestamp, long + 1); if (error) return "endTimestamp." + error; } @@ -100740,14 +104683,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord.PartitionEndRecord} PartitionEndRecord */ - PartitionEndRecord.fromObject = function fromObject(object) { + PartitionEndRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord.PartitionEndRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord.PartitionEndRecord(); if (object.endTimestamp != null) { if (typeof object.endTimestamp !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.PartitionEndRecord.endTimestamp: object expected"); - message.endTimestamp = $root.google.protobuf.Timestamp.fromObject(object.endTimestamp); + message.endTimestamp = $root.google.protobuf.Timestamp.fromObject(object.endTimestamp, long + 1); } if (object.recordSequence != null) message.recordSequence = String(object.recordSequence); @@ -100838,7 +104785,7 @@ this.moveOutEvents = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -100945,9 +104892,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PartitionEventRecord.decode = function decode(reader, length, error) { + PartitionEventRecord.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord(); while (reader.pos < end) { var tag = reader.uint32(); @@ -100955,7 +104906,7 @@ break; switch (tag >>> 3) { case 1: { - message.commitTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + message.commitTimestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -100969,17 +104920,17 @@ case 4: { if (!(message.moveInEvents && message.moveInEvents.length)) message.moveInEvents = []; - message.moveInEvents.push($root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveInEvent.decode(reader, reader.uint32())); + message.moveInEvents.push($root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveInEvent.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 5: { if (!(message.moveOutEvents && message.moveOutEvents.length)) message.moveOutEvents = []; - message.moveOutEvents.push($root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveOutEvent.decode(reader, reader.uint32())); + message.moveOutEvents.push($root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveOutEvent.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -101010,11 +104961,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PartitionEventRecord.verify = function verify(message) { + PartitionEventRecord.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.commitTimestamp != null && message.hasOwnProperty("commitTimestamp")) { - var error = $root.google.protobuf.Timestamp.verify(message.commitTimestamp); + var error = $root.google.protobuf.Timestamp.verify(message.commitTimestamp, long + 1); if (error) return "commitTimestamp." + error; } @@ -101028,7 +104983,7 @@ if (!Array.isArray(message.moveInEvents)) return "moveInEvents: array expected"; for (var i = 0; i < message.moveInEvents.length; ++i) { - var error = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveInEvent.verify(message.moveInEvents[i]); + var error = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveInEvent.verify(message.moveInEvents[i], long + 1); if (error) return "moveInEvents." + error; } @@ -101037,7 +104992,7 @@ if (!Array.isArray(message.moveOutEvents)) return "moveOutEvents: array expected"; for (var i = 0; i < message.moveOutEvents.length; ++i) { - var error = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveOutEvent.verify(message.moveOutEvents[i]); + var error = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveOutEvent.verify(message.moveOutEvents[i], long + 1); if (error) return "moveOutEvents." + error; } @@ -101053,14 +105008,18 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord.PartitionEventRecord} PartitionEventRecord */ - PartitionEventRecord.fromObject = function fromObject(object) { + PartitionEventRecord.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord(); if (object.commitTimestamp != null) { if (typeof object.commitTimestamp !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.commitTimestamp: object expected"); - message.commitTimestamp = $root.google.protobuf.Timestamp.fromObject(object.commitTimestamp); + message.commitTimestamp = $root.google.protobuf.Timestamp.fromObject(object.commitTimestamp, long + 1); } if (object.recordSequence != null) message.recordSequence = String(object.recordSequence); @@ -101073,7 +105032,7 @@ for (var i = 0; i < object.moveInEvents.length; ++i) { if (typeof object.moveInEvents[i] !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.moveInEvents: object expected"); - message.moveInEvents[i] = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveInEvent.fromObject(object.moveInEvents[i]); + message.moveInEvents[i] = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveInEvent.fromObject(object.moveInEvents[i], long + 1); } } if (object.moveOutEvents) { @@ -101083,7 +105042,7 @@ for (var i = 0; i < object.moveOutEvents.length; ++i) { if (typeof object.moveOutEvents[i] !== "object") throw TypeError(".google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.moveOutEvents: object expected"); - message.moveOutEvents[i] = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveOutEvent.fromObject(object.moveOutEvents[i]); + message.moveOutEvents[i] = $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveOutEvent.fromObject(object.moveOutEvents[i], long + 1); } } return message; @@ -101176,7 +105135,7 @@ function MoveInEvent(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -101241,9 +105200,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MoveInEvent.decode = function decode(reader, length, error) { + MoveInEvent.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveInEvent(); while (reader.pos < end) { var tag = reader.uint32(); @@ -101255,7 +105218,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -101286,9 +105249,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MoveInEvent.verify = function verify(message) { + MoveInEvent.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.sourcePartitionToken != null && message.hasOwnProperty("sourcePartitionToken")) if (!$util.isString(message.sourcePartitionToken)) return "sourcePartitionToken: string expected"; @@ -101303,9 +105270,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveInEvent} MoveInEvent */ - MoveInEvent.fromObject = function fromObject(object) { + MoveInEvent.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveInEvent) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveInEvent(); if (object.sourcePartitionToken != null) message.sourcePartitionToken = String(object.sourcePartitionToken); @@ -101381,7 +105352,7 @@ function MoveOutEvent(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -101446,9 +105417,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MoveOutEvent.decode = function decode(reader, length, error) { + MoveOutEvent.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveOutEvent(); while (reader.pos < end) { var tag = reader.uint32(); @@ -101460,7 +105435,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -101491,9 +105466,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MoveOutEvent.verify = function verify(message) { + MoveOutEvent.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.destinationPartitionToken != null && message.hasOwnProperty("destinationPartitionToken")) if (!$util.isString(message.destinationPartitionToken)) return "destinationPartitionToken: string expected"; @@ -101508,9 +105487,13 @@ * @param {Object.} object Plain object * @returns {google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveOutEvent} MoveOutEvent */ - MoveOutEvent.fromObject = function fromObject(object) { + MoveOutEvent.fromObject = function fromObject(object, long) { if (object instanceof $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveOutEvent) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.spanner.v1.ChangeStreamRecord.PartitionEventRecord.MoveOutEvent(); if (object.destinationPartitionToken != null) message.destinationPartitionToken = String(object.destinationPartitionToken); @@ -101643,7 +105626,7 @@ this.style = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -101773,9 +105756,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceDescriptor.decode = function decode(reader, length, error) { + ResourceDescriptor.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); while (reader.pos < end) { var tag = reader.uint32(); @@ -101820,7 +105807,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -101851,9 +105838,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceDescriptor.verify = function verify(message) { + ResourceDescriptor.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -101905,9 +105896,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceDescriptor} ResourceDescriptor */ - ResourceDescriptor.fromObject = function fromObject(object) { + ResourceDescriptor.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceDescriptor) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceDescriptor(); if (object.type != null) message.type = String(object.type); @@ -102095,7 +106090,7 @@ function ResourceReference(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -102170,9 +106165,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ResourceReference.decode = function decode(reader, length, error) { + ResourceReference.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); while (reader.pos < end) { var tag = reader.uint32(); @@ -102188,7 +106187,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -102219,9 +106218,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ResourceReference.verify = function verify(message) { + ResourceReference.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.type != null && message.hasOwnProperty("type")) if (!$util.isString(message.type)) return "type: string expected"; @@ -102239,9 +106242,13 @@ * @param {Object.} object Plain object * @returns {google.api.ResourceReference} ResourceReference */ - ResourceReference.fromObject = function fromObject(object) { + ResourceReference.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ResourceReference) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ResourceReference(); if (object.type != null) message.type = String(object.type); @@ -102325,7 +106332,7 @@ this.rules = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -102401,9 +106408,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Http.decode = function decode(reader, length, error) { + Http.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); while (reader.pos < end) { var tag = reader.uint32(); @@ -102413,7 +106424,7 @@ case 1: { if (!(message.rules && message.rules.length)) message.rules = []; - message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -102421,7 +106432,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -102452,14 +106463,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Http.verify = function verify(message) { + Http.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.rules != null && message.hasOwnProperty("rules")) { if (!Array.isArray(message.rules)) return "rules: array expected"; for (var i = 0; i < message.rules.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.rules[i]); + var error = $root.google.api.HttpRule.verify(message.rules[i], long + 1); if (error) return "rules." + error; } @@ -102478,9 +106493,13 @@ * @param {Object.} object Plain object * @returns {google.api.Http} Http */ - Http.fromObject = function fromObject(object) { + Http.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Http) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Http(); if (object.rules) { if (!Array.isArray(object.rules)) @@ -102489,7 +106508,7 @@ for (var i = 0; i < object.rules.length; ++i) { if (typeof object.rules[i] !== "object") throw TypeError(".google.api.Http.rules: object expected"); - message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i], long + 1); } } if (object.fullyDecodeReservedExpansion != null) @@ -102583,7 +106602,7 @@ this.additionalBindings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -102753,9 +106772,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - HttpRule.decode = function decode(reader, length, error) { + HttpRule.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); while (reader.pos < end) { var tag = reader.uint32(); @@ -102787,7 +106810,7 @@ break; } case 8: { - message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32(), undefined, long + 1); break; } case 7: { @@ -102801,11 +106824,11 @@ case 11: { if (!(message.additionalBindings && message.additionalBindings.length)) message.additionalBindings = []; - message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -102836,9 +106859,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - HttpRule.verify = function verify(message) { + HttpRule.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) @@ -102881,7 +106908,7 @@ return "pattern: multiple values"; properties.pattern = 1; { - var error = $root.google.api.CustomHttpPattern.verify(message.custom); + var error = $root.google.api.CustomHttpPattern.verify(message.custom, long + 1); if (error) return "custom." + error; } @@ -102896,7 +106923,7 @@ if (!Array.isArray(message.additionalBindings)) return "additionalBindings: array expected"; for (var i = 0; i < message.additionalBindings.length; ++i) { - var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]); + var error = $root.google.api.HttpRule.verify(message.additionalBindings[i], long + 1); if (error) return "additionalBindings." + error; } @@ -102912,9 +106939,13 @@ * @param {Object.} object Plain object * @returns {google.api.HttpRule} HttpRule */ - HttpRule.fromObject = function fromObject(object) { + HttpRule.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.HttpRule) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.HttpRule(); if (object.selector != null) message.selector = String(object.selector); @@ -102931,7 +106962,7 @@ if (object.custom != null) { if (typeof object.custom !== "object") throw TypeError(".google.api.HttpRule.custom: object expected"); - message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom); + message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom, long + 1); } if (object.body != null) message.body = String(object.body); @@ -102944,7 +106975,7 @@ for (var i = 0; i < object.additionalBindings.length; ++i) { if (typeof object.additionalBindings[i] !== "object") throw TypeError(".google.api.HttpRule.additionalBindings: object expected"); - message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]); + message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i], long + 1); } } return message; @@ -103064,7 +107095,7 @@ function CustomHttpPattern(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -103139,9 +107170,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CustomHttpPattern.decode = function decode(reader, length, error) { + CustomHttpPattern.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); while (reader.pos < end) { var tag = reader.uint32(); @@ -103157,7 +107192,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -103188,9 +107223,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CustomHttpPattern.verify = function verify(message) { + CustomHttpPattern.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.kind != null && message.hasOwnProperty("kind")) if (!$util.isString(message.kind)) return "kind: string expected"; @@ -103208,9 +107247,13 @@ * @param {Object.} object Plain object * @returns {google.api.CustomHttpPattern} CustomHttpPattern */ - CustomHttpPattern.fromObject = function fromObject(object) { + CustomHttpPattern.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CustomHttpPattern) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CustomHttpPattern(); if (object.kind != null) message.kind = String(object.kind); @@ -103295,7 +107338,7 @@ this.destinations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -103384,9 +107427,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CommonLanguageSettings.decode = function decode(reader, length, error) { + CommonLanguageSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -103409,11 +107456,11 @@ break; } case 3: { - message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32()); + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -103444,9 +107491,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CommonLanguageSettings.verify = function verify(message) { + CommonLanguageSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri")) if (!$util.isString(message.referenceDocsUri)) return "referenceDocsUri: string expected"; @@ -103464,7 +107515,7 @@ } } if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) { - var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration); + var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration, long + 1); if (error) return "selectiveGapicGeneration." + error; } @@ -103479,9 +107530,13 @@ * @param {Object.} object Plain object * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings */ - CommonLanguageSettings.fromObject = function fromObject(object) { + CommonLanguageSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CommonLanguageSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CommonLanguageSettings(); if (object.referenceDocsUri != null) message.referenceDocsUri = String(object.referenceDocsUri); @@ -103513,7 +107568,7 @@ if (object.selectiveGapicGeneration != null) { if (typeof object.selectiveGapicGeneration !== "object") throw TypeError(".google.api.CommonLanguageSettings.selectiveGapicGeneration: object expected"); - message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration); + message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration, long + 1); } return message; }; @@ -103608,7 +107663,7 @@ function ClientLibrarySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -103773,9 +107828,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ClientLibrarySettings.decode = function decode(reader, length, error) { + ClientLibrarySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -103795,39 +107854,39 @@ break; } case 21: { - message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32()); + message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 22: { - message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32()); + message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 23: { - message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32()); + message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 24: { - message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32()); + message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 25: { - message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32()); + message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 26: { - message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32()); + message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 27: { - message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32()); + message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 28: { - message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32()); + message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -103858,9 +107917,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ClientLibrarySettings.verify = function verify(message) { + ClientLibrarySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isString(message.version)) return "version: string expected"; @@ -103882,42 +107945,42 @@ if (typeof message.restNumericEnums !== "boolean") return "restNumericEnums: boolean expected"; if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) { - var error = $root.google.api.JavaSettings.verify(message.javaSettings); + var error = $root.google.api.JavaSettings.verify(message.javaSettings, long + 1); if (error) return "javaSettings." + error; } if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) { - var error = $root.google.api.CppSettings.verify(message.cppSettings); + var error = $root.google.api.CppSettings.verify(message.cppSettings, long + 1); if (error) return "cppSettings." + error; } if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) { - var error = $root.google.api.PhpSettings.verify(message.phpSettings); + var error = $root.google.api.PhpSettings.verify(message.phpSettings, long + 1); if (error) return "phpSettings." + error; } if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) { - var error = $root.google.api.PythonSettings.verify(message.pythonSettings); + var error = $root.google.api.PythonSettings.verify(message.pythonSettings, long + 1); if (error) return "pythonSettings." + error; } if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) { - var error = $root.google.api.NodeSettings.verify(message.nodeSettings); + var error = $root.google.api.NodeSettings.verify(message.nodeSettings, long + 1); if (error) return "nodeSettings." + error; } if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) { - var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings); + var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings, long + 1); if (error) return "dotnetSettings." + error; } if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) { - var error = $root.google.api.RubySettings.verify(message.rubySettings); + var error = $root.google.api.RubySettings.verify(message.rubySettings, long + 1); if (error) return "rubySettings." + error; } if (message.goSettings != null && message.hasOwnProperty("goSettings")) { - var error = $root.google.api.GoSettings.verify(message.goSettings); + var error = $root.google.api.GoSettings.verify(message.goSettings, long + 1); if (error) return "goSettings." + error; } @@ -103932,9 +107995,13 @@ * @param {Object.} object Plain object * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings */ - ClientLibrarySettings.fromObject = function fromObject(object) { + ClientLibrarySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.ClientLibrarySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.ClientLibrarySettings(); if (object.version != null) message.version = String(object.version); @@ -103983,42 +108050,42 @@ if (object.javaSettings != null) { if (typeof object.javaSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected"); - message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings); + message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings, long + 1); } if (object.cppSettings != null) { if (typeof object.cppSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected"); - message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings); + message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings, long + 1); } if (object.phpSettings != null) { if (typeof object.phpSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected"); - message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings); + message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings, long + 1); } if (object.pythonSettings != null) { if (typeof object.pythonSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected"); - message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings); + message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings, long + 1); } if (object.nodeSettings != null) { if (typeof object.nodeSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected"); - message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings); + message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings, long + 1); } if (object.dotnetSettings != null) { if (typeof object.dotnetSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected"); - message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings); + message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings, long + 1); } if (object.rubySettings != null) { if (typeof object.rubySettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected"); - message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings); + message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings, long + 1); } if (object.goSettings != null) { if (typeof object.goSettings !== "object") throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected"); - message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings); + message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings, long + 1); } return message; }; @@ -104136,7 +108203,7 @@ this.librarySettings = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -104304,9 +108371,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Publishing.decode = function decode(reader, length, error) { + Publishing.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing(); while (reader.pos < end) { var tag = reader.uint32(); @@ -104316,7 +108387,7 @@ case 2: { if (!(message.methodSettings && message.methodSettings.length)) message.methodSettings = []; - message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32())); + message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 101: { @@ -104352,7 +108423,7 @@ case 109: { if (!(message.librarySettings && message.librarySettings.length)) message.librarySettings = []; - message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32())); + message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 110: { @@ -104364,7 +108435,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -104395,14 +108466,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Publishing.verify = function verify(message) { + Publishing.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) { if (!Array.isArray(message.methodSettings)) return "methodSettings: array expected"; for (var i = 0; i < message.methodSettings.length; ++i) { - var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]); + var error = $root.google.api.MethodSettings.verify(message.methodSettings[i], long + 1); if (error) return "methodSettings." + error; } @@ -104447,7 +108522,7 @@ if (!Array.isArray(message.librarySettings)) return "librarySettings: array expected"; for (var i = 0; i < message.librarySettings.length; ++i) { - var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]); + var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i], long + 1); if (error) return "librarySettings." + error; } @@ -104469,9 +108544,13 @@ * @param {Object.} object Plain object * @returns {google.api.Publishing} Publishing */ - Publishing.fromObject = function fromObject(object) { + Publishing.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.Publishing) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.Publishing(); if (object.methodSettings) { if (!Array.isArray(object.methodSettings)) @@ -104480,7 +108559,7 @@ for (var i = 0; i < object.methodSettings.length; ++i) { if (typeof object.methodSettings[i] !== "object") throw TypeError(".google.api.Publishing.methodSettings: object expected"); - message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]); + message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i], long + 1); } } if (object.newIssueUri != null) @@ -104547,7 +108626,7 @@ for (var i = 0; i < object.librarySettings.length; ++i) { if (typeof object.librarySettings[i] !== "object") throw TypeError(".google.api.Publishing.librarySettings: object expected"); - message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]); + message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i], long + 1); } } if (object.protoReferenceDocumentationUri != null) @@ -104671,7 +108750,7 @@ this.serviceClassNames = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -104757,9 +108836,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - JavaSettings.decode = function decode(reader, length, error) { + JavaSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -104786,19 +108869,21 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.serviceClassNames, key); message.serviceClassNames[key] = value; break; } case 3: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -104829,9 +108914,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - JavaSettings.verify = function verify(message) { + JavaSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage")) if (!$util.isString(message.libraryPackage)) return "libraryPackage: string expected"; @@ -104844,7 +108933,7 @@ return "serviceClassNames: string{k:string} expected"; } if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -104859,9 +108948,13 @@ * @param {Object.} object Plain object * @returns {google.api.JavaSettings} JavaSettings */ - JavaSettings.fromObject = function fromObject(object) { + JavaSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.JavaSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.JavaSettings(); if (object.libraryPackage != null) message.libraryPackage = String(object.libraryPackage); @@ -104869,13 +108962,16 @@ if (typeof object.serviceClassNames !== "object") throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected"); message.serviceClassNames = {}; - for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.serviceClassNames, keys[i]); message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]); + } } if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.JavaSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -104904,8 +109000,11 @@ var keys2; if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) { object.serviceClassNames = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.serviceClassNames, keys2[j]); object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]]; + } } if (message.common != null && message.hasOwnProperty("common")) object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options); @@ -104961,7 +109060,7 @@ function CppSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -105026,9 +109125,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CppSettings.decode = function decode(reader, length, error) { + CppSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -105036,11 +109139,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -105071,11 +109174,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CppSettings.verify = function verify(message) { + CppSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -105090,14 +109197,18 @@ * @param {Object.} object Plain object * @returns {google.api.CppSettings} CppSettings */ - CppSettings.fromObject = function fromObject(object) { + CppSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.CppSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.CppSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.CppSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -105171,7 +109282,7 @@ function PhpSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -105236,9 +109347,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PhpSettings.decode = function decode(reader, length, error) { + PhpSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -105246,11 +109361,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -105281,11 +109396,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PhpSettings.verify = function verify(message) { + PhpSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -105300,14 +109419,18 @@ * @param {Object.} object Plain object * @returns {google.api.PhpSettings} PhpSettings */ - PhpSettings.fromObject = function fromObject(object) { + PhpSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PhpSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PhpSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PhpSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -105382,7 +109505,7 @@ function PythonSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -105457,9 +109580,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PythonSettings.decode = function decode(reader, length, error) { + PythonSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -105467,15 +109594,15 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { - message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32()); + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -105506,16 +109633,20 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PythonSettings.verify = function verify(message) { + PythonSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) { - var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures); + var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures, long + 1); if (error) return "experimentalFeatures." + error; } @@ -105530,19 +109661,23 @@ * @param {Object.} object Plain object * @returns {google.api.PythonSettings} PythonSettings */ - PythonSettings.fromObject = function fromObject(object) { + PythonSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PythonSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PythonSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.PythonSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.experimentalFeatures != null) { if (typeof object.experimentalFeatures !== "object") throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected"); - message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures); + message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures, long + 1); } return message; }; @@ -105619,7 +109754,7 @@ function ExperimentalFeatures(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -105704,9 +109839,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ExperimentalFeatures.decode = function decode(reader, length, error) { + ExperimentalFeatures.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings.ExperimentalFeatures(); while (reader.pos < end) { var tag = reader.uint32(); @@ -105726,7 +109865,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -105757,9 +109896,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ExperimentalFeatures.verify = function verify(message) { + ExperimentalFeatures.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled")) if (typeof message.restAsyncIoEnabled !== "boolean") return "restAsyncIoEnabled: boolean expected"; @@ -105780,9 +109923,13 @@ * @param {Object.} object Plain object * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures */ - ExperimentalFeatures.fromObject = function fromObject(object) { + ExperimentalFeatures.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.PythonSettings.ExperimentalFeatures) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.PythonSettings.ExperimentalFeatures(); if (object.restAsyncIoEnabled != null) message.restAsyncIoEnabled = Boolean(object.restAsyncIoEnabled); @@ -105872,7 +110019,7 @@ function NodeSettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -105937,9 +110084,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - NodeSettings.decode = function decode(reader, length, error) { + NodeSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -105947,11 +110098,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -105982,11 +110133,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - NodeSettings.verify = function verify(message) { + NodeSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -106001,14 +110156,18 @@ * @param {Object.} object Plain object * @returns {google.api.NodeSettings} NodeSettings */ - NodeSettings.fromObject = function fromObject(object) { + NodeSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.NodeSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.NodeSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.NodeSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -106092,7 +110251,7 @@ this.handwrittenSignatures = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -106212,9 +110371,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DotnetSettings.decode = function decode(reader, length, error) { + DotnetSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -106222,7 +110385,7 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -106241,10 +110404,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); message.renamedServices[key] = value; break; } @@ -106264,10 +110429,12 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedResources, key); message.renamedResources[key] = value; break; } @@ -106290,7 +110457,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -106321,11 +110488,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DotnetSettings.verify = function verify(message) { + DotnetSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -106377,28 +110548,38 @@ * @param {Object.} object Plain object * @returns {google.api.DotnetSettings} DotnetSettings */ - DotnetSettings.fromObject = function fromObject(object) { + DotnetSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.DotnetSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.DotnetSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.DotnetSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.renamedServices) { if (typeof object.renamedServices !== "object") throw TypeError(".google.api.DotnetSettings.renamedServices: object expected"); message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } if (object.renamedResources) { if (typeof object.renamedResources !== "object") throw TypeError(".google.api.DotnetSettings.renamedResources: object expected"); message.renamedResources = {}; - for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedResources, keys[i]); message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]); + } } if (object.ignoredResources) { if (!Array.isArray(object.ignoredResources)) @@ -106453,13 +110634,19 @@ var keys2; if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } } if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) { object.renamedResources = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedResources, keys2[j]); object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]]; + } } if (message.ignoredResources && message.ignoredResources.length) { object.ignoredResources = []; @@ -106528,7 +110715,7 @@ function RubySettings(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -106593,9 +110780,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - RubySettings.decode = function decode(reader, length, error) { + RubySettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -106603,11 +110794,11 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -106638,11 +110829,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - RubySettings.verify = function verify(message) { + RubySettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -106657,14 +110852,18 @@ * @param {Object.} object Plain object * @returns {google.api.RubySettings} RubySettings */ - RubySettings.fromObject = function fromObject(object) { + RubySettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.RubySettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.RubySettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.RubySettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } return message; }; @@ -106740,7 +110939,7 @@ this.renamedServices = {}; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -106816,9 +111015,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GoSettings.decode = function decode(reader, length, error) { + GoSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(), key, value; while (reader.pos < end) { var tag = reader.uint32(); @@ -106826,7 +111029,7 @@ break; switch (tag >>> 3) { case 1: { - message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32()); + message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -106845,15 +111048,17 @@ value = reader.string(); break; default: - reader.skipType(tag2 & 7); + reader.skipType(tag2 & 7, long); break; } } + if (key === "__proto__") + $util.makeProp(message.renamedServices, key); message.renamedServices[key] = value; break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -106884,11 +111089,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GoSettings.verify = function verify(message) { + GoSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.common != null && message.hasOwnProperty("common")) { - var error = $root.google.api.CommonLanguageSettings.verify(message.common); + var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1); if (error) return "common." + error; } @@ -106911,21 +111120,28 @@ * @param {Object.} object Plain object * @returns {google.api.GoSettings} GoSettings */ - GoSettings.fromObject = function fromObject(object) { + GoSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.GoSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.GoSettings(); if (object.common != null) { if (typeof object.common !== "object") throw TypeError(".google.api.GoSettings.common: object expected"); - message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common); + message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1); } if (object.renamedServices) { if (typeof object.renamedServices !== "object") throw TypeError(".google.api.GoSettings.renamedServices: object expected"); message.renamedServices = {}; - for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) + for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) { + if (keys[i] === "__proto__") + $util.makeProp(message.renamedServices, keys[i]); message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]); + } } return message; }; @@ -106952,8 +111168,11 @@ var keys2; if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) { object.renamedServices = {}; - for (var j = 0; j < keys2.length; ++j) + for (var j = 0; j < keys2.length; ++j) { + if (keys2[j] === "__proto__") + $util.makeProp(object.renamedServices, keys2[j]); object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]]; + } } return object; }; @@ -107010,7 +111229,7 @@ this.autoPopulatedFields = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -107096,9 +111315,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - MethodSettings.decode = function decode(reader, length, error) { + MethodSettings.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings(); while (reader.pos < end) { var tag = reader.uint32(); @@ -107110,7 +111333,7 @@ break; } case 2: { - message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32()); + message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -107120,7 +111343,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -107151,14 +111374,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - MethodSettings.verify = function verify(message) { + MethodSettings.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.selector != null && message.hasOwnProperty("selector")) if (!$util.isString(message.selector)) return "selector: string expected"; if (message.longRunning != null && message.hasOwnProperty("longRunning")) { - var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning); + var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning, long + 1); if (error) return "longRunning." + error; } @@ -107180,16 +111407,20 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings} MethodSettings */ - MethodSettings.fromObject = function fromObject(object) { + MethodSettings.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings(); if (object.selector != null) message.selector = String(object.selector); if (object.longRunning != null) { if (typeof object.longRunning !== "object") throw TypeError(".google.api.MethodSettings.longRunning: object expected"); - message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning); + message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning, long + 1); } if (object.autoPopulatedFields) { if (!Array.isArray(object.autoPopulatedFields)) @@ -107281,7 +111512,7 @@ function LongRunning(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -107376,9 +111607,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - LongRunning.decode = function decode(reader, length, error) { + LongRunning.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning(); while (reader.pos < end) { var tag = reader.uint32(); @@ -107386,7 +111621,7 @@ break; switch (tag >>> 3) { case 1: { - message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 2: { @@ -107394,15 +111629,15 @@ break; } case 3: { - message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } case 4: { - message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -107433,11 +111668,15 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - LongRunning.verify = function verify(message) { + LongRunning.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.initialPollDelay); + var error = $root.google.protobuf.Duration.verify(message.initialPollDelay, long + 1); if (error) return "initialPollDelay." + error; } @@ -107445,12 +111684,12 @@ if (typeof message.pollDelayMultiplier !== "number") return "pollDelayMultiplier: number expected"; if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) { - var error = $root.google.protobuf.Duration.verify(message.maxPollDelay); + var error = $root.google.protobuf.Duration.verify(message.maxPollDelay, long + 1); if (error) return "maxPollDelay." + error; } if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) { - var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout); + var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout, long + 1); if (error) return "totalPollTimeout." + error; } @@ -107465,26 +111704,30 @@ * @param {Object.} object Plain object * @returns {google.api.MethodSettings.LongRunning} LongRunning */ - LongRunning.fromObject = function fromObject(object) { + LongRunning.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.MethodSettings.LongRunning) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.MethodSettings.LongRunning(); if (object.initialPollDelay != null) { if (typeof object.initialPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected"); - message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay); + message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay, long + 1); } if (object.pollDelayMultiplier != null) message.pollDelayMultiplier = Number(object.pollDelayMultiplier); if (object.maxPollDelay != null) { if (typeof object.maxPollDelay !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected"); - message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay); + message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay, long + 1); } if (object.totalPollTimeout != null) { if (typeof object.totalPollTimeout !== "object") throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected"); - message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout); + message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout, long + 1); } return message; }; @@ -107615,7 +111858,7 @@ this.methods = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -107691,9 +111934,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SelectiveGapicGeneration.decode = function decode(reader, length, error) { + SelectiveGapicGeneration.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.SelectiveGapicGeneration(); while (reader.pos < end) { var tag = reader.uint32(); @@ -107711,7 +111958,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -107742,9 +111989,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SelectiveGapicGeneration.verify = function verify(message) { + SelectiveGapicGeneration.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.methods != null && message.hasOwnProperty("methods")) { if (!Array.isArray(message.methods)) return "methods: array expected"; @@ -107766,9 +112017,13 @@ * @param {Object.} object Plain object * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration */ - SelectiveGapicGeneration.fromObject = function fromObject(object) { + SelectiveGapicGeneration.fromObject = function fromObject(object, long) { if (object instanceof $root.google.api.SelectiveGapicGeneration) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.api.SelectiveGapicGeneration(); if (object.methods) { if (!Array.isArray(object.methods)) @@ -108100,7 +112355,7 @@ function Operation(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -108219,9 +112474,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Operation.decode = function decode(reader, length, error) { + Operation.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.Operation(); while (reader.pos < end) { var tag = reader.uint32(); @@ -108233,7 +112492,7 @@ break; } case 2: { - message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); + message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { @@ -108241,15 +112500,15 @@ break; } case 4: { - message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + message.error = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1); break; } case 5: { - message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); + message.response = $root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -108280,15 +112539,19 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Operation.verify = function verify(message) { + Operation.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; var properties = {}; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.metadata != null && message.hasOwnProperty("metadata")) { - var error = $root.google.protobuf.Any.verify(message.metadata); + var error = $root.google.protobuf.Any.verify(message.metadata, long + 1); if (error) return "metadata." + error; } @@ -108298,7 +112561,7 @@ if (message.error != null && message.hasOwnProperty("error")) { properties.result = 1; { - var error = $root.google.rpc.Status.verify(message.error); + var error = $root.google.rpc.Status.verify(message.error, long + 1); if (error) return "error." + error; } @@ -108308,7 +112571,7 @@ return "result: multiple values"; properties.result = 1; { - var error = $root.google.protobuf.Any.verify(message.response); + var error = $root.google.protobuf.Any.verify(message.response, long + 1); if (error) return "response." + error; } @@ -108324,28 +112587,32 @@ * @param {Object.} object Plain object * @returns {google.longrunning.Operation} Operation */ - Operation.fromObject = function fromObject(object) { + Operation.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.Operation) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.Operation(); if (object.name != null) message.name = String(object.name); if (object.metadata != null) { if (typeof object.metadata !== "object") throw TypeError(".google.longrunning.Operation.metadata: object expected"); - message.metadata = $root.google.protobuf.Any.fromObject(object.metadata); + message.metadata = $root.google.protobuf.Any.fromObject(object.metadata, long + 1); } if (object.done != null) message.done = Boolean(object.done); if (object.error != null) { if (typeof object.error !== "object") throw TypeError(".google.longrunning.Operation.error: object expected"); - message.error = $root.google.rpc.Status.fromObject(object.error); + message.error = $root.google.rpc.Status.fromObject(object.error, long + 1); } if (object.response != null) { if (typeof object.response !== "object") throw TypeError(".google.longrunning.Operation.response: object expected"); - message.response = $root.google.protobuf.Any.fromObject(object.response); + message.response = $root.google.protobuf.Any.fromObject(object.response, long + 1); } return message; }; @@ -108436,7 +112703,7 @@ function GetOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -108501,9 +112768,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetOperationRequest.decode = function decode(reader, length, error) { + GetOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.GetOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -108515,7 +112786,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -108546,9 +112817,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetOperationRequest.verify = function verify(message) { + GetOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -108563,9 +112838,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.GetOperationRequest} GetOperationRequest */ - GetOperationRequest.fromObject = function fromObject(object) { + GetOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.GetOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.GetOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -108644,7 +112923,7 @@ function ListOperationsRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -108739,9 +113018,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOperationsRequest.decode = function decode(reader, length, error) { + ListOperationsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -108765,7 +113048,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -108796,9 +113079,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListOperationsRequest.verify = function verify(message) { + ListOperationsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -108822,9 +113109,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest */ - ListOperationsRequest.fromObject = function fromObject(object) { + ListOperationsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.ListOperationsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.ListOperationsRequest(); if (object.name != null) message.name = String(object.name); @@ -108918,7 +113209,7 @@ this.operations = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -108994,9 +113285,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - ListOperationsResponse.decode = function decode(reader, length, error) { + ListOperationsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -109006,7 +113301,7 @@ case 1: { if (!(message.operations && message.operations.length)) message.operations = []; - message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { @@ -109014,7 +113309,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -109045,14 +113340,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - ListOperationsResponse.verify = function verify(message) { + ListOperationsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.operations != null && message.hasOwnProperty("operations")) { if (!Array.isArray(message.operations)) return "operations: array expected"; for (var i = 0; i < message.operations.length; ++i) { - var error = $root.google.longrunning.Operation.verify(message.operations[i]); + var error = $root.google.longrunning.Operation.verify(message.operations[i], long + 1); if (error) return "operations." + error; } @@ -109071,9 +113370,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse */ - ListOperationsResponse.fromObject = function fromObject(object) { + ListOperationsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.ListOperationsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.ListOperationsResponse(); if (object.operations) { if (!Array.isArray(object.operations)) @@ -109082,7 +113385,7 @@ for (var i = 0; i < object.operations.length; ++i) { if (typeof object.operations[i] !== "object") throw TypeError(".google.longrunning.ListOperationsResponse.operations: object expected"); - message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i]); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i], long + 1); } } if (object.nextPageToken != null) @@ -109166,7 +113469,7 @@ function CancelOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -109231,9 +113534,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - CancelOperationRequest.decode = function decode(reader, length, error) { + CancelOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.CancelOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -109245,7 +113552,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -109276,9 +113583,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - CancelOperationRequest.verify = function verify(message) { + CancelOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -109293,9 +113604,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest */ - CancelOperationRequest.fromObject = function fromObject(object) { + CancelOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.CancelOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.CancelOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -109371,7 +113686,7 @@ function DeleteOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -109436,9 +113751,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - DeleteOperationRequest.decode = function decode(reader, length, error) { + DeleteOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.DeleteOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -109450,7 +113769,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -109481,9 +113800,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - DeleteOperationRequest.verify = function verify(message) { + DeleteOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; @@ -109498,9 +113821,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest */ - DeleteOperationRequest.fromObject = function fromObject(object) { + DeleteOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.DeleteOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.DeleteOperationRequest(); if (object.name != null) message.name = String(object.name); @@ -109577,7 +113904,7 @@ function WaitOperationRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -109652,9 +113979,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - WaitOperationRequest.decode = function decode(reader, length, error) { + WaitOperationRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.WaitOperationRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -109666,11 +113997,11 @@ break; } case 2: { - message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -109701,14 +114032,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - WaitOperationRequest.verify = function verify(message) { + WaitOperationRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.name != null && message.hasOwnProperty("name")) if (!$util.isString(message.name)) return "name: string expected"; if (message.timeout != null && message.hasOwnProperty("timeout")) { - var error = $root.google.protobuf.Duration.verify(message.timeout); + var error = $root.google.protobuf.Duration.verify(message.timeout, long + 1); if (error) return "timeout." + error; } @@ -109723,16 +114058,20 @@ * @param {Object.} object Plain object * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest */ - WaitOperationRequest.fromObject = function fromObject(object) { + WaitOperationRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.WaitOperationRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.WaitOperationRequest(); if (object.name != null) message.name = String(object.name); if (object.timeout != null) { if (typeof object.timeout !== "object") throw TypeError(".google.longrunning.WaitOperationRequest.timeout: object expected"); - message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout); + message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout, long + 1); } return message; }; @@ -109811,7 +114150,7 @@ function OperationInfo(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -109886,9 +114225,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - OperationInfo.decode = function decode(reader, length, error) { + OperationInfo.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.OperationInfo(); while (reader.pos < end) { var tag = reader.uint32(); @@ -109904,7 +114247,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -109935,9 +114278,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - OperationInfo.verify = function verify(message) { + OperationInfo.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.responseType != null && message.hasOwnProperty("responseType")) if (!$util.isString(message.responseType)) return "responseType: string expected"; @@ -109955,9 +114302,13 @@ * @param {Object.} object Plain object * @returns {google.longrunning.OperationInfo} OperationInfo */ - OperationInfo.fromObject = function fromObject(object) { + OperationInfo.fromObject = function fromObject(object, long) { if (object instanceof $root.google.longrunning.OperationInfo) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.longrunning.OperationInfo(); if (object.responseType != null) message.responseType = String(object.responseType); @@ -110196,7 +114547,7 @@ function SetIamPolicyRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -110281,9 +114632,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - SetIamPolicyRequest.decode = function decode(reader, length, error) { + SetIamPolicyRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.SetIamPolicyRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -110295,15 +114650,15 @@ break; } case 2: { - message.policy = $root.google.iam.v1.Policy.decode(reader, reader.uint32()); + message.policy = $root.google.iam.v1.Policy.decode(reader, reader.uint32(), undefined, long + 1); break; } case 3: { - message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -110334,19 +114689,23 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - SetIamPolicyRequest.verify = function verify(message) { + SetIamPolicyRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; if (message.policy != null && message.hasOwnProperty("policy")) { - var error = $root.google.iam.v1.Policy.verify(message.policy); + var error = $root.google.iam.v1.Policy.verify(message.policy, long + 1); if (error) return "policy." + error; } if (message.updateMask != null && message.hasOwnProperty("updateMask")) { - var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1); if (error) return "updateMask." + error; } @@ -110361,21 +114720,25 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.SetIamPolicyRequest} SetIamPolicyRequest */ - SetIamPolicyRequest.fromObject = function fromObject(object) { + SetIamPolicyRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.SetIamPolicyRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.SetIamPolicyRequest(); if (object.resource != null) message.resource = String(object.resource); if (object.policy != null) { if (typeof object.policy !== "object") throw TypeError(".google.iam.v1.SetIamPolicyRequest.policy: object expected"); - message.policy = $root.google.iam.v1.Policy.fromObject(object.policy); + message.policy = $root.google.iam.v1.Policy.fromObject(object.policy, long + 1); } if (object.updateMask != null) { if (typeof object.updateMask !== "object") throw TypeError(".google.iam.v1.SetIamPolicyRequest.updateMask: object expected"); - message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1); } return message; }; @@ -110457,7 +114820,7 @@ function GetIamPolicyRequest(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -110532,9 +114895,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetIamPolicyRequest.decode = function decode(reader, length, error) { + GetIamPolicyRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.GetIamPolicyRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -110546,11 +114913,11 @@ break; } case 2: { - message.options = $root.google.iam.v1.GetPolicyOptions.decode(reader, reader.uint32()); + message.options = $root.google.iam.v1.GetPolicyOptions.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -110581,14 +114948,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetIamPolicyRequest.verify = function verify(message) { + GetIamPolicyRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; if (message.options != null && message.hasOwnProperty("options")) { - var error = $root.google.iam.v1.GetPolicyOptions.verify(message.options); + var error = $root.google.iam.v1.GetPolicyOptions.verify(message.options, long + 1); if (error) return "options." + error; } @@ -110603,16 +114974,20 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.GetIamPolicyRequest} GetIamPolicyRequest */ - GetIamPolicyRequest.fromObject = function fromObject(object) { + GetIamPolicyRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.GetIamPolicyRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.GetIamPolicyRequest(); if (object.resource != null) message.resource = String(object.resource); if (object.options != null) { if (typeof object.options !== "object") throw TypeError(".google.iam.v1.GetIamPolicyRequest.options: object expected"); - message.options = $root.google.iam.v1.GetPolicyOptions.fromObject(object.options); + message.options = $root.google.iam.v1.GetPolicyOptions.fromObject(object.options, long + 1); } return message; }; @@ -110692,7 +115067,7 @@ this.permissions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -110768,9 +115143,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TestIamPermissionsRequest.decode = function decode(reader, length, error) { + TestIamPermissionsRequest.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.TestIamPermissionsRequest(); while (reader.pos < end) { var tag = reader.uint32(); @@ -110788,7 +115167,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -110819,9 +115198,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TestIamPermissionsRequest.verify = function verify(message) { + TestIamPermissionsRequest.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.resource != null && message.hasOwnProperty("resource")) if (!$util.isString(message.resource)) return "resource: string expected"; @@ -110843,9 +115226,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.TestIamPermissionsRequest} TestIamPermissionsRequest */ - TestIamPermissionsRequest.fromObject = function fromObject(object) { + TestIamPermissionsRequest.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.TestIamPermissionsRequest) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.TestIamPermissionsRequest(); if (object.resource != null) message.resource = String(object.resource); @@ -110936,7 +115323,7 @@ this.permissions = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -111002,9 +115389,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - TestIamPermissionsResponse.decode = function decode(reader, length, error) { + TestIamPermissionsResponse.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.TestIamPermissionsResponse(); while (reader.pos < end) { var tag = reader.uint32(); @@ -111018,7 +115409,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -111049,9 +115440,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - TestIamPermissionsResponse.verify = function verify(message) { + TestIamPermissionsResponse.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.permissions != null && message.hasOwnProperty("permissions")) { if (!Array.isArray(message.permissions)) return "permissions: array expected"; @@ -111070,9 +115465,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.TestIamPermissionsResponse} TestIamPermissionsResponse */ - TestIamPermissionsResponse.fromObject = function fromObject(object) { + TestIamPermissionsResponse.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.TestIamPermissionsResponse) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.TestIamPermissionsResponse(); if (object.permissions) { if (!Array.isArray(object.permissions)) @@ -111156,7 +115555,7 @@ function GetPolicyOptions(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -111221,9 +115620,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - GetPolicyOptions.decode = function decode(reader, length, error) { + GetPolicyOptions.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.GetPolicyOptions(); while (reader.pos < end) { var tag = reader.uint32(); @@ -111235,7 +115638,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -111266,9 +115669,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - GetPolicyOptions.verify = function verify(message) { + GetPolicyOptions.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.requestedPolicyVersion != null && message.hasOwnProperty("requestedPolicyVersion")) if (!$util.isInteger(message.requestedPolicyVersion)) return "requestedPolicyVersion: integer expected"; @@ -111283,9 +115690,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.GetPolicyOptions} GetPolicyOptions */ - GetPolicyOptions.fromObject = function fromObject(object) { + GetPolicyOptions.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.GetPolicyOptions) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.GetPolicyOptions(); if (object.requestedPolicyVersion != null) message.requestedPolicyVersion = object.requestedPolicyVersion | 0; @@ -111366,7 +115777,7 @@ this.auditConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -111463,9 +115874,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Policy.decode = function decode(reader, length, error) { + Policy.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.Policy(); while (reader.pos < end) { var tag = reader.uint32(); @@ -111479,13 +115894,13 @@ case 4: { if (!(message.bindings && message.bindings.length)) message.bindings = []; - message.bindings.push($root.google.iam.v1.Binding.decode(reader, reader.uint32())); + message.bindings.push($root.google.iam.v1.Binding.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 6: { if (!(message.auditConfigs && message.auditConfigs.length)) message.auditConfigs = []; - message.auditConfigs.push($root.google.iam.v1.AuditConfig.decode(reader, reader.uint32())); + message.auditConfigs.push($root.google.iam.v1.AuditConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 3: { @@ -111493,7 +115908,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -111524,9 +115939,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Policy.verify = function verify(message) { + Policy.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.version != null && message.hasOwnProperty("version")) if (!$util.isInteger(message.version)) return "version: integer expected"; @@ -111534,7 +115953,7 @@ if (!Array.isArray(message.bindings)) return "bindings: array expected"; for (var i = 0; i < message.bindings.length; ++i) { - var error = $root.google.iam.v1.Binding.verify(message.bindings[i]); + var error = $root.google.iam.v1.Binding.verify(message.bindings[i], long + 1); if (error) return "bindings." + error; } @@ -111543,7 +115962,7 @@ if (!Array.isArray(message.auditConfigs)) return "auditConfigs: array expected"; for (var i = 0; i < message.auditConfigs.length; ++i) { - var error = $root.google.iam.v1.AuditConfig.verify(message.auditConfigs[i]); + var error = $root.google.iam.v1.AuditConfig.verify(message.auditConfigs[i], long + 1); if (error) return "auditConfigs." + error; } @@ -111562,9 +115981,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.Policy} Policy */ - Policy.fromObject = function fromObject(object) { + Policy.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.Policy) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.Policy(); if (object.version != null) message.version = object.version | 0; @@ -111575,7 +115998,7 @@ for (var i = 0; i < object.bindings.length; ++i) { if (typeof object.bindings[i] !== "object") throw TypeError(".google.iam.v1.Policy.bindings: object expected"); - message.bindings[i] = $root.google.iam.v1.Binding.fromObject(object.bindings[i]); + message.bindings[i] = $root.google.iam.v1.Binding.fromObject(object.bindings[i], long + 1); } } if (object.auditConfigs) { @@ -111585,7 +116008,7 @@ for (var i = 0; i < object.auditConfigs.length; ++i) { if (typeof object.auditConfigs[i] !== "object") throw TypeError(".google.iam.v1.Policy.auditConfigs: object expected"); - message.auditConfigs[i] = $root.google.iam.v1.AuditConfig.fromObject(object.auditConfigs[i]); + message.auditConfigs[i] = $root.google.iam.v1.AuditConfig.fromObject(object.auditConfigs[i], long + 1); } } if (object.etag != null) @@ -111692,7 +116115,7 @@ this.members = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -111778,9 +116201,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Binding.decode = function decode(reader, length, error) { + Binding.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.Binding(); while (reader.pos < end) { var tag = reader.uint32(); @@ -111798,11 +116225,11 @@ break; } case 3: { - message.condition = $root.google.type.Expr.decode(reader, reader.uint32()); + message.condition = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -111833,9 +116260,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Binding.verify = function verify(message) { + Binding.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.role != null && message.hasOwnProperty("role")) if (!$util.isString(message.role)) return "role: string expected"; @@ -111847,7 +116278,7 @@ return "members: string[] expected"; } if (message.condition != null && message.hasOwnProperty("condition")) { - var error = $root.google.type.Expr.verify(message.condition); + var error = $root.google.type.Expr.verify(message.condition, long + 1); if (error) return "condition." + error; } @@ -111862,9 +116293,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.Binding} Binding */ - Binding.fromObject = function fromObject(object) { + Binding.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.Binding) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.Binding(); if (object.role != null) message.role = String(object.role); @@ -111878,7 +116313,7 @@ if (object.condition != null) { if (typeof object.condition !== "object") throw TypeError(".google.iam.v1.Binding.condition: object expected"); - message.condition = $root.google.type.Expr.fromObject(object.condition); + message.condition = $root.google.type.Expr.fromObject(object.condition, long + 1); } return message; }; @@ -111965,7 +116400,7 @@ this.auditLogConfigs = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -112041,9 +116476,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditConfig.decode = function decode(reader, length, error) { + AuditConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -112057,11 +116496,11 @@ case 3: { if (!(message.auditLogConfigs && message.auditLogConfigs.length)) message.auditLogConfigs = []; - message.auditLogConfigs.push($root.google.iam.v1.AuditLogConfig.decode(reader, reader.uint32())); + message.auditLogConfigs.push($root.google.iam.v1.AuditLogConfig.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -112092,9 +116531,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditConfig.verify = function verify(message) { + AuditConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.service != null && message.hasOwnProperty("service")) if (!$util.isString(message.service)) return "service: string expected"; @@ -112102,7 +116545,7 @@ if (!Array.isArray(message.auditLogConfigs)) return "auditLogConfigs: array expected"; for (var i = 0; i < message.auditLogConfigs.length; ++i) { - var error = $root.google.iam.v1.AuditLogConfig.verify(message.auditLogConfigs[i]); + var error = $root.google.iam.v1.AuditLogConfig.verify(message.auditLogConfigs[i], long + 1); if (error) return "auditLogConfigs." + error; } @@ -112118,9 +116561,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditConfig} AuditConfig */ - AuditConfig.fromObject = function fromObject(object) { + AuditConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditConfig(); if (object.service != null) message.service = String(object.service); @@ -112131,7 +116578,7 @@ for (var i = 0; i < object.auditLogConfigs.length; ++i) { if (typeof object.auditLogConfigs[i] !== "object") throw TypeError(".google.iam.v1.AuditConfig.auditLogConfigs: object expected"); - message.auditLogConfigs[i] = $root.google.iam.v1.AuditLogConfig.fromObject(object.auditLogConfigs[i]); + message.auditLogConfigs[i] = $root.google.iam.v1.AuditLogConfig.fromObject(object.auditLogConfigs[i], long + 1); } } return message; @@ -112215,7 +116662,7 @@ this.exemptedMembers = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -112291,9 +116738,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditLogConfig.decode = function decode(reader, length, error) { + AuditLogConfig.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditLogConfig(); while (reader.pos < end) { var tag = reader.uint32(); @@ -112311,7 +116762,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -112342,9 +116793,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditLogConfig.verify = function verify(message) { + AuditLogConfig.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.logType != null && message.hasOwnProperty("logType")) switch (message.logType) { default: @@ -112373,9 +116828,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditLogConfig} AuditLogConfig */ - AuditLogConfig.fromObject = function fromObject(object) { + AuditLogConfig.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditLogConfig) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditLogConfig(); switch (object.logType) { default: @@ -112508,7 +116967,7 @@ this.auditConfigDeltas = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -112585,9 +117044,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - PolicyDelta.decode = function decode(reader, length, error) { + PolicyDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.PolicyDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -112597,17 +117060,17 @@ case 1: { if (!(message.bindingDeltas && message.bindingDeltas.length)) message.bindingDeltas = []; - message.bindingDeltas.push($root.google.iam.v1.BindingDelta.decode(reader, reader.uint32())); + message.bindingDeltas.push($root.google.iam.v1.BindingDelta.decode(reader, reader.uint32(), undefined, long + 1)); break; } case 2: { if (!(message.auditConfigDeltas && message.auditConfigDeltas.length)) message.auditConfigDeltas = []; - message.auditConfigDeltas.push($root.google.iam.v1.AuditConfigDelta.decode(reader, reader.uint32())); + message.auditConfigDeltas.push($root.google.iam.v1.AuditConfigDelta.decode(reader, reader.uint32(), undefined, long + 1)); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -112638,14 +117101,18 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - PolicyDelta.verify = function verify(message) { + PolicyDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.bindingDeltas != null && message.hasOwnProperty("bindingDeltas")) { if (!Array.isArray(message.bindingDeltas)) return "bindingDeltas: array expected"; for (var i = 0; i < message.bindingDeltas.length; ++i) { - var error = $root.google.iam.v1.BindingDelta.verify(message.bindingDeltas[i]); + var error = $root.google.iam.v1.BindingDelta.verify(message.bindingDeltas[i], long + 1); if (error) return "bindingDeltas." + error; } @@ -112654,7 +117121,7 @@ if (!Array.isArray(message.auditConfigDeltas)) return "auditConfigDeltas: array expected"; for (var i = 0; i < message.auditConfigDeltas.length; ++i) { - var error = $root.google.iam.v1.AuditConfigDelta.verify(message.auditConfigDeltas[i]); + var error = $root.google.iam.v1.AuditConfigDelta.verify(message.auditConfigDeltas[i], long + 1); if (error) return "auditConfigDeltas." + error; } @@ -112670,9 +117137,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.PolicyDelta} PolicyDelta */ - PolicyDelta.fromObject = function fromObject(object) { + PolicyDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.PolicyDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.PolicyDelta(); if (object.bindingDeltas) { if (!Array.isArray(object.bindingDeltas)) @@ -112681,7 +117152,7 @@ for (var i = 0; i < object.bindingDeltas.length; ++i) { if (typeof object.bindingDeltas[i] !== "object") throw TypeError(".google.iam.v1.PolicyDelta.bindingDeltas: object expected"); - message.bindingDeltas[i] = $root.google.iam.v1.BindingDelta.fromObject(object.bindingDeltas[i]); + message.bindingDeltas[i] = $root.google.iam.v1.BindingDelta.fromObject(object.bindingDeltas[i], long + 1); } } if (object.auditConfigDeltas) { @@ -112691,7 +117162,7 @@ for (var i = 0; i < object.auditConfigDeltas.length; ++i) { if (typeof object.auditConfigDeltas[i] !== "object") throw TypeError(".google.iam.v1.PolicyDelta.auditConfigDeltas: object expected"); - message.auditConfigDeltas[i] = $root.google.iam.v1.AuditConfigDelta.fromObject(object.auditConfigDeltas[i]); + message.auditConfigDeltas[i] = $root.google.iam.v1.AuditConfigDelta.fromObject(object.auditConfigDeltas[i], long + 1); } } return message; @@ -112779,7 +117250,7 @@ function BindingDelta(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -112874,9 +117345,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - BindingDelta.decode = function decode(reader, length, error) { + BindingDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.BindingDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -112896,11 +117371,11 @@ break; } case 4: { - message.condition = $root.google.type.Expr.decode(reader, reader.uint32()); + message.condition = $root.google.type.Expr.decode(reader, reader.uint32(), undefined, long + 1); break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -112931,9 +117406,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - BindingDelta.verify = function verify(message) { + BindingDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) switch (message.action) { default: @@ -112950,7 +117429,7 @@ if (!$util.isString(message.member)) return "member: string expected"; if (message.condition != null && message.hasOwnProperty("condition")) { - var error = $root.google.type.Expr.verify(message.condition); + var error = $root.google.type.Expr.verify(message.condition, long + 1); if (error) return "condition." + error; } @@ -112965,9 +117444,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.BindingDelta} BindingDelta */ - BindingDelta.fromObject = function fromObject(object) { + BindingDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.BindingDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.BindingDelta(); switch (object.action) { default: @@ -112996,7 +117479,7 @@ if (object.condition != null) { if (typeof object.condition !== "object") throw TypeError(".google.iam.v1.BindingDelta.condition: object expected"); - message.condition = $root.google.type.Expr.fromObject(object.condition); + message.condition = $root.google.type.Expr.fromObject(object.condition, long + 1); } return message; }; @@ -113099,7 +117582,7 @@ function AuditConfigDelta(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -113194,9 +117677,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - AuditConfigDelta.decode = function decode(reader, length, error) { + AuditConfigDelta.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.iam.v1.AuditConfigDelta(); while (reader.pos < end) { var tag = reader.uint32(); @@ -113220,7 +117707,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -113251,9 +117738,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - AuditConfigDelta.verify = function verify(message) { + AuditConfigDelta.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.action != null && message.hasOwnProperty("action")) switch (message.action) { default: @@ -113283,9 +117774,13 @@ * @param {Object.} object Plain object * @returns {google.iam.v1.AuditConfigDelta} AuditConfigDelta */ - AuditConfigDelta.fromObject = function fromObject(object) { + AuditConfigDelta.fromObject = function fromObject(object, long) { if (object instanceof $root.google.iam.v1.AuditConfigDelta) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.iam.v1.AuditConfigDelta(); switch (object.action) { default: @@ -113429,7 +117924,7 @@ function Expr(properties) { if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) - if (properties[keys[i]] != null) + if (properties[keys[i]] != null && keys[i] !== "__proto__") this[keys[i]] = properties[keys[i]]; } @@ -113524,9 +118019,13 @@ * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ - Expr.decode = function decode(reader, length, error) { + Expr.decode = function decode(reader, length, error, long) { if (!(reader instanceof $Reader)) reader = $Reader.create(reader); + if (long === undefined) + long = 0; + if (long > $Reader.recursionLimit) + throw Error("maximum nesting depth exceeded"); var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.Expr(); while (reader.pos < end) { var tag = reader.uint32(); @@ -113550,7 +118049,7 @@ break; } default: - reader.skipType(tag & 7); + reader.skipType(tag & 7, long); break; } } @@ -113581,9 +118080,13 @@ * @param {Object.} message Plain object to verify * @returns {string|null} `null` if valid, otherwise the reason why it is not */ - Expr.verify = function verify(message) { + Expr.verify = function verify(message, long) { if (typeof message !== "object" || message === null) return "object expected"; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + return "maximum nesting depth exceeded"; if (message.expression != null && message.hasOwnProperty("expression")) if (!$util.isString(message.expression)) return "expression: string expected"; @@ -113607,9 +118110,13 @@ * @param {Object.} object Plain object * @returns {google.type.Expr} Expr */ - Expr.fromObject = function fromObject(object) { + Expr.fromObject = function fromObject(object, long) { if (object instanceof $root.google.type.Expr) return object; + if (long === undefined) + long = 0; + if (long > $util.recursionLimit) + throw Error("maximum nesting depth exceeded"); var message = new $root.google.type.Expr(); if (object.expression != null) message.expression = String(object.expression);