protobufjs 8.3.0 → 8.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -31
- package/dist/light/protobuf.js +105 -71
- package/dist/light/protobuf.js.map +1 -1
- package/dist/light/protobuf.min.js +3 -3
- package/dist/light/protobuf.min.js.map +1 -1
- package/dist/minimal/protobuf.js +31 -11
- package/dist/minimal/protobuf.js.map +1 -1
- package/dist/minimal/protobuf.min.js +3 -3
- package/dist/minimal/protobuf.min.js.map +1 -1
- package/dist/protobuf.js +106 -72
- package/dist/protobuf.js.map +1 -1
- package/dist/protobuf.min.js +3 -3
- package/dist/protobuf.min.js.map +1 -1
- package/index.d.ts +21 -9
- package/package.json +2 -2
- package/src/converter.js +14 -9
- package/src/decoder.js +3 -1
- package/src/encoder.js +8 -5
- package/src/enum.js +2 -2
- package/src/field.js +2 -5
- package/src/index-light.js +1 -1
- package/src/message.js +1 -1
- package/src/object.js +6 -6
- package/src/parse.js +1 -1
- package/src/root.js +14 -8
- package/src/type.js +9 -9
- package/src/typescript.js +6 -0
- package/src/util/eventemitter.js +4 -2
- package/src/util/minimal.js +24 -6
- package/src/util/patterns.js +0 -1
- package/src/util/pool.js +1 -1
- package/src/util.js +2 -3
- package/src/wrappers.js +11 -8
package/src/wrappers.js
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
var wrappers = exports;
|
|
9
9
|
|
|
10
|
-
var Message = require("./message")
|
|
10
|
+
var Message = require("./message"),
|
|
11
|
+
util = require("./util/minimal");
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* From object converter part of an {@link IWrapper}.
|
|
@@ -54,10 +55,9 @@ wrappers[".google.protobuf.Any"] = {
|
|
|
54
55
|
if (type_url.indexOf("/") === -1) {
|
|
55
56
|
type_url = "/" + type_url;
|
|
56
57
|
}
|
|
57
|
-
var nextDepth = depth === undefined ? 1 : depth + 1;
|
|
58
58
|
return this.create({
|
|
59
59
|
type_url: type_url,
|
|
60
|
-
value: type.encode(type.fromObject(object,
|
|
60
|
+
value: type.encode(type.fromObject(object, depth === undefined ? 1 : depth + 1)).finish()
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -65,13 +65,16 @@ wrappers[".google.protobuf.Any"] = {
|
|
|
65
65
|
return this.fromObject(object, depth);
|
|
66
66
|
},
|
|
67
67
|
|
|
68
|
-
toObject: function(message, options) {
|
|
68
|
+
toObject: function(message, options, depth) {
|
|
69
|
+
if (depth === undefined)
|
|
70
|
+
depth = 0;
|
|
71
|
+
if (depth > util.recursionLimit)
|
|
72
|
+
throw Error("max depth exceeded");
|
|
69
73
|
|
|
70
74
|
// Default prefix
|
|
71
75
|
var googleApi = "type.googleapis.com/";
|
|
72
76
|
var prefix = "";
|
|
73
77
|
var name = "";
|
|
74
|
-
|
|
75
78
|
// decode value if requested and unmapped
|
|
76
79
|
if (options && options.json && message.type_url && message.value) {
|
|
77
80
|
// Only use fully qualified type name after the last '/'
|
|
@@ -81,12 +84,12 @@ wrappers[".google.protobuf.Any"] = {
|
|
|
81
84
|
var type = this.lookup(name);
|
|
82
85
|
/* istanbul ignore else */
|
|
83
86
|
if (type)
|
|
84
|
-
message = type.decode(message.value);
|
|
87
|
+
message = type.decode(message.value, undefined, undefined, depth + 1);
|
|
85
88
|
}
|
|
86
89
|
|
|
87
90
|
// wrap value if unmapped
|
|
88
91
|
if (!(message instanceof this.ctor) && message instanceof Message) {
|
|
89
|
-
var object = message.$type.toObject(message, options);
|
|
92
|
+
var object = message.$type.toObject(message, options, depth + 1);
|
|
90
93
|
var messageName = message.$type.fullName[0] === "." ?
|
|
91
94
|
message.$type.fullName.slice(1) : message.$type.fullName;
|
|
92
95
|
// Default to type.googleapis.com prefix if no prefix is used
|
|
@@ -98,6 +101,6 @@ wrappers[".google.protobuf.Any"] = {
|
|
|
98
101
|
return object;
|
|
99
102
|
}
|
|
100
103
|
|
|
101
|
-
return this.toObject(message, options);
|
|
104
|
+
return this.toObject(message, options, depth);
|
|
102
105
|
}
|
|
103
106
|
};
|