protobufjs 7.6.1 → 7.6.3
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/dist/light/protobuf.js +23 -20
- 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 +4 -4
- 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 +23 -20
- package/dist/protobuf.js.map +1 -1
- package/dist/protobuf.min.js +3 -3
- package/dist/protobuf.min.js.map +1 -1
- package/package.json +1 -1
- package/src/converter.js +9 -6
- package/src/decoder.js +1 -1
- package/src/roots.js +1 -1
- package/src/service.js +5 -7
- package/src/type.js +3 -1
- package/src/util/minimal.js +1 -1
- package/src/verifier.js +1 -1
package/package.json
CHANGED
package/src/converter.js
CHANGED
|
@@ -41,7 +41,7 @@ function genValuePartial_fromObject(gen, field, fieldIndex, prop) {
|
|
|
41
41
|
} gen
|
|
42
42
|
("}");
|
|
43
43
|
} else gen
|
|
44
|
-
("if(
|
|
44
|
+
("if(!util.isObject(d%s))", prop)
|
|
45
45
|
("throw TypeError(%j)", field.fullName + ": object expected")
|
|
46
46
|
("m%s=types[%i].fromObject(d%s,n+1)", prop, fieldIndex, prop);
|
|
47
47
|
} else {
|
|
@@ -107,12 +107,15 @@ converter.fromObject = function fromObject(mtype) {
|
|
|
107
107
|
var fields = mtype.fieldsArray;
|
|
108
108
|
var gen = util.codegen(["d", "n"], mtype.name + "$fromObject")
|
|
109
109
|
("if(d instanceof this.ctor)")
|
|
110
|
-
("return d")
|
|
110
|
+
("return d");
|
|
111
|
+
if (!fields.length) return gen
|
|
112
|
+
("return new this.ctor");
|
|
113
|
+
gen
|
|
114
|
+
("if(!util.isObject(d))")
|
|
115
|
+
("throw TypeError(%j)", mtype.fullName + ": object expected")
|
|
111
116
|
("if(n===undefined)n=0")
|
|
112
117
|
("if(n>util.recursionLimit)")
|
|
113
118
|
("throw Error(\"maximum nesting depth exceeded\")");
|
|
114
|
-
if (!fields.length) return gen
|
|
115
|
-
("return new this.ctor");
|
|
116
119
|
gen
|
|
117
120
|
("var m=new this.ctor");
|
|
118
121
|
for (var i = 0; i < fields.length; ++i) {
|
|
@@ -122,7 +125,7 @@ converter.fromObject = function fromObject(mtype) {
|
|
|
122
125
|
// Map fields
|
|
123
126
|
if (field.map) { gen
|
|
124
127
|
("if(d%s){", prop)
|
|
125
|
-
("if(
|
|
128
|
+
("if(!util.isObject(d%s))", prop)
|
|
126
129
|
("throw TypeError(%j)", field.fullName + ": object expected")
|
|
127
130
|
("m%s={}", prop)
|
|
128
131
|
("for(var ks=Object.keys(d%s),i=0;i<ks.length;++i){", prop);
|
|
@@ -300,7 +303,7 @@ converter.toObject = function toObject(mtype) {
|
|
|
300
303
|
genValuePartial_toObject(gen, field, /* sorted */ index, prop + "[j]")
|
|
301
304
|
("}");
|
|
302
305
|
} else { gen
|
|
303
|
-
("if(m%s!=null&&
|
|
306
|
+
("if(m%s!=null&&Object.hasOwnProperty.call(m,%j)){", prop, field.name); // !== undefined && !== null
|
|
304
307
|
genValuePartial_toObject(gen, field, /* sorted */ index, prop);
|
|
305
308
|
if (field.partOf) gen
|
|
306
309
|
("if(o.oneofs)")
|
package/src/decoder.js
CHANGED
|
@@ -125,7 +125,7 @@ function decoder(mtype) {
|
|
|
125
125
|
for (i = 0; i < mtype._fieldsArray.length; ++i) {
|
|
126
126
|
var rfield = mtype._fieldsArray[i];
|
|
127
127
|
if (rfield.required) gen
|
|
128
|
-
|
|
128
|
+
("if(!Object.hasOwnProperty.call(m,%j))", rfield.name)
|
|
129
129
|
("throw util.ProtocolError(%j,{instance:m})", missing(rfield));
|
|
130
130
|
}
|
|
131
131
|
|
package/src/roots.js
CHANGED
package/src/service.js
CHANGED
|
@@ -9,8 +9,6 @@ var Method = require("./method"),
|
|
|
9
9
|
util = require("./util"),
|
|
10
10
|
rpc = require("./rpc");
|
|
11
11
|
|
|
12
|
-
var reservedRe = util.patterns.reservedRe;
|
|
13
|
-
|
|
14
12
|
/**
|
|
15
13
|
* Constructs a new service instance.
|
|
16
14
|
* @classdesc Reflected service.
|
|
@@ -185,11 +183,11 @@ Service.prototype.create = function create(rpcImpl, requestDelimited, responseDe
|
|
|
185
183
|
var rpcService = new rpc.Service(rpcImpl, requestDelimited, responseDelimited);
|
|
186
184
|
for (var i = 0, method; i < /* initializes */ this.methodsArray.length; ++i) {
|
|
187
185
|
var methodName = util.lcFirst((method = this._methodsArray[i]).resolve().name).replace(/[^$\w_]/g, "");
|
|
188
|
-
rpcService[methodName] =
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
});
|
|
186
|
+
rpcService[methodName] = (function(method, requestType, responseType) {
|
|
187
|
+
return function rpcMethod(request, callback) {
|
|
188
|
+
return rpc.Service.prototype.rpcCall.call(this, method, requestType, responseType, request, callback);
|
|
189
|
+
};
|
|
190
|
+
})(method, method.resolvedRequestType.ctor, method.resolvedResponseType.ctor);
|
|
193
191
|
}
|
|
194
192
|
return rpcService;
|
|
195
193
|
};
|
package/src/type.js
CHANGED
|
@@ -373,7 +373,7 @@ Type.prototype.add = function add(object) {
|
|
|
373
373
|
throw Error("duplicate id " + object.id + " in " + this);
|
|
374
374
|
if (this.isReservedId(object.id))
|
|
375
375
|
throw Error("id " + object.id + " is reserved in " + this);
|
|
376
|
-
if (this.isReservedName(object.name))
|
|
376
|
+
if (this.isReservedName(object.name) || object.name.charAt(0) === "$")
|
|
377
377
|
throw Error("name '" + object.name + "' is reserved in " + this);
|
|
378
378
|
if (object.name === "__proto__")
|
|
379
379
|
return this;
|
|
@@ -386,6 +386,8 @@ Type.prototype.add = function add(object) {
|
|
|
386
386
|
return clearCache(this);
|
|
387
387
|
}
|
|
388
388
|
if (object instanceof OneOf) {
|
|
389
|
+
if (object.name.charAt(0) === "$")
|
|
390
|
+
throw Error("name '" + object.name + "' is reserved in " + this);
|
|
389
391
|
if (object.name === "__proto__")
|
|
390
392
|
return this;
|
|
391
393
|
if (!this.oneofs)
|
package/src/util/minimal.js
CHANGED
|
@@ -119,7 +119,7 @@ util.isset =
|
|
|
119
119
|
*/
|
|
120
120
|
util.isSet = function isSet(obj, prop) {
|
|
121
121
|
var value = obj[prop];
|
|
122
|
-
if (value != null &&
|
|
122
|
+
if (value != null && Object.hasOwnProperty.call(obj, prop)) // eslint-disable-line eqeqeq
|
|
123
123
|
return typeof value !== "object" || (Array.isArray(value) ? value.length : Object.keys(value).length) > 0;
|
|
124
124
|
return false;
|
|
125
125
|
};
|
package/src/verifier.js
CHANGED
|
@@ -138,7 +138,7 @@ function verifier(mtype) {
|
|
|
138
138
|
ref = "m" + util.safeProp(field.name);
|
|
139
139
|
|
|
140
140
|
if (field.optional) gen
|
|
141
|
-
("if(%s!=null&&
|
|
141
|
+
("if(%s!=null&&Object.hasOwnProperty.call(m,%j)){", ref, field.name); // !== undefined && !== null
|
|
142
142
|
|
|
143
143
|
// map fields
|
|
144
144
|
if (field.map) { gen
|