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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protobufjs",
3
- "version": "7.6.1",
3
+ "version": "7.6.3",
4
4
  "versionScheme": "~",
5
5
  "description": "Protocol Buffers for JavaScript (& TypeScript).",
6
6
  "author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
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(typeof d%s!==\"object\")", prop)
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(typeof d%s!==\"object\")", prop)
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&&m.hasOwnProperty(%j)){", prop, field.name); // !== undefined && !== 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
- ("if(!m.hasOwnProperty(%j))", rfield.name)
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
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- module.exports = {};
2
+ module.exports = Object.create(null);
3
3
 
4
4
  /**
5
5
  * Named roots.
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] = util.codegen(["r","c"], reservedRe.test(methodName) ? methodName + "_" : methodName)("return this.rpcCall(m,q,s,r,c)")({
189
- m: method,
190
- q: method.resolvedRequestType.ctor,
191
- s: method.resolvedResponseType.ctor
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)
@@ -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 && obj.hasOwnProperty(prop)) // eslint-disable-line eqeqeq, no-prototype-builtins
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&&m.hasOwnProperty(%j)){", ref, field.name); // !== undefined && !== 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