protobufjs 8.6.0 → 8.6.2

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.
Files changed (108) hide show
  1. package/LICENSE +39 -39
  2. package/README.md +441 -441
  3. package/dist/light/protobuf.js +8473 -8516
  4. package/dist/light/protobuf.js.map +1 -1
  5. package/dist/light/protobuf.min.js +3 -3
  6. package/dist/light/protobuf.min.js.map +1 -1
  7. package/dist/minimal/protobuf.js +3018 -3061
  8. package/dist/minimal/protobuf.js.map +1 -1
  9. package/dist/minimal/protobuf.min.js +3 -3
  10. package/dist/minimal/protobuf.min.js.map +1 -1
  11. package/dist/protobuf.js +10376 -10419
  12. package/dist/protobuf.js.map +1 -1
  13. package/dist/protobuf.min.js +3 -3
  14. package/dist/protobuf.min.js.map +1 -1
  15. package/ext/README.md +70 -70
  16. package/ext/debug/README.md +4 -4
  17. package/ext/debug/index.js +71 -71
  18. package/ext/descriptor/README.md +5 -5
  19. package/ext/descriptor/index.d.ts +2 -2
  20. package/ext/descriptor/index.js +2 -2
  21. package/ext/descriptor.d.ts +87 -86
  22. package/ext/descriptor.generated.d.ts +14 -6
  23. package/ext/descriptor.js +1354 -1303
  24. package/ext/protojson.LICENSE +201 -201
  25. package/ext/protojson.d.ts +20 -20
  26. package/ext/protojson.js +925 -903
  27. package/ext/textformat.d.ts +19 -19
  28. package/ext/textformat.js +1256 -1256
  29. package/google/LICENSE +27 -27
  30. package/google/README.md +1 -1
  31. package/google/api/annotations.json +82 -82
  32. package/google/api/annotations.proto +10 -10
  33. package/google/api/http.json +85 -85
  34. package/google/api/http.proto +30 -30
  35. package/google/protobuf/api.json +117 -117
  36. package/google/protobuf/api.proto +33 -33
  37. package/google/protobuf/compiler/plugin.json +126 -126
  38. package/google/protobuf/compiler/plugin.proto +47 -47
  39. package/google/protobuf/descriptor.json +1381 -1381
  40. package/google/protobuf/descriptor.proto +534 -534
  41. package/google/protobuf/source_context.json +19 -19
  42. package/google/protobuf/source_context.proto +7 -7
  43. package/google/protobuf/type.json +201 -201
  44. package/google/protobuf/type.proto +89 -89
  45. package/index.d.ts +10 -18
  46. package/index.js +4 -4
  47. package/light.d.ts +2 -2
  48. package/light.js +3 -3
  49. package/minimal.d.ts +2 -2
  50. package/minimal.js +4 -4
  51. package/package.json +93 -93
  52. package/src/common.js +399 -399
  53. package/src/converter.js +344 -344
  54. package/src/decoder.js +208 -208
  55. package/src/encoder.js +111 -111
  56. package/src/enum.js +231 -231
  57. package/src/field.js +497 -497
  58. package/src/index-light.js +104 -104
  59. package/src/index-minimal.js +36 -36
  60. package/src/index.js +12 -12
  61. package/src/mapfield.js +136 -136
  62. package/src/message.js +137 -137
  63. package/src/method.js +175 -175
  64. package/src/namespace.js +565 -565
  65. package/src/object.js +382 -382
  66. package/src/oneof.js +225 -225
  67. package/src/parse.js +1068 -1068
  68. package/src/reader.js +543 -543
  69. package/src/reader_buffer.js +72 -72
  70. package/src/root.js +416 -416
  71. package/src/roots.js +18 -18
  72. package/src/rpc/service.js +148 -148
  73. package/src/rpc.js +36 -36
  74. package/src/service.js +198 -198
  75. package/src/tokenize.js +421 -421
  76. package/src/type.js +655 -655
  77. package/src/types.js +196 -196
  78. package/src/typescript.js +25 -25
  79. package/src/util/aspromise.d.ts +13 -13
  80. package/src/util/aspromise.js +52 -52
  81. package/src/util/base64.d.ts +32 -32
  82. package/src/util/base64.js +146 -146
  83. package/src/util/codegen.d.ts +31 -31
  84. package/src/util/codegen.js +113 -113
  85. package/src/util/eventemitter.d.ts +45 -45
  86. package/src/util/eventemitter.js +86 -86
  87. package/src/util/fetch.d.ts +56 -56
  88. package/src/util/fetch.js +112 -112
  89. package/src/util/float.d.ts +83 -83
  90. package/src/util/float.js +335 -335
  91. package/src/util/fs.js +11 -11
  92. package/src/util/longbits.js +200 -200
  93. package/src/util/minimal.js +515 -518
  94. package/src/util/path.d.ts +22 -22
  95. package/src/util/path.js +72 -72
  96. package/src/util/patterns.js +7 -7
  97. package/src/util/pool.d.ts +32 -32
  98. package/src/util/pool.js +48 -48
  99. package/src/util/utf8.d.ts +24 -24
  100. package/src/util/utf8.js +130 -130
  101. package/src/util.js +242 -242
  102. package/src/verifier.js +180 -180
  103. package/src/wrappers.js +106 -106
  104. package/src/writer.js +495 -495
  105. package/src/writer_buffer.js +102 -102
  106. package/tsconfig.json +6 -6
  107. package/src/util/inquire.d.ts +0 -10
  108. package/src/util/inquire.js +0 -38
package/src/service.js CHANGED
@@ -1,198 +1,198 @@
1
- "use strict";
2
- module.exports = Service;
3
-
4
- // extends Namespace
5
- var Namespace = require("./namespace");
6
- ((Service.prototype = Object.create(Namespace.prototype)).constructor = Service).className = "Service";
7
-
8
- var Method = require("./method"),
9
- util = require("./util"),
10
- rpc = require("./rpc");
11
-
12
- /**
13
- * Constructs a new service instance.
14
- * @classdesc Reflected service.
15
- * @extends NamespaceBase
16
- * @constructor
17
- * @param {string} name Service name
18
- * @param {Object.<string,*>} [options] Service options
19
- * @throws {TypeError} If arguments are invalid
20
- */
21
- function Service(name, options) {
22
- Namespace.call(this, name, options);
23
-
24
- /**
25
- * Service methods.
26
- * @type {Object.<string,Method>}
27
- */
28
- this.methods = {}; // toJSON, marker
29
-
30
- /**
31
- * Cached methods as an array.
32
- * @type {Method[]|null}
33
- * @private
34
- */
35
- this._methodsArray = null;
36
- }
37
-
38
- /**
39
- * Service descriptor.
40
- * @interface IService
41
- * @extends INamespace
42
- * @property {string} [edition] Edition
43
- * @property {Object.<string,IMethod>} methods Method descriptors
44
- * @property {string|null} [comment] Service comment
45
- */
46
-
47
- /**
48
- * Constructs a service from a service descriptor.
49
- * @param {string} name Service name
50
- * @param {IService} json Service descriptor
51
- * @param {number} [depth] Current nesting depth, defaults to `0`
52
- * @returns {Service} Created service
53
- * @throws {TypeError} If arguments are invalid
54
- */
55
- Service.fromJSON = function fromJSON(name, json, depth) {
56
- if (depth === undefined)
57
- depth = 0;
58
- if (depth > util.recursionLimit)
59
- throw Error("max depth exceeded");
60
- var service = new Service(name, json.options);
61
- /* istanbul ignore else */
62
- if (json.methods)
63
- for (var names = Object.keys(json.methods), i = 0; i < names.length; ++i)
64
- service.add(Method.fromJSON(names[i], json.methods[names[i]]));
65
- if (json.nested)
66
- service.addJSON(json.nested, depth);
67
- if (json.edition)
68
- service._edition = json.edition;
69
- service.comment = json.comment;
70
- service._defaultEdition = "proto3"; // For backwards-compatibility.
71
- return service;
72
- };
73
-
74
- /**
75
- * Converts this service to a service descriptor.
76
- * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
77
- * @returns {IService} Service descriptor
78
- */
79
- Service.prototype.toJSON = function toJSON(toJSONOptions) {
80
- var inherited = Namespace.prototype.toJSON.call(this, toJSONOptions);
81
- var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
82
- return util.toObject([
83
- "edition" , this._editionToJSON(),
84
- "options" , inherited && inherited.options || undefined,
85
- "methods" , Namespace.arrayToJSON(this.methodsArray, toJSONOptions) || /* istanbul ignore next */ {},
86
- "nested" , inherited && inherited.nested || undefined,
87
- "comment" , keepComments ? this.comment : undefined
88
- ]);
89
- };
90
-
91
- /**
92
- * Methods of this service as an array for iteration.
93
- * @name Service#methodsArray
94
- * @type {Method[]}
95
- * @readonly
96
- */
97
- Object.defineProperty(Service.prototype, "methodsArray", {
98
- get: function() {
99
- return this._methodsArray || (this._methodsArray = util.toArray(this.methods));
100
- }
101
- });
102
-
103
- function clearCache(service) {
104
- service._methodsArray = null;
105
- return service;
106
- }
107
-
108
- /**
109
- * @override
110
- */
111
- Service.prototype.get = function get(name) {
112
- return Object.prototype.hasOwnProperty.call(this.methods, name)
113
- ? this.methods[name]
114
- : Namespace.prototype.get.call(this, name);
115
- };
116
-
117
- /**
118
- * @override
119
- */
120
- Service.prototype.resolveAll = function resolveAll() {
121
- if (!this._needsRecursiveResolve) return this;
122
-
123
- Namespace.prototype.resolve.call(this);
124
- var methods = this.methodsArray;
125
- for (var i = 0; i < methods.length; ++i)
126
- methods[i].resolve();
127
- return this;
128
- };
129
-
130
- /**
131
- * @override
132
- */
133
- Service.prototype._resolveFeaturesRecursive = function _resolveFeaturesRecursive(edition) {
134
- if (!this._needsRecursiveFeatureResolution) return this;
135
-
136
- edition = this._edition || edition;
137
-
138
- Namespace.prototype._resolveFeaturesRecursive.call(this, edition);
139
- this.methodsArray.forEach(method => {
140
- method._resolveFeaturesRecursive(edition);
141
- });
142
- return this;
143
- };
144
-
145
- /**
146
- * @override
147
- */
148
- Service.prototype.add = function add(object) {
149
- /* istanbul ignore if */
150
- if (this.get(object.name))
151
- throw Error("duplicate name '" + object.name + "' in " + this);
152
-
153
- if (object instanceof Method) {
154
- if (object.name === "__proto__")
155
- return this;
156
- this.methods[object.name] = object;
157
- object.parent = this;
158
- return clearCache(this);
159
- }
160
- return Namespace.prototype.add.call(this, object);
161
- };
162
-
163
- /**
164
- * @override
165
- */
166
- Service.prototype.remove = function remove(object) {
167
- if (object instanceof Method) {
168
-
169
- /* istanbul ignore if */
170
- if (this.methods[object.name] !== object)
171
- throw Error(object + " is not a member of " + this);
172
-
173
- delete this.methods[object.name];
174
- object.parent = null;
175
- return clearCache(this);
176
- }
177
- return Namespace.prototype.remove.call(this, object);
178
- };
179
-
180
- /**
181
- * Creates a runtime service using the specified rpc implementation.
182
- * @param {RPCImpl} rpcImpl RPC implementation
183
- * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
184
- * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
185
- * @returns {rpc.Service} RPC service. Useful where requests and/or responses are streamed.
186
- */
187
- Service.prototype.create = function create(rpcImpl, requestDelimited, responseDelimited) {
188
- var rpcService = new rpc.Service(rpcImpl, requestDelimited, responseDelimited);
189
- for (var i = 0, method; i < /* initializes */ this.methodsArray.length; ++i) {
190
- var methodName = util.lcFirst((method = this._methodsArray[i]).resolve().name).replace(/[^$\w_]/g, "");
191
- rpcService[methodName] = (function(method, requestType, responseType) {
192
- return function rpcMethod(request, callback) {
193
- return rpc.Service.prototype.rpcCall.call(this, method, requestType, responseType, request, callback);
194
- };
195
- })(method, method.resolvedRequestType.ctor, method.resolvedResponseType.ctor);
196
- }
197
- return rpcService;
198
- };
1
+ "use strict";
2
+ module.exports = Service;
3
+
4
+ // extends Namespace
5
+ var Namespace = require("./namespace");
6
+ ((Service.prototype = Object.create(Namespace.prototype)).constructor = Service).className = "Service";
7
+
8
+ var Method = require("./method"),
9
+ util = require("./util"),
10
+ rpc = require("./rpc");
11
+
12
+ /**
13
+ * Constructs a new service instance.
14
+ * @classdesc Reflected service.
15
+ * @extends NamespaceBase
16
+ * @constructor
17
+ * @param {string} name Service name
18
+ * @param {Object.<string,*>} [options] Service options
19
+ * @throws {TypeError} If arguments are invalid
20
+ */
21
+ function Service(name, options) {
22
+ Namespace.call(this, name, options);
23
+
24
+ /**
25
+ * Service methods.
26
+ * @type {Object.<string,Method>}
27
+ */
28
+ this.methods = {}; // toJSON, marker
29
+
30
+ /**
31
+ * Cached methods as an array.
32
+ * @type {Method[]|null}
33
+ * @private
34
+ */
35
+ this._methodsArray = null;
36
+ }
37
+
38
+ /**
39
+ * Service descriptor.
40
+ * @interface IService
41
+ * @extends INamespace
42
+ * @property {string} [edition] Edition
43
+ * @property {Object.<string,IMethod>} methods Method descriptors
44
+ * @property {string|null} [comment] Service comment
45
+ */
46
+
47
+ /**
48
+ * Constructs a service from a service descriptor.
49
+ * @param {string} name Service name
50
+ * @param {IService} json Service descriptor
51
+ * @param {number} [depth] Current nesting depth, defaults to `0`
52
+ * @returns {Service} Created service
53
+ * @throws {TypeError} If arguments are invalid
54
+ */
55
+ Service.fromJSON = function fromJSON(name, json, depth) {
56
+ if (depth === undefined)
57
+ depth = 0;
58
+ if (depth > util.recursionLimit)
59
+ throw Error("max depth exceeded");
60
+ var service = new Service(name, json.options);
61
+ /* istanbul ignore else */
62
+ if (json.methods)
63
+ for (var names = Object.keys(json.methods), i = 0; i < names.length; ++i)
64
+ service.add(Method.fromJSON(names[i], json.methods[names[i]]));
65
+ if (json.nested)
66
+ service.addJSON(json.nested, depth);
67
+ if (json.edition)
68
+ service._edition = json.edition;
69
+ service.comment = json.comment;
70
+ service._defaultEdition = "proto3"; // For backwards-compatibility.
71
+ return service;
72
+ };
73
+
74
+ /**
75
+ * Converts this service to a service descriptor.
76
+ * @param {IToJSONOptions} [toJSONOptions] JSON conversion options
77
+ * @returns {IService} Service descriptor
78
+ */
79
+ Service.prototype.toJSON = function toJSON(toJSONOptions) {
80
+ var inherited = Namespace.prototype.toJSON.call(this, toJSONOptions);
81
+ var keepComments = toJSONOptions ? Boolean(toJSONOptions.keepComments) : false;
82
+ return util.toObject([
83
+ "edition" , this._editionToJSON(),
84
+ "options" , inherited && inherited.options || undefined,
85
+ "methods" , Namespace.arrayToJSON(this.methodsArray, toJSONOptions) || /* istanbul ignore next */ {},
86
+ "nested" , inherited && inherited.nested || undefined,
87
+ "comment" , keepComments ? this.comment : undefined
88
+ ]);
89
+ };
90
+
91
+ /**
92
+ * Methods of this service as an array for iteration.
93
+ * @name Service#methodsArray
94
+ * @type {Method[]}
95
+ * @readonly
96
+ */
97
+ Object.defineProperty(Service.prototype, "methodsArray", {
98
+ get: function() {
99
+ return this._methodsArray || (this._methodsArray = util.toArray(this.methods));
100
+ }
101
+ });
102
+
103
+ function clearCache(service) {
104
+ service._methodsArray = null;
105
+ return service;
106
+ }
107
+
108
+ /**
109
+ * @override
110
+ */
111
+ Service.prototype.get = function get(name) {
112
+ return Object.prototype.hasOwnProperty.call(this.methods, name)
113
+ ? this.methods[name]
114
+ : Namespace.prototype.get.call(this, name);
115
+ };
116
+
117
+ /**
118
+ * @override
119
+ */
120
+ Service.prototype.resolveAll = function resolveAll() {
121
+ if (!this._needsRecursiveResolve) return this;
122
+
123
+ Namespace.prototype.resolve.call(this);
124
+ var methods = this.methodsArray;
125
+ for (var i = 0; i < methods.length; ++i)
126
+ methods[i].resolve();
127
+ return this;
128
+ };
129
+
130
+ /**
131
+ * @override
132
+ */
133
+ Service.prototype._resolveFeaturesRecursive = function _resolveFeaturesRecursive(edition) {
134
+ if (!this._needsRecursiveFeatureResolution) return this;
135
+
136
+ edition = this._edition || edition;
137
+
138
+ Namespace.prototype._resolveFeaturesRecursive.call(this, edition);
139
+ this.methodsArray.forEach(method => {
140
+ method._resolveFeaturesRecursive(edition);
141
+ });
142
+ return this;
143
+ };
144
+
145
+ /**
146
+ * @override
147
+ */
148
+ Service.prototype.add = function add(object) {
149
+ /* istanbul ignore if */
150
+ if (this.get(object.name))
151
+ throw Error("duplicate name '" + object.name + "' in " + this);
152
+
153
+ if (object instanceof Method) {
154
+ if (object.name === "__proto__")
155
+ return this;
156
+ this.methods[object.name] = object;
157
+ object.parent = this;
158
+ return clearCache(this);
159
+ }
160
+ return Namespace.prototype.add.call(this, object);
161
+ };
162
+
163
+ /**
164
+ * @override
165
+ */
166
+ Service.prototype.remove = function remove(object) {
167
+ if (object instanceof Method) {
168
+
169
+ /* istanbul ignore if */
170
+ if (this.methods[object.name] !== object)
171
+ throw Error(object + " is not a member of " + this);
172
+
173
+ delete this.methods[object.name];
174
+ object.parent = null;
175
+ return clearCache(this);
176
+ }
177
+ return Namespace.prototype.remove.call(this, object);
178
+ };
179
+
180
+ /**
181
+ * Creates a runtime service using the specified rpc implementation.
182
+ * @param {RPCImpl} rpcImpl RPC implementation
183
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
184
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
185
+ * @returns {rpc.Service} RPC service. Useful where requests and/or responses are streamed.
186
+ */
187
+ Service.prototype.create = function create(rpcImpl, requestDelimited, responseDelimited) {
188
+ var rpcService = new rpc.Service(rpcImpl, requestDelimited, responseDelimited);
189
+ for (var i = 0, method; i < /* initializes */ this.methodsArray.length; ++i) {
190
+ var methodName = util.lcFirst((method = this._methodsArray[i]).resolve().name).replace(/[^$\w_]/g, "");
191
+ rpcService[methodName] = (function(method, requestType, responseType) {
192
+ return function rpcMethod(request, callback) {
193
+ return rpc.Service.prototype.rpcCall.call(this, method, requestType, responseType, request, callback);
194
+ };
195
+ })(method, method.resolvedRequestType.ctor, method.resolvedResponseType.ctor);
196
+ }
197
+ return rpcService;
198
+ };